Class FontMetrics
Represents a font face with metrics, which is a set of glyphs with a specific style (regular, italic, bold etc).
Inherited Members
Namespace: SixLabors.Fonts
Assembly: SixLabors.Fonts.dll
Syntax
public abstract class FontMetrics
Properties
| Improve this Doc View SourceAdvanceHeightMax
Gets the maximum advance height, in font units, for all glyphs in this face.This is only relevant for vertical layouts, and is set to LineHeight for fonts that do not provide vertical metrics.
Declaration
public abstract short AdvanceHeightMax { get; }
Property Value
| Type | Description |
|---|---|
| Int16 |
AdvanceWidthMax
Gets the maximum advance width, in font units, for all glyphs in this face.
Declaration
public abstract short AdvanceWidthMax { get; }
Property Value
| Type | Description |
|---|---|
| Int16 |
Ascender
Gets the typographic ascender of the face, expressed in font units.
Declaration
public abstract short Ascender { get; }
Property Value
| Type | Description |
|---|---|
| Int16 |
Descender
Gets the typographic descender of the face, expressed in font units.
Declaration
public abstract short Descender { get; }
Property Value
| Type | Description |
|---|---|
| Int16 |
Description
Gets the basic description of the face.
Declaration
public abstract FontDescription Description { get; }
Property Value
| Type | Description |
|---|---|
| FontDescription |
ItalicAngle
Gets the italic angle in counter-clockwise degrees from the vertical. Zero for upright text, negative for text that leans to the right (forward).
Declaration
public abstract float ItalicAngle { get; }
Property Value
| Type | Description |
|---|---|
| Single |
LineGap
Gets the typographic line gap of the face, expressed in font units. This field should be combined with the Ascender and Descender values to determine default line spacing.
Declaration
public abstract short LineGap { get; }
Property Value
| Type | Description |
|---|---|
| Int16 |
LineHeight
Gets the typographic line spacing of the face, expressed in font units.
Declaration
public abstract short LineHeight { get; }
Property Value
| Type | Description |
|---|---|
| Int16 |
ScaleFactor
Gets the scale factor that is applied to all glyphs in this face. Calculated as 72 * UnitsPerEm so that 1pt = 1px.
Declaration
public abstract float ScaleFactor { get; }
Property Value
| Type | Description |
|---|---|
| Single |
StrikeoutPosition
Gets the position of the top of the strikeout stroke relative to the baseline in font design units.
Declaration
public abstract short StrikeoutPosition { get; }
Property Value
| Type | Description |
|---|---|
| Int16 |
StrikeoutSize
Gets thickness of the strikeout stroke in font design units.
Declaration
public abstract short StrikeoutSize { get; }
Property Value
| Type | Description |
|---|---|
| Int16 |
SubscriptXOffset
Gets the recommended horizontal offset in font design units for subscripts for this font.
Declaration
public abstract short SubscriptXOffset { get; }
Property Value
| Type | Description |
|---|---|
| Int16 |
SubscriptXSize
Gets the recommended horizontal size in font design units for subscripts for this font.
Declaration
public abstract short SubscriptXSize { get; }
Property Value
| Type | Description |
|---|---|
| Int16 |
SubscriptYOffset
Gets the recommended vertical offset in font design units for subscripts for this font.
Declaration
public abstract short SubscriptYOffset { get; }
Property Value
| Type | Description |
|---|---|
| Int16 |
SubscriptYSize
Gets the recommended vertical size in font design units for subscripts for this font.
Declaration
public abstract short SubscriptYSize { get; }
Property Value
| Type | Description |
|---|---|
| Int16 |
SuperscriptXOffset
Gets the recommended horizontal offset in font design units for superscripts for this font.
Declaration
public abstract short SuperscriptXOffset { get; }
Property Value
| Type | Description |
|---|---|
| Int16 |
SuperscriptXSize
Gets the recommended horizontal size in font design units for superscripts for this font.
Declaration
public abstract short SuperscriptXSize { get; }
Property Value
| Type | Description |
|---|---|
| Int16 |
SuperscriptYOffset
Gets the recommended vertical offset in font design units for superscripts for this font.
Declaration
public abstract short SuperscriptYOffset { get; }
Property Value
| Type | Description |
|---|---|
| Int16 |
SuperscriptYSize
Gets the recommended vertical size in font design units for superscripts for this font.
Declaration
public abstract short SuperscriptYSize { get; }
Property Value
| Type | Description |
|---|---|
| Int16 |
UnderlinePosition
Gets the suggested distance of the top of the underline from the baseline (negative values indicate below baseline).
Declaration
public abstract short UnderlinePosition { get; }
Property Value
| Type | Description |
|---|---|
| Int16 |
UnderlineThickness
Gets the suggested values for the underline thickness. In general, the underline thickness should match the thickness of the underscore character (U+005F LOW LINE), and should also match the strikeout thickness, which is specified in the OS/2 table.
Declaration
public abstract short UnderlineThickness { get; }
Property Value
| Type | Description |
|---|---|
| Int16 |
UnitsPerEm
Gets the number of font units per EM square for this face.
Declaration
public abstract ushort UnitsPerEm { get; }
Property Value
| Type | Description |
|---|---|
| UInt16 |
Methods
| Improve this Doc View SourceGetGlyphMetrics(CodePoint, ColorFontSupport)
Gets the glyph metrics for a given code point.
Declaration
public abstract IEnumerable<GlyphMetrics> GetGlyphMetrics(CodePoint codePoint, ColorFontSupport support)
Parameters
| Type | Name | Description |
|---|---|---|
| CodePoint | codePoint | The Unicode code point to get the glyph for. |
| ColorFontSupport | support | Options for enabling color font support during layout and rendering. |
Returns
| Type | Description |
|---|---|
| IEnumerable<GlyphMetrics> | The glyph metrics to find. |