pub struct MathParams {Show 40 fields
pub x_height: Dim,
pub quad: Dim,
pub axis_height: Dim,
pub accent_base_height: Dim,
pub flattened_accent_base_height: Dim,
pub fraction_rule_thickness: Dim,
pub fraction_numerator_shift_up: Dim,
pub fraction_numerator_display_style_shift_up: Dim,
pub fraction_denominator_shift_down: Dim,
pub fraction_denominator_display_style_shift_down: Dim,
pub fraction_numerator_gap_min: Dim,
pub fraction_num_display_style_gap_min: Dim,
pub fraction_denominator_gap_min: Dim,
pub fraction_denom_display_style_gap_min: Dim,
pub superscript_shift_up: Dim,
pub superscript_shift_up_cramped: Dim,
pub subscript_shift_down: Dim,
pub sub_superscript_gap_min: Dim,
pub space_after_script: Dim,
pub radical_vertical_gap: Dim,
pub radical_display_style_vertical_gap: Dim,
pub radical_rule_thickness: Dim,
pub radical_extra_ascender: Dim,
pub radical_kern_before_degree: Dim,
pub radical_kern_after_degree: Dim,
pub radical_degree_bottom_raise_percent: i16,
pub overbar_vertical_gap: Dim,
pub overbar_rule_thickness: Dim,
pub overbar_extra_ascender: Dim,
pub underbar_vertical_gap: Dim,
pub underbar_rule_thickness: Dim,
pub underbar_extra_descender: Dim,
pub upper_limit_gap_min: Dim,
pub upper_limit_baseline_rise_min: Dim,
pub lower_limit_gap_min: Dim,
pub lower_limit_baseline_drop_min: Dim,
pub display_operator_min_height: Dim,
pub script_percent_scale_down: i16,
pub script_script_percent_scale_down: i16,
pub units_per_em: u16,
}Expand description
MATH-table parameters used by the layout engine.
§Examples
use latex_rust::{MathFont, MathParams, MathStyle};
let font = MathFont::stix_two_math().unwrap();
let p = MathParams::from_font(&font).unwrap();
assert!(!p.axis_height.is_zero());
assert!(!p.em(MathStyle::Text).is_zero());Fields§
§x_height: Dimσ1: x-height (em).
quad: Dimσ2: quad / em width.
axis_height: Dimσ6 / σ22: math axis height.
accent_base_height: DimAccent base height.
flattened_accent_base_height: DimFlattened accent base height (cramped / tall bases).
fraction_rule_thickness: Dimσ8: default rule thickness (fraction / radical bar).
fraction_numerator_shift_up: Dimσ10 analogue: numerator shift (text).
fraction_numerator_display_style_shift_up: Dimσ9 analogue: numerator shift (display).
fraction_denominator_shift_down: Dimσ12 analogue: denominator shift (text).
fraction_denominator_display_style_shift_down: Dimσ11 analogue: denominator shift (display).
fraction_numerator_gap_min: DimMinimum gap num ↔ rule (text).
fraction_num_display_style_gap_min: DimMinimum gap num ↔ rule (display).
fraction_denominator_gap_min: DimMinimum gap rule ↔ den (text).
fraction_denom_display_style_gap_min: DimMinimum gap rule ↔ den (display).
superscript_shift_up: Dimσ14 analogue: superscript shift (text).
superscript_shift_up_cramped: Dimσ15 analogue: superscript shift cramped.
subscript_shift_down: Dimσ16 analogue: subscript shift.
sub_superscript_gap_min: DimMinimum gap between sub and sup.
space_after_script: DimSpace after a script.
radical_vertical_gap: DimRadical vertical gap (text).
radical_display_style_vertical_gap: DimRadical vertical gap (display).
radical_rule_thickness: DimRadical rule thickness.
radical_extra_ascender: DimExtra ascender above radical rule.
radical_kern_before_degree: DimKern before a radical degree.
radical_kern_after_degree: DimKern after a radical degree.
radical_degree_bottom_raise_percent: i16Degree bottom raise percent (integer 0–100).
overbar_vertical_gap: DimOverbar gap.
overbar_rule_thickness: DimOverbar rule thickness.
overbar_extra_ascender: DimOverbar extra ascender.
underbar_vertical_gap: DimUnderbar gap.
underbar_rule_thickness: DimUnderbar rule thickness.
underbar_extra_descender: DimUnderbar extra descender.
upper_limit_gap_min: DimUpper limit gap min.
upper_limit_baseline_rise_min: DimUpper limit baseline rise min.
lower_limit_gap_min: DimLower limit gap min.
lower_limit_baseline_drop_min: DimLower limit baseline drop min.
display_operator_min_height: DimDisplay operator min height (font units, as Dim em).
script_percent_scale_down: i16Script scale (percent, e.g. 70).
script_script_percent_scale_down: i16Scriptscript scale (percent, e.g. 55).
units_per_em: u16unitsPerEm.
Implementations§
Source§impl MathParams
impl MathParams
Sourcepub fn from_font(font: &MathFont) -> Result<Self, Error>
pub fn from_font(font: &MathFont) -> Result<Self, Error>
Load MATH constants from font. Missing MATH is Error::Unsupported.
§Errors
Error::Unsupported if the face has no MATH table or constants.
Trait Implementations§
Source§impl Clone for MathParams
impl Clone for MathParams
Source§fn clone(&self) -> MathParams
fn clone(&self) -> MathParams
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for MathParams
impl RefUnwindSafe for MathParams
impl Send for MathParams
impl Sync for MathParams
impl Unpin for MathParams
impl UnsafeUnpin for MathParams
impl UnwindSafe for MathParams
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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