Struct font_kit::metrics::Metrics[][src]

pub struct Metrics {
    pub units_per_em: u32,
    pub ascent: f32,
    pub descent: f32,
    pub line_gap: f32,
    pub underline_position: f32,
    pub underline_thickness: f32,
    pub cap_height: f32,
    pub x_height: f32,
    pub bounding_box: RectF,
}
Expand description

Various metrics that apply to the entire font.

For OpenType fonts, these mostly come from the OS/2 table.

Fields

units_per_em: u32

The number of font units per em.

Font sizes are usually expressed in pixels per em; e.g. 12px means 12 pixels per em.

ascent: f32

The maximum amount the font rises above the baseline, in font units.

descent: f32

The maximum amount the font descends below the baseline, in font units.

NB: This is typically a negative value to match the definition of sTypoDescender in the OS/2 table in the OpenType specification. If you are used to using Windows or Mac APIs, beware, as the sign is reversed from what those APIs return.

line_gap: f32

Distance between baselines, in font units.

underline_position: f32

The suggested distance of the top of the underline from the baseline (negative values indicate below baseline), in font units.

underline_thickness: f32

A suggested value for the underline thickness, in font units.

cap_height: f32

The approximate amount that uppercase letters rise above the baseline, in font units.

x_height: f32

The approximate amount that non-ascending lowercase letters rise above the baseline, in font units.

bounding_box: RectF

A rectangle that surrounds all bounding boxes of all glyphs, in font units.

This corresponds to the xMin/xMax/yMin/yMax values in the OpenType head table.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.