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

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,
}

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

impl Clone for Metrics[src]

impl Copy for Metrics[src]

impl Debug for Metrics[src]

Auto Trait Implementations

impl RefUnwindSafe for Metrics

impl Send for Metrics

impl Sync for Metrics

impl Unpin for Metrics

impl UnwindSafe for Metrics

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.