Skip to main content

MathConstants

Struct MathConstants 

Source
pub struct MathConstants<'a> { /* private fields */ }
Expand description

Implementations§

Source§

impl<'a> MathConstants<'a>

Source

pub const MIN_SIZE: usize

Source

pub fn resolve_offset<O: Offset, R: FontRead<'a, Args = ()>>( &self, offset: O, ) -> Result<R, ReadError>

Resolve the provided offset from the start of this table.

Source

pub fn offset_data(&self) -> FontData<'a>

Return a reference to this table’s raw data.

We use this in the compile crate to resolve offsets.

Source

pub fn shape(&self) -> &Self

👎Deprecated:

just use the base type directly

Return a reference to the table’s ‘Shape’ struct.

This is a low level implementation detail, but it can be useful in some cases where you want to know things about a table’s layout, such as the byte offsets of specific fields.

Source

pub fn script_percent_scale_down(&self) -> i16

Percentage of scaling down for level 1 superscripts and subscripts.

Source

pub fn script_script_percent_scale_down(&self) -> i16

Percentage of scaling down for level 2 (scriptScript) superscripts and subscripts.

Source

pub fn delimited_sub_formula_min_height(&self) -> UfWord

Minimum height required for a delimited expression (contained within parentheses, etc.) to be treated as a sub-formula.

Source

pub fn display_operator_min_height(&self) -> UfWord

Minimum height of n-ary operators (such as integral and summation) for formulas in display mode (that is, appearing as standalone page elements, not embedded inline within text).

Source

pub fn math_leading(&self) -> &'a MathValueRecord

White space to be left between math formulas to ensure proper line spacing.

Source

pub fn axis_height(&self) -> &'a MathValueRecord

Axis height of the font.

Source

pub fn accent_base_height(&self) -> &'a MathValueRecord

Maximum (ink) height of accent base that does not require raising the accents.

Source

pub fn flattened_accent_base_height(&self) -> &'a MathValueRecord

Maximum (ink) height of accent base that does not require flattening the accents.

Source

pub fn subscript_shift_down(&self) -> &'a MathValueRecord

The standard shift down applied to subscript elements.

Source

pub fn subscript_top_max(&self) -> &'a MathValueRecord

Maximum allowed height of the (ink) top of subscripts that does not require moving subscripts further down.

Source

pub fn subscript_baseline_drop_min(&self) -> &'a MathValueRecord

Minimum allowed drop of the baseline of subscripts relative to the (ink) bottom of the base.

Source

pub fn superscript_shift_up(&self) -> &'a MathValueRecord

Standard shift up applied to superscript elements.

Source

pub fn superscript_shift_up_cramped(&self) -> &'a MathValueRecord

Standard shift of superscripts relative to the base, in cramped style.

Source

pub fn superscript_bottom_min(&self) -> &'a MathValueRecord

Minimum allowed height of the (ink) bottom of superscripts that does not require moving subscripts further up.

Source

pub fn superscript_baseline_drop_max(&self) -> &'a MathValueRecord

Maximum allowed drop of the baseline of superscripts relative to the (ink) top of the base.

Source

pub fn sub_superscript_gap_min(&self) -> &'a MathValueRecord

Minimum gap between the superscript and subscript ink.

Source

pub fn superscript_bottom_max_with_subscript(&self) -> &'a MathValueRecord

The maximum level to which the (ink) bottom of superscript can be pushed to increase the gap between superscript and subscript, before subscript starts being moved down.

Source

pub fn space_after_script(&self) -> &'a MathValueRecord

Extra white space to be added after each subscript and superscript.

Source

pub fn upper_limit_gap_min(&self) -> &'a MathValueRecord

Minimum gap between the (ink) bottom of the upper limit, and the (ink) top of the base operator.

Source

pub fn upper_limit_baseline_rise_min(&self) -> &'a MathValueRecord

Minimum distance between baseline of upper limit and (ink) top of the base operator.

Source

pub fn lower_limit_gap_min(&self) -> &'a MathValueRecord

Minimum gap between (ink) top of the lower limit, and (ink) bottom of the base operator.

Source

pub fn lower_limit_baseline_drop_min(&self) -> &'a MathValueRecord

Minimum distance between baseline of the lower limit and (ink) bottom of the base operator.

Source

pub fn stack_top_shift_up(&self) -> &'a MathValueRecord

Standard shift up applied to the top element of a stack.

Source

pub fn stack_top_display_style_shift_up(&self) -> &'a MathValueRecord

Standard shift up applied to the top element of a stack in display style.

Source

pub fn stack_bottom_shift_down(&self) -> &'a MathValueRecord

Standard shift down applied to the bottom element of a stack.

Source

pub fn stack_bottom_display_style_shift_down(&self) -> &'a MathValueRecord

Standard shift down applied to the bottom element of a stack in display style.

Source

pub fn stack_gap_min(&self) -> &'a MathValueRecord

Minimum gap between (ink) bottom of the top element of a stack, and the (ink) top of the bottom element.

Source

pub fn stack_display_style_gap_min(&self) -> &'a MathValueRecord

Minimum gap between (ink) bottom of the top element of a stack, and the (ink) top of the bottom element in display style.

Source

pub fn stretch_stack_top_shift_up(&self) -> &'a MathValueRecord

Standard shift up applied to the top element of the stretch stack.

Source

pub fn stretch_stack_bottom_shift_down(&self) -> &'a MathValueRecord

Standard shift down applied to the bottom element of the stretch stack.

Source

pub fn stretch_stack_gap_above_min(&self) -> &'a MathValueRecord

Minimum gap between the ink of the stretched element, and the (ink) bottom of the element above.

Source

pub fn stretch_stack_gap_below_min(&self) -> &'a MathValueRecord

Minimum gap between the ink of the stretched element, and the (ink) top of the element below.

Source

pub fn fraction_numerator_shift_up(&self) -> &'a MathValueRecord

Standard shift up applied to the numerator.

Source

pub fn fraction_numerator_display_style_shift_up(&self) -> &'a MathValueRecord

Standard shift up applied to the numerator in display style.

Source

pub fn fraction_denominator_shift_down(&self) -> &'a MathValueRecord

Standard shift down applied to the denominator.

Source

pub fn fraction_denominator_display_style_shift_down( &self, ) -> &'a MathValueRecord

Standard shift down applied to the denominator in display style.

Source

pub fn fraction_numerator_gap_min(&self) -> &'a MathValueRecord

Minimum tolerated gap between the (ink) bottom of the numerator and the ink of the fraction bar.

Source

pub fn fraction_num_display_style_gap_min(&self) -> &'a MathValueRecord

Minimum tolerated gap between the (ink) bottom of the numerator and the ink of the fraction bar in display style.

Source

pub fn fraction_rule_thickness(&self) -> &'a MathValueRecord

Thickness of the fraction bar.

Source

pub fn fraction_denominator_gap_min(&self) -> &'a MathValueRecord

Minimum tolerated gap between the ink of the fraction bar and the (ink) top of the denominator.

Source

pub fn fraction_denom_display_style_gap_min(&self) -> &'a MathValueRecord

Minimum tolerated gap between the ink of the fraction bar and the (ink) top of the denominator in display style.

Source

pub fn skewed_fraction_horizontal_gap(&self) -> &'a MathValueRecord

Horizontal distance between the top and bottom elements of a skewed fraction.

Source

pub fn skewed_fraction_vertical_gap(&self) -> &'a MathValueRecord

Vertical distance between the ink of the top and bottom elements of a skewed fraction.

Source

pub fn overbar_vertical_gap(&self) -> &'a MathValueRecord

Distance between the overbar and the (ink) top of he base.

Source

pub fn overbar_rule_thickness(&self) -> &'a MathValueRecord

Thickness of overbar.

Source

pub fn overbar_extra_ascender(&self) -> &'a MathValueRecord

Extra white space reserved above the overbar.

Source

pub fn underbar_vertical_gap(&self) -> &'a MathValueRecord

Distance between underbar and (ink) bottom of the base.

Source

pub fn underbar_rule_thickness(&self) -> &'a MathValueRecord

Thickness of underbar.

Source

pub fn underbar_extra_descender(&self) -> &'a MathValueRecord

Extra white space reserved below the underbar.

Source

pub fn radical_vertical_gap(&self) -> &'a MathValueRecord

Space between the (ink) top of the expression and the bar over it.

Source

pub fn radical_display_style_vertical_gap(&self) -> &'a MathValueRecord

Space between the (ink) top of the expression and the bar over it in display style.

Source

pub fn radical_rule_thickness(&self) -> &'a MathValueRecord

Thickness of the radical rule.

Source

pub fn radical_extra_ascender(&self) -> &'a MathValueRecord

Extra white space reserved above the radical.

Source

pub fn radical_kern_before_degree(&self) -> &'a MathValueRecord

Extra horizontal kern before the degree of a radical, if such is present.

Source

pub fn radical_kern_after_degree(&self) -> &'a MathValueRecord

Negative kern after the degree of a radical, if such is present.

Source

pub fn radical_degree_bottom_raise_percent(&self) -> i16

Height of the bottom of the radical degree, if such is present, in proportion to the ascender of the radical sign.

Source

pub fn script_percent_scale_down_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn script_script_percent_scale_down_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn delimited_sub_formula_min_height_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn display_operator_min_height_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn math_leading_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn axis_height_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn accent_base_height_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn flattened_accent_base_height_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn subscript_shift_down_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn subscript_top_max_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn subscript_baseline_drop_min_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn superscript_shift_up_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn superscript_shift_up_cramped_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn superscript_bottom_min_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn superscript_baseline_drop_max_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn sub_superscript_gap_min_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn superscript_bottom_max_with_subscript_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn space_after_script_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn upper_limit_gap_min_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn upper_limit_baseline_rise_min_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn lower_limit_gap_min_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn lower_limit_baseline_drop_min_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn stack_top_shift_up_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn stack_top_display_style_shift_up_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn stack_bottom_shift_down_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn stack_bottom_display_style_shift_down_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn stack_gap_min_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn stack_display_style_gap_min_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn stretch_stack_top_shift_up_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn stretch_stack_bottom_shift_down_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn stretch_stack_gap_above_min_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn stretch_stack_gap_below_min_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn fraction_numerator_shift_up_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn fraction_numerator_display_style_shift_up_byte_range( &self, ) -> Range<usize> ⓘ

Source

pub fn fraction_denominator_shift_down_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn fraction_denominator_display_style_shift_down_byte_range( &self, ) -> Range<usize> ⓘ

Source

pub fn fraction_numerator_gap_min_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn fraction_num_display_style_gap_min_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn fraction_rule_thickness_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn fraction_denominator_gap_min_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn fraction_denom_display_style_gap_min_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn skewed_fraction_horizontal_gap_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn skewed_fraction_vertical_gap_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn overbar_vertical_gap_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn overbar_rule_thickness_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn overbar_extra_ascender_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn underbar_vertical_gap_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn underbar_rule_thickness_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn underbar_extra_descender_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn radical_vertical_gap_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn radical_display_style_vertical_gap_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn radical_rule_thickness_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn radical_extra_ascender_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn radical_kern_before_degree_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn radical_kern_after_degree_byte_range(&self) -> Range<usize> ⓘ

Source

pub fn radical_degree_bottom_raise_percent_byte_range(&self) -> Range<usize> ⓘ

Source§

impl MathConstants<'_>

Source

pub fn constant(&self, constant: MathConstant) -> i32

The value of a constant, in design units.

Source

pub fn constant_for_ppem(&self, constant: MathConstant, ppem: u16) -> MathValue

The value of a constant, as read at a size.

The four percentages and the two minimum heights are stored as bare integers, so their delta_px is always zero.

Trait Implementations§

Source§

impl<'a> Clone for MathConstants<'a>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Default for MathConstants<'_>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'a> FontRead<'a> for MathConstants<'a>

Source§

fn read_with_args(data: FontData<'a>, _: ()) -> Result<Self, ReadError>

Read an item, performing validation. Read more
Source§

fn read(data: FontData<'a>) -> Result<Self, ReadError>
where Self: FontRead<'a, Args = ()>,

Read an instance of Self from the provided data, performing validation. Read more
Source§

impl<'a> MinByteRange<'a> for MathConstants<'a>

Source§

impl ReadArgs for MathConstants<'_>

Auto Trait Implementations§

§

impl<'a> Freeze for MathConstants<'a>

§

impl<'a> RefUnwindSafe for MathConstants<'a>

§

impl<'a> Send for MathConstants<'a>

§

impl<'a> Sync for MathConstants<'a>

§

impl<'a> Unpin for MathConstants<'a>

§

impl<'a> UnsafeUnpin for MathConstants<'a>

§

impl<'a> UnwindSafe for MathConstants<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.