pub struct Subtable<'a> { /* private fields */ }
Expand description
A character encoding subtable.
Implementations§
Source§impl<'a> Subtable<'a>
impl<'a> Subtable<'a>
Sourcepub fn platform_id(&self) -> PlatformId
pub fn platform_id(&self) -> PlatformId
Returns encoding’s platform.
Sourcepub fn encoding_id(&self) -> u16
pub fn encoding_id(&self) -> u16
Returns encoding ID.
Sourcepub fn is_unicode(&self) -> bool
pub fn is_unicode(&self) -> bool
Checks that the current encoding is Unicode compatible.
Sourcepub fn glyph_index(&self, c: u32) -> Option<GlyphId>
pub fn glyph_index(&self, c: u32) -> Option<GlyphId>
Maps a character to a glyph ID.
This is a low-level method and unlike Face::glyph_index
it doesn’t
check that the current encoding is Unicode.
It simply maps a u32
codepoint number to a glyph ID.
Returns None
:
- when glyph ID is
0
. - when format is
MixedCoverage
, since it’s not supported. - when format is
UnicodeVariationSequences
. Useglyph_variation_index
instead.
Sourcepub fn glyph_variation_index(
&self,
c: char,
variation: char,
) -> Option<GlyphVariationResult>
pub fn glyph_variation_index( &self, c: char, variation: char, ) -> Option<GlyphVariationResult>
Resolves a variation of a glyph ID from two code points.
Returns None
:
- when glyph ID is
0
. - when format is not
UnicodeVariationSequences
.
Sourcepub fn codepoints<F: FnMut(u32)>(&self, f: F)
pub fn codepoints<F: FnMut(u32)>(&self, f: F)
Calls f
for all codepoints contained in this subtable.
This is a low-level method and it doesn’t check that the current
encoding is Unicode. It simply calls the function f
for all u32
codepoints that are present in this subtable.
Note that this may list codepoints for which glyph_index
still returns
None
because this method finds all codepoints which were defined in
this subtable. The subtable may still map them to glyph ID 0
.
Returns without doing anything:
- when format is
MixedCoverage
, since it’s not supported. - when format is
UnicodeVariationSequences
, since it’s not supported.