Table of Contents

Struct FontMetrics

Namespace
PaintDotNet.DirectWrite
Assembly
PaintDotNet.Windows.dll

The FontMetrics structure specifies the metrics that are applicable to all glyphs within the font face.
See DWRITE_FONT_METRICS1 for more information.

public readonly struct FontMetrics : IEquatable<FontMetrics>
Implements
Inherited Members

Properties

Ascent

The ascent value of the font face in font design units. Ascent is the distance from the top of font character alignment box to the English baseline.

CapHeight

The cap height value of the font face in font design units. Cap height is the distance from the English baseline to the top of a typical English capital. Capital "H" is often used as a reference character for the purpose of calculating the cap height value.

Descent

The descent value of the font face in font design units. Descent is the distance from the bottom of font character alignment box to the English baseline.

DesignUnitsPerEm

The number of font design units per em unit. Font files use their own coordinate system of font design units. A font design unit is the smallest measurable unit in the em square, an imaginary square that is used to size and align glyphs. The concept of em square is used as a reference scale factor when defining font size and device transformation semantics. The size of one em square is also commonly used to compute the paragraph indentation value.

GlyphBox
GlyphBoxBottom

Bottom edge of accumulated bounding blackbox of all glyphs in the font.

GlyphBoxLeft

Left edge of accumulated bounding blackbox of all glyphs in the font.

GlyphBoxRight

Right edge of accumulated bounding blackbox of all glyphs in the font.

GlyphBoxTop

Top edge of accumulated bounding blackbox of all glyphs in the font.

HasTypographicMetrics

A boolean value that indicates that the ascent, descent, and lineGap are based on newer 'typographic' values in the font, rather than legacy values.

LineGap

The line gap in font design units. Recommended additional white space to add between lines to improve legibility. The recommended line spacing (baseline-to-baseline distance) is the sum of ascent, descent, and lineGap. The line gap is usually positive or zero but can be negative, in which case the recommended line spacing is less than the height of the character alignment box.

StrikethroughPosition

The strikethrough position value of the font face in font design units. Strikethrough position is the position of strikethrough relative to the English baseline. The value is usually made positive in order to place the strikethrough above the baseline.

StrikethroughThickness

The suggested strikethrough thickness value of the font face in font design units.

SubscriptPosition
SubscriptPositionX

Horizontal position of the subscript relative to the baseline origin. This is typically negative (to the left) in italic and oblique fonts, and zero in regular fonts.

SubscriptPositionY

Vertical position of the subscript relative to the baseline. This is typically negative.

SubscriptSize
SubscriptSizeX

Horizontal size of the subscript em box in design units, used to scale the simulated subscript relative to the full em box size. This is the numerator of the scaling ratio where denominator is the design units per em. If this member is zero, the font does not specify a scale factor, and the client uses its own policy.

SubscriptSizeY

Vertical size of the subscript em box in design units, used to scale the simulated subscript relative to the full em box size. This is the numerator of the scaling ratio where denominator is the design units per em. If this member is zero, the font does not specify a scale factor, and the client uses its own policy.

SuperscriptPosition
SuperscriptPositionX

Horizontal position of the superscript relative to the baseline origin. This is typically positive (to the right) in italic and oblique fonts, and zero in regular fonts.

SuperscriptPositionY

Vertical position of the superscript relative to the baseline. This is typically positive.

SuperscriptSize
SuperscriptSizeX

Horizontal size of the superscript em box in design units, used to scale the simulated superscript relative to the full em box size. This is the numerator of the scaling ratio where denominator is the design units per em. If this member is zero, the font does not specify a scale factor, and the client should use its own policy.

SuperscriptSizeY

Vertical size of the superscript em box in design units, used to scale the simulated superscript relative to the full em box size. This is the numerator of the scaling ratio where denominator is the design units per em. If this member is zero, the font does not specify a scale factor, and the client should use its own policy.

UnderlinePosition

The underline position value of the font face in font design units. Underline position is the position of underline relative to the English baseline. The value is usually made negative in order to place the underline below the baseline.

UnderlineThickness

The suggested underline thickness value of the font face in font design units.

XHeight

The x-height value of the font face in font design units. x-height is the distance from the English baseline to the top of lowercase letter "x", or a similar lowercase character.

Methods

Equals(FontMetrics)
Equals(in FontMetrics)
Equals(object?)
GetHashCode()

Operators

operator ==(in FontMetrics, in FontMetrics)
operator !=(in FontMetrics, in FontMetrics)