// Copyright (c) Six Labors. // Licensed under the Six Labors Split License. using System; using System.Globalization; using System.IO; namespace SixLabors.Fonts { /// /// A readable and writable collection of fonts. /// /// public interface IFontCollection : IReadOnlyFontCollection { /// /// Adds a font to the collection. /// /// The filesystem path to the font file. /// The new . public FontFamily Add(string path); /// /// Adds a font to the collection. /// /// The filesystem path to the font file. /// The description of the added font. /// The new . public FontFamily Add(string path, out FontDescription description); /// /// Adds a font to the collection. /// /// The font stream. /// The new . public FontFamily Add(Stream stream); /// /// Adds a font to the collection. /// /// The font stream. /// The description of the added font. /// The new . public FontFamily Add(Stream stream, out FontDescription description); /// /// Adds a true type font collection (.ttc). /// /// The font collection path. /// A read-only memory region containing the new values. public ReadOnlyMemory AddCollection(string path); /// /// Adds a true type font collection (.ttc). /// /// The font collection path. /// The descriptions of the added fonts. /// A read-only memory region containing the new values. public ReadOnlyMemory AddCollection(string path, out ReadOnlyMemory descriptions); /// /// Adds a true type font collection (.ttc). /// /// The font stream. /// A read-only memory region containing the new values. public ReadOnlyMemory AddCollection(Stream stream); /// /// Adds a true type font collection (.ttc). /// /// The font stream. /// The descriptions of the added fonts. /// A read-only memory region containing the new values. public ReadOnlyMemory AddCollection(Stream stream, out ReadOnlyMemory descriptions); /// /// Adds a font to the collection. /// /// The filesystem path to the font file. /// The culture of the font to add. /// The new . public FontFamily AddWithCulture(string path, CultureInfo culture); /// /// Adds a font to the collection. /// /// The filesystem path to the font file. /// The culture of the font to add. /// The description of the added font. /// The new . public FontFamily AddWithCulture(string path, CultureInfo culture, out FontDescription description); /// /// Adds a font to the collection. /// /// The font stream. /// The culture of the font to add. /// The new . public FontFamily AddWithCulture(Stream stream, CultureInfo culture); /// /// Adds a font to the collection. /// /// The font stream. /// The culture of the font to add. /// The description of the added font. /// The new . public FontFamily AddWithCulture(Stream stream, CultureInfo culture, out FontDescription description); /// /// Adds a true type font collection (.ttc). /// /// The font collection path. /// The culture of the fonts to add. /// A read-only memory region containing the new values. public ReadOnlyMemory AddCollection(string path, CultureInfo culture); /// /// Adds a true type font collection (.ttc). /// /// The font collection path. /// The culture of the fonts to add. /// The descriptions of the added fonts. /// A read-only memory region containing the new values. public ReadOnlyMemory AddCollection( string path, CultureInfo culture, out ReadOnlyMemory descriptions); /// /// Adds a true type font collection (.ttc). /// /// The font stream. /// The culture of the fonts to add. /// A read-only memory region containing the new values. public ReadOnlyMemory AddCollection(Stream stream, CultureInfo culture); /// /// Adds a true type font collection (.ttc). /// /// The font stream. /// The culture of the fonts to add. /// The descriptions of the added fonts. /// A read-only memory region containing the new values. public ReadOnlyMemory AddCollection( Stream stream, CultureInfo culture, out ReadOnlyMemory descriptions); } }