using Dalamud.Bindings.ImGui; using Dalamud.Interface.ManagedFontAtlas; namespace Dalamud.Interface.FontIdentifier; /// /// Represents a user's choice of font(s).
/// Not intended for plugins to implement. ///
public interface IFontSpec { /// /// Gets the font size in pixels. /// float SizePx { get; } /// /// Gets the font size in points. /// float SizePt { get; } /// /// Gets the line height in pixels. /// float LineHeightPx { get; } /// /// Creates a font handle corresponding to this font specification. /// /// The atlas to bind this font handle to. /// Optional callback to be called after creating the font handle. /// The new font handle. /// will be set when is invoked. /// IFontHandle CreateFontHandle(IFontAtlas atlas, FontAtlasBuildStepDelegate? callback = null); /// /// Adds this font to the given font build toolkit. /// /// The font build toolkit. /// The font to merge to. /// The added font. ImFontPtr AddToBuildToolkit(IFontAtlasBuildToolkitPreBuild tk, ImFontPtr mergeFont = default); /// /// Represents this font specification, preferrably in the requested locale. /// /// The locale code. Must be in lowercase(invariant). /// The value. string ToLocalizedString(string localeCode); }