Skip to main content

read_fonts/model/
metrics.rs

1//! Metrics for a font and its glyphs.
2
3use crate::tables::mvar::MvarInstance;
4use types::{F48Dot16, Tag};
5
6/// Returns a design-unit metric with its location's delta applied.
7fn metric(value: i32, deltas: Option<&MvarInstance>, tag: Tag) -> F48Dot16 {
8    F48Dot16::from_i32(value)
9        + deltas
10            .and_then(|deltas| deltas.get(tag))
11            .unwrap_or_default()
12}
13
14mod global;
15mod glyph;
16mod scaled;
17mod style;
18
19pub(crate) use global::units_per_em;
20#[doc(inline)]
21pub use global::{LineBox, LineExtents, Metrics};
22pub(crate) use glyph::empty as empty_glyph_metrics;
23#[doc(inline)]
24pub use glyph::{GlyphExtents, GlyphMetrics};
25#[doc(inline)]
26pub use scaled::{
27    Scale, Scale26Dot6, ScaleF32, ScaledGlyphMetrics, ScaledMetrics, ScaledStyleMetrics,
28};
29#[doc(inline)]
30pub use style::{Decoration, ScriptMetrics, StyleMetrics};