Class FontMetrics
Represents a font face with metrics, which is a set of glyphs with a specific style (regular, italic, bold etc).
Namespace: SixLabors.Fonts
Assembly: SixLabors.Fonts.dll
Syntax
public abstract class FontMetrics : object
Properties
| Improve this Doc View SourceDescription
Gets the basic description of the face.
Declaration
public abstract FontDescription Description { get; }
Property Value
Type | Description |
---|---|
FontDescription |
HorizontalMetrics
Gets the metrics specific to horizontal text.
Declaration
public abstract HorizontalMetrics HorizontalMetrics { get; }
Property Value
Type | Description |
---|---|
HorizontalMetrics |
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 |
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 |
VerticalMetrics
Gets the metrics specific to vertical text.
Declaration
public abstract VerticalMetrics VerticalMetrics { get; }
Property Value
Type | Description |
---|---|
VerticalMetrics |
Methods
| Improve this Doc View SourceGetAvailableCodePoints()
Gets the unicode codepoints for which a glyph exists in the font.
Declaration
public abstract IReadOnlyList<CodePoint> GetAvailableCodePoints()
Returns
Type | Description |
---|---|
IReadOnlyList<CodePoint> | The |
TryGetGlyphMetrics(CodePoint, TextAttributes, TextDecorations, LayoutMode, ColorFontSupport, out Nullable<IReadOnlyList<GlyphMetrics>>)
Gets the glyph metrics for a given code point.
Declaration
public abstract bool TryGetGlyphMetrics(CodePoint codePoint, TextAttributes textAttributes, TextDecorations textDecorations, LayoutMode layoutMode, ColorFontSupport support, out IReadOnlyList<GlyphMetrics>? metrics)
Parameters
Type | Name | Description |
---|---|---|
CodePoint | codePoint | The Unicode code point to get the glyph for. |
TextAttributes | textAttributes | The text attributes applied to the glyph. |
TextDecorations | textDecorations | The text decorations applied to the glyph. |
LayoutMode | layoutMode | The layout mode applied to the glyph. |
ColorFontSupport | support | Options for enabling color font support during layout and rendering. |
Nullable<IReadOnlyList<GlyphMetrics>> | metrics | When this method returns, contains the metrics for the given codepoint and color support if the metrics are found; otherwise the default value. This parameter is passed uninitialized. |
Returns
Type | Description |
---|---|
Boolean | true if the face contains glyph metrics for the specified codepoint; otherwise, false. |