// Copyright (c) Six Labors.
// Licensed under the Six Labors Split License.
using System.Collections.Generic;
using System.Globalization;
namespace SixLabors.Fonts {
///
/// Represents a readonly collection of fonts.
///
public interface IReadOnlyFontCollection
{
///
/// Gets the collection of in this
/// using the invariant culture.
///
public IEnumerable Families { get; }
///
/// Gets the specified font family matching the invariant culture and font family name.
///
/// The font family name.
/// The first matching the given name.
/// is
/// The collection contains no matches.
public FontFamily Get(string name);
///
/// Gets the specified font family matching the invariant culture and font family name.
///
/// The font family name.
///
/// When this method returns, contains the family associated with the specified name,
/// if the name is found; otherwise, the default value for the type of the family parameter.
/// This parameter is passed uninitialized.
///
///
/// if the contains a family
/// with the specified name; otherwise, .
///
/// is
public bool TryGet(string name, out FontFamily family);
///
/// Gets the collection of in this
/// using the given culture.
///
/// The culture of the families to return.
/// The .
public IEnumerable GetByCulture(CultureInfo culture);
///
/// Gets the specified font family matching the given culture and font family name.
///
/// The font family name.
/// The culture to use when searching for a match.
/// The first matching the given name.
/// is
/// The collection contains no matches.
public FontFamily GetByCulture(string name, CultureInfo culture);
///
/// Gets the specified font family matching the given culture and font family name.
///
/// The font family name.
/// The culture to use when searching for a match.
///
/// When this method returns, contains the family associated with the specified name,
/// if the name is found; otherwise, the default value for the type of the family parameter.
/// This parameter is passed uninitialized.
///
///
/// if the contains a family
/// with the specified name; otherwise, .
///
/// is
public bool TryGetByCulture(string name, CultureInfo culture, out FontFamily family);
}
}