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§
Auto Trait Implementations§
impl Freeze for Metrics
impl RefUnwindSafe for Metrics
impl Send for Metrics
impl Sync for Metrics
impl Unpin for Metrics
impl UnwindSafe for Metrics
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)