pub trait FontPlatform {
Show 29 methods
// Provided methods
fn resolve_font_handle(
&mut self,
_name: &[i32],
_size: i32,
) -> Option<PortableFontHandle> { ... }
fn release_font_handle(
&mut self,
_font: PortableFontHandle,
_type_flag: i32,
) { ... }
fn font_table(&self) -> Vec<(PortableFontHandle, String, i32)> { ... }
fn restore_font_table(
&mut self,
_table: &[(PortableFontHandle, String, i32)],
) -> bool { ... }
fn font_metrics(&mut self, _font: PortableFontHandle) -> PortableFontMetrics { ... }
fn opentype_font_metrics(
&mut self,
font: PortableFontHandle,
) -> PortableFontMetrics { ... }
fn is_opentype_math_font(&mut self, _font: PortableFontHandle) -> bool { ... }
fn using_opentype(&mut self, _font: PortableFontHandle) -> bool { ... }
fn math_symbol_parameter(
&mut self,
_font: PortableFontHandle,
_parameter: i32,
) -> i32 { ... }
fn math_extension_parameter(
&mut self,
_font: PortableFontHandle,
_parameter: i32,
) -> i32 { ... }
fn opentype_math_constant(
&mut self,
_font: PortableFontHandle,
_constant: i32,
) -> i32 { ... }
fn opentype_math_accent_position(
&mut self,
_font: PortableFontHandle,
_glyph: i32,
) -> i32 { ... }
fn math_glyph_italic_correction(
&mut self,
_font: PortableFontHandle,
_glyph: i32,
) -> i32 { ... }
fn math_glyph_variant(
&mut self,
_font: PortableFontHandle,
_glyph: i32,
_index: u16,
_horizontal: bool,
) -> Option<PortableMathVariant> { ... }
fn math_glyph_assembly(
&mut self,
_font: PortableFontHandle,
_glyph: i32,
_horizontal: bool,
) -> Vec<PortableMathAssemblyPart> { ... }
fn math_min_connector_overlap(&mut self, _font: PortableFontHandle) -> i32 { ... }
fn math_kern_at(
&mut self,
_font: PortableFontHandle,
_glyph: i32,
_corner: PortableMathKernCorner,
_correction_height: i32,
) -> i32 { ... }
fn math_points_to_units(
&mut self,
_font: PortableFontHandle,
_points: f32,
) -> f32 { ... }
fn math_units_to_scaled(
&mut self,
_font: PortableFontHandle,
_units: i32,
) -> i32 { ... }
fn math_point_size(&mut self, _font: PortableFontHandle) -> f32 { ... }
fn map_char_to_glyph(
&mut self,
_font: PortableFontHandle,
_codepoint: i32,
) -> i32 { ... }
fn map_glyph_to_index(
&mut self,
_font: PortableFontHandle,
_name: &str,
) -> i32 { ... }
fn ot_font_get(
&mut self,
_font: PortableFontHandle,
_what: i32,
_param1: i32,
_param2: i32,
_param3: i32,
) -> i32 { ... }
fn font_spec(&self, _font: PortableFontHandle) -> Option<String> { ... }
fn font_key(&self, _font: PortableFontHandle) -> Option<u64> { ... }
fn shape_native_text(
&mut self,
_font: PortableFontHandle,
_text: &[u16],
_use_glyph_metrics: bool,
) -> PortableNativeTextMetrics { ... }
fn measure_native_glyph(
&mut self,
_font: PortableFontHandle,
_glyph: u16,
_use_glyph_metrics: bool,
) -> PortableNativeGlyphMetrics { ... }
fn glyph_bounds(
&mut self,
_font: PortableFontHandle,
_glyph: u16,
) -> PortableGlyphBounds { ... }
fn char_code_range(
&mut self,
_font: PortableFontHandle,
) -> Option<(i32, i32)> { ... }
}Provided Methods§
fn resolve_font_handle( &mut self, _name: &[i32], _size: i32, ) -> Option<PortableFontHandle>
fn release_font_handle(&mut self, _font: PortableFontHandle, _type_flag: i32)
Sourcefn font_table(&self) -> Vec<(PortableFontHandle, String, i32)>
fn font_table(&self) -> Vec<(PortableFontHandle, String, i32)>
The native font table as (handle, spec, size), which lets a loaded format image rebind its font handles.
Sourcefn restore_font_table(
&mut self,
_table: &[(PortableFontHandle, String, i32)],
) -> bool
fn restore_font_table( &mut self, _table: &[(PortableFontHandle, String, i32)], ) -> bool
Reloads each font of a Self::font_table snapshot at its original handle, false when one fails.
fn font_metrics(&mut self, _font: PortableFontHandle) -> PortableFontMetrics
fn opentype_font_metrics( &mut self, font: PortableFontHandle, ) -> PortableFontMetrics
fn is_opentype_math_font(&mut self, _font: PortableFontHandle) -> bool
Sourcefn using_opentype(&mut self, _font: PortableFontHandle) -> bool
fn using_opentype(&mut self, _font: PortableFontHandle) -> bool
Whether font is shaped by the OpenType shaper, XeTeX’s usingOpenType.
fn math_symbol_parameter( &mut self, _font: PortableFontHandle, _parameter: i32, ) -> i32
fn math_extension_parameter( &mut self, _font: PortableFontHandle, _parameter: i32, ) -> i32
fn opentype_math_constant( &mut self, _font: PortableFontHandle, _constant: i32, ) -> i32
fn opentype_math_accent_position( &mut self, _font: PortableFontHandle, _glyph: i32, ) -> i32
Sourcefn math_glyph_italic_correction(
&mut self,
_font: PortableFontHandle,
_glyph: i32,
) -> i32
fn math_glyph_italic_correction( &mut self, _font: PortableFontHandle, _glyph: i32, ) -> i32
OpenType MATH italic correction for a glyph, in scaled points.
Sourcefn math_glyph_variant(
&mut self,
_font: PortableFontHandle,
_glyph: i32,
_index: u16,
_horizontal: bool,
) -> Option<PortableMathVariant>
fn math_glyph_variant( &mut self, _font: PortableFontHandle, _glyph: i32, _index: u16, _horizontal: bool, ) -> Option<PortableMathVariant>
The indexth larger MATH variant of glyph, horizontal or vertical, None when there is none.
Sourcefn math_glyph_assembly(
&mut self,
_font: PortableFontHandle,
_glyph: i32,
_horizontal: bool,
) -> Vec<PortableMathAssemblyPart>
fn math_glyph_assembly( &mut self, _font: PortableFontHandle, _glyph: i32, _horizontal: bool, ) -> Vec<PortableMathAssemblyPart>
The MATH assembly parts for glyph in scaled points, empty when it has none.
Sourcefn math_min_connector_overlap(&mut self, _font: PortableFontHandle) -> i32
fn math_min_connector_overlap(&mut self, _font: PortableFontHandle) -> i32
The MATH minimum connector overlap for assembly parts, in scaled points.
Sourcefn math_kern_at(
&mut self,
_font: PortableFontHandle,
_glyph: i32,
_corner: PortableMathKernCorner,
_correction_height: i32,
) -> i32
fn math_kern_at( &mut self, _font: PortableFontHandle, _glyph: i32, _corner: PortableMathKernCorner, _correction_height: i32, ) -> i32
One MATH MathKernInfo corner at correction_height, both in font design units.
Sourcefn math_points_to_units(
&mut self,
_font: PortableFontHandle,
_points: f32,
) -> f32
fn math_points_to_units( &mut self, _font: PortableFontHandle, _points: f32, ) -> f32
Converts points to font design units for font, XeTeX’s pointsToUnits.
Sourcefn math_units_to_scaled(
&mut self,
_font: PortableFontHandle,
_units: i32,
) -> i32
fn math_units_to_scaled( &mut self, _font: PortableFontHandle, _units: i32, ) -> i32
Converts font design units to scaled points for font, XeTeX’s D2Fix(unitsToPoints(...)).
Sourcefn math_point_size(&mut self, _font: PortableFontHandle) -> f32
fn math_point_size(&mut self, _font: PortableFontHandle) -> f32
The point size at which font was loaded (getPointSize).
fn map_char_to_glyph( &mut self, _font: PortableFontHandle, _codepoint: i32, ) -> i32
fn map_glyph_to_index(&mut self, _font: PortableFontHandle, _name: &str) -> i32
Sourcefn ot_font_get(
&mut self,
_font: PortableFontHandle,
_what: i32,
_param1: i32,
_param2: i32,
_param3: i32,
) -> i32
fn ot_font_get( &mut self, _font: PortableFontHandle, _what: i32, _param1: i32, _param2: i32, _param3: i32, ) -> i32
OpenType layout query of \XeTeXcountglyphs and the \XeTeXOT primitives, what is the XeTeX_ext code.
Sourcefn font_spec(&self, _font: PortableFontHandle) -> Option<String>
fn font_spec(&self, _font: PortableFontHandle) -> Option<String>
The \font spec a handle was loaded from, such as [latinmodern-math.otf]:script=math;ssty=1.
Sourcefn font_key(&self, _font: PortableFontHandle) -> Option<u64>
fn font_key(&self, _font: PortableFontHandle) -> Option<u64>
The key the host’s font loader gave the face behind a handle.
fn shape_native_text( &mut self, _font: PortableFontHandle, _text: &[u16], _use_glyph_metrics: bool, ) -> PortableNativeTextMetrics
fn measure_native_glyph( &mut self, _font: PortableFontHandle, _glyph: u16, _use_glyph_metrics: bool, ) -> PortableNativeGlyphMetrics
Sourcefn glyph_bounds(
&mut self,
_font: PortableFontHandle,
_glyph: u16,
) -> PortableGlyphBounds
fn glyph_bounds( &mut self, _font: PortableFontHandle, _glyph: u16, ) -> PortableGlyphBounds
Advance and control box of glyph at the font’s size, all zero for a glyph without an outline.
Sourcefn char_code_range(&mut self, _font: PortableFontHandle) -> Option<(i32, i32)>
fn char_code_range(&mut self, _font: PortableFontHandle) -> Option<(i32, i32)>
Smallest and largest character codes the font maps to a glyph, as XeTeX’s getFontCharRange.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".