Class FontFace
A loaded OpenType face with parsed metrics, cmap and optional kerning data.
public sealed class FontFace : IFontFace
- Inheritance
-
FontFace
- Implements
- Inherited Members
Properties
- FamilyName
Gets the typographic family name.
- GlyphCount
Gets the number of glyph metrics exposed by this face.
- HasCffOutlines
Gets a value indicating whether this face uses CFF outlines.
- HasKerningPairs
Gets a value indicating whether the face carries legacy
kernformat-0 pairs: the pair kerning the engine applies to text it shapes from the character map for a document outside compatibility mode 15, and the fallback for one in it. A GPOSkernfeature alone does not count here; a face that kerns only there is kerned by the engine only when a ShapeRequest asks for OpenType kerning, as Word kerns it only in mode 15 (WORDQUIRKS.md WQ-0049).
- HheaAscender
Gets the ascent from the horizontal header (hhea.ascender, fUnits).
- HheaDescender
Gets the descent from the horizontal header (hhea.descender, fUnits; usually negative).
- HheaLineGap
Gets the line gap from the horizontal header (hhea.lineGap, fUnits).
- IsSymbolEncoded
Gets a value indicating whether this face's character map is symbol-encoded — that is, whether the subtable DocWright maps through is a Microsoft Symbol
(3,0)table.
- NeedsSyntheticBold
Gets a value indicating whether synthetic bold should be applied.
- NeedsSyntheticItalic
Gets a value indicating whether synthetic italic should be applied.
- Panose
Gets the face PANOSE vector.
- PostScriptName
Gets the PostScript name from the name table.
- SourceName
Gets the source identifier for this face (file path or embedded part id).
- StrikeoutPosition
Gets the strikeout position from OS/2 (yStrikeoutPosition, fUnits): the top edge of the strikethrough above the baseline, which Word scales to the drawn size and rounds to its grain (WQ-0054). Zero when undeclared.
- StrikeoutSize
Gets the strikeout thickness from OS/2 (yStrikeoutSize, fUnits). Zero when undeclared, in which case a caller falls back rather than drawing nothing.
- Style
Gets the intrinsic slant style parsed from OS/2/head/post.
- SubfamilyName
Gets the subfamily name from the name table.
- SubscriptYOffset
Gets the subscript baseline drop from OS/2 (ySubscriptYOffset, fUnits).
- SubscriptYSize
Gets the subscript em size from OS/2 (ySubscriptYSize, fUnits; 0 when undeclared).
- SuperscriptYOffset
Gets the superscript baseline rise from OS/2 (ySuperscriptYOffset, fUnits).
- SuperscriptYSize
Gets the superscript em size from OS/2 (ySuperscriptYSize, fUnits; 0 when undeclared).
- TypoAscender
Gets the ascent from OS/2 typo metrics (fUnits).
- TypoDescender
Gets the descent from OS/2 typo metrics (fUnits; usually negative).
- TypoLineGap
Gets the line gap from OS/2 typo metrics (fUnits).
- UnderlinePosition
Gets the underline position from the
posttable (fUnits; negative below the baseline, as the table stores it). Word draws an underline whose top edge is this, scaled to the drawn size and rounded to its 1/600-inch grain, below the baseline (WQ-0054). Zero when the table is absent or too short.
- UnderlineThickness
Gets the underline thickness from the
posttable (fUnits). Word's underline is this, scaled to the drawn size and rounded to its grain (WQ-0054). Zero when undeclared, in which case a caller falls back rather than drawing nothing.
- UnitsPerEm
Gets the font's design units per em (from the OpenType head table).
- UsesTypoMetrics
Gets a value indicating whether USE_TYPO_METRICS is set in OS/2 fsSelection.
- WeightClass
Gets the OpenType weight class (OS/2 usWeightClass).
- WidthClass
Gets the OpenType width class (OS/2 usWidthClass).
- WinAscent
Gets the ascent from OS/2 Windows metrics (fUnits).
- WinDescent
Gets the descent from OS/2 Windows metrics (fUnits; positive magnitude).
Methods
- GetAdvanceWidthFontUnits(ushort)
Gets one glyph advance in font units from hmtx.
- GetKerningAdjustmentFontUnits(ushort, ushort)
Gets the legacy
kerntable's adjustment for one glyph pair, in font units: the pair kerning the engine applies to text it shapes from the character map for a document outside compatibility mode 15, never the GPOSkernfeature's value.
- MapCodePoint(int)
Maps one Unicode scalar value to a glyph id via cmap.
- TryGetGlyphBoundingBox(ushort, out GlyphBoundingBox)
Tries to get one glyph bounding box (fUnits) parsed from glyf/loca.