pub struct FontMetrics {
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: Bounds<f32>,
}Expand description
A struct for storing font metrics. It is used to define the measurements of a typeface.
Fields§
§units_per_em: u32The number of font units that make up the “em square”, a scalable grid for determining the size of a typeface.
ascent: f32The vertical distance from the baseline of the font to the top of the glyph covers.
descent: f32The vertical distance from the baseline of the font to the bottom of the glyph covers.
line_gap: f32The recommended additional space to add between lines of type.
underline_position: f32The suggested position of the underline.
underline_thickness: f32The suggested thickness of the underline.
cap_height: f32The height of a capital letter measured from the baseline of the font.
x_height: f32The height of a lowercase x.
bounding_box: Bounds<f32>The outer limits of the area that the font covers.
Corresponds to the xMin / xMax / yMin / yMax values in the OpenType head table
Implementations§
Source§impl FontMetrics
impl FontMetrics
Sourcepub fn ascent(&self, font_size: Pixels) -> Pixels
pub fn ascent(&self, font_size: Pixels) -> Pixels
Returns the vertical distance from the baseline of the font to the top of the glyph covers in pixels.
Sourcepub fn descent(&self, font_size: Pixels) -> Pixels
pub fn descent(&self, font_size: Pixels) -> Pixels
Returns the vertical distance from the baseline of the font to the bottom of the glyph covers in pixels.
Sourcepub fn line_gap(&self, font_size: Pixels) -> Pixels
pub fn line_gap(&self, font_size: Pixels) -> Pixels
Returns the recommended additional space to add between lines of type in pixels.
Sourcepub fn underline_position(&self, font_size: Pixels) -> Pixels
pub fn underline_position(&self, font_size: Pixels) -> Pixels
Returns the suggested position of the underline in pixels.
Sourcepub fn underline_thickness(&self, font_size: Pixels) -> Pixels
pub fn underline_thickness(&self, font_size: Pixels) -> Pixels
Returns the suggested thickness of the underline in pixels.
Sourcepub fn cap_height(&self, font_size: Pixels) -> Pixels
pub fn cap_height(&self, font_size: Pixels) -> Pixels
Returns the height of a capital letter measured from the baseline of the font in pixels.
Sourcepub fn x_height(&self, font_size: Pixels) -> Pixels
pub fn x_height(&self, font_size: Pixels) -> Pixels
Returns the height of a lowercase x in pixels.
Sourcepub fn bounding_box(&self, font_size: Pixels) -> Bounds<Pixels>
pub fn bounding_box(&self, font_size: Pixels) -> Bounds<Pixels>
Returns the outer limits of the area that the font covers in pixels.
Trait Implementations§
Source§impl Clone for FontMetrics
impl Clone for FontMetrics
Source§fn clone(&self) -> FontMetrics
fn clone(&self) -> FontMetrics
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FontMetrics
impl Debug for FontMetrics
impl Copy for FontMetrics
Auto Trait Implementations§
impl Freeze for FontMetrics
impl RefUnwindSafe for FontMetrics
impl Send for FontMetrics
impl Sync for FontMetrics
impl Unpin for FontMetrics
impl UnsafeUnpin for FontMetrics
impl UnwindSafe for FontMetrics
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§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more