// 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);
}
}