Class FontInfo
Parsed font metadata: family name, style, vertical metrics, kerning pairs, and OpenType table data.
public sealed class FontInfo
- Inheritance
-
FontInfo
- Inherited Members
Properties
Ascender
Maximum ascent above the baseline, in font units.
public required int Ascender { get; init; }
Property Value
AvailableCodepoints
All Unicode characters this font can render.
public required IReadOnlyList<int> AvailableCodepoints { get; init; }
Property Value
Descender
Maximum descent below the baseline, in font units (usually negative).
public required int Descender { get; init; }
Property Value
FamilyName
Font family name, like "Roboto" or "Arial".
public required string FamilyName { get; init; }
Property Value
HasColorGlyphs
True if the font has color glyphs (emoji, color layers via COLR/sbix/CBDT).
public bool HasColorGlyphs { get; init; }
Property Value
Head
Font header table (units-per-em, bounding box, timestamps). Null if missing.
public HeadTable? Head { get; init; }
Property Value
Hhea
Horizontal header (ascender, descender, line gap from hhea). Null if missing.
public HheaTable? Hhea { get; init; }
Property Value
IsBold
True if this is a bold font.
public required bool IsBold { get; init; }
Property Value
IsFixedPitch
True if the font is monospaced (all characters have the same advance width).
public required bool IsFixedPitch { get; init; }
Property Value
IsItalic
True if this is an italic font.
public required bool IsItalic { get; init; }
Property Value
KerningPairs
Kerning pairs (spacing tweaks between specific character pairs like "AV").
public IReadOnlyList<KerningPair> KerningPairs { get; init; }
Property Value
LineGap
Additional inter-line spacing, in font units.
public required int LineGap { get; init; }
Property Value
LineHeight
Total line height: Ascender - Descender + LineGap.
public int LineHeight { get; }
Property Value
NamedInstances
Preset variable font styles like "Bold" or "Light". Null for non-variable fonts.
public IReadOnlyList<NamedInstance>? NamedInstances { get; init; }
Property Value
Names
Name table strings (family, copyright, PostScript name). Null if missing.
public NameInfo? Names { get; init; }
Property Value
NumGlyphs
Total number of glyphs in the font file.
public required int NumGlyphs { get; init; }
Property Value
Os2
OS/2 table data (weight, width, platform-specific metrics). Null if the table is missing.
public Os2Metrics? Os2 { get; init; }
Property Value
StyleName
Style name, like "Regular", "Bold Italic".
public required string StyleName { get; init; }
Property Value
UnitsPerEm
Design units per em square. Typically 1000 or 2048.
public required int UnitsPerEm { get; init; }
Property Value
VariationAxes
Variable font axes like weight and width. Null for non-variable fonts.
public IReadOnlyList<VariationAxis>? VariationAxes { get; init; }