pub trait TableProvider<'a> {
Show 51 methods
// Required method
fn data_for_tag(&self, tag: Tag) -> Option<FontData<'a>>;
// Provided methods
fn expect_data_for_tag(&self, tag: Tag) -> Result<FontData<'a>, ReadError> { ... }
fn expect_table<T>(&self) -> Result<T, ReadError>
where T: TopLevelTable + FontRead<'a> { ... }
fn head(&self) -> Result<TableRef<'a, HeadMarker>, ReadError> { ... }
fn name(&self) -> Result<TableRef<'a, NameMarker>, ReadError> { ... }
fn hhea(&self) -> Result<TableRef<'a, HheaMarker>, ReadError> { ... }
fn vhea(&self) -> Result<TableRef<'a, VheaMarker>, ReadError> { ... }
fn hmtx(&self) -> Result<TableRef<'a, HmtxMarker>, ReadError> { ... }
fn hdmx(&self) -> Result<TableRef<'a, HdmxMarker>, ReadError> { ... }
fn vmtx(&self) -> Result<TableRef<'a, VmtxMarker>, ReadError> { ... }
fn vorg(&self) -> Result<TableRef<'a, VorgMarker>, ReadError> { ... }
fn fvar(&self) -> Result<TableRef<'a, FvarMarker>, ReadError> { ... }
fn avar(&self) -> Result<TableRef<'a, AvarMarker>, ReadError> { ... }
fn hvar(&self) -> Result<TableRef<'a, HvarMarker>, ReadError> { ... }
fn vvar(&self) -> Result<TableRef<'a, VvarMarker>, ReadError> { ... }
fn mvar(&self) -> Result<TableRef<'a, MvarMarker>, ReadError> { ... }
fn maxp(&self) -> Result<TableRef<'a, MaxpMarker>, ReadError> { ... }
fn os2(&self) -> Result<TableRef<'a, Os2Marker>, ReadError> { ... }
fn post(&self) -> Result<TableRef<'a, PostMarker>, ReadError> { ... }
fn gasp(&self) -> Result<TableRef<'a, GaspMarker>, ReadError> { ... }
fn loca(
&self,
is_long: impl Into<Option<bool>>,
) -> Result<Loca<'a>, ReadError> { ... }
fn glyf(&self) -> Result<TableRef<'a, GlyfMarker>, ReadError> { ... }
fn gvar(&self) -> Result<TableRef<'a, GvarMarker>, ReadError> { ... }
fn cvt(&self) -> Result<&'a [BigEndian<i16>], ReadError> { ... }
fn cvar(&self) -> Result<TableRef<'a, CvarMarker>, ReadError> { ... }
fn cff(&self) -> Result<Cff<'a>, ReadError> { ... }
fn cff2(&self) -> Result<Cff2<'a>, ReadError> { ... }
fn cmap(&self) -> Result<TableRef<'a, CmapMarker>, ReadError> { ... }
fn gdef(&self) -> Result<TableRef<'a, GdefMarker>, ReadError> { ... }
fn gpos(&self) -> Result<TableRef<'a, GposMarker>, ReadError> { ... }
fn gsub(&self) -> Result<TableRef<'a, GsubMarker>, ReadError> { ... }
fn feat(&self) -> Result<TableRef<'a, FeatMarker>, ReadError> { ... }
fn ltag(&self) -> Result<TableRef<'a, LtagMarker>, ReadError> { ... }
fn ankr(&self) -> Result<TableRef<'a, AnkrMarker>, ReadError> { ... }
fn trak(&self) -> Result<TableRef<'a, TrakMarker>, ReadError> { ... }
fn morx(&self) -> Result<TableRef<'a, MorxMarker>, ReadError> { ... }
fn kerx(&self) -> Result<TableRef<'a, KerxMarker>, ReadError> { ... }
fn kern(&self) -> Result<Kern<'a>, ReadError> { ... }
fn colr(&self) -> Result<TableRef<'a, ColrMarker>, ReadError> { ... }
fn cpal(&self) -> Result<TableRef<'a, CpalMarker>, ReadError> { ... }
fn cblc(&self) -> Result<TableRef<'a, CblcMarker>, ReadError> { ... }
fn cbdt(&self) -> Result<TableRef<'a, CbdtMarker>, ReadError> { ... }
fn eblc(&self) -> Result<TableRef<'a, EblcMarker>, ReadError> { ... }
fn ebdt(&self) -> Result<TableRef<'a, EbdtMarker>, ReadError> { ... }
fn sbix(&self) -> Result<TableRef<'a, SbixMarker>, ReadError> { ... }
fn stat(&self) -> Result<TableRef<'a, StatMarker>, ReadError> { ... }
fn svg(&self) -> Result<TableRef<'a, SvgMarker>, ReadError> { ... }
fn varc(&self) -> Result<TableRef<'a, VarcMarker>, ReadError> { ... }
fn meta(&self) -> Result<TableRef<'a, MetaMarker>, ReadError> { ... }
fn base(&self) -> Result<TableRef<'a, BaseMarker>, ReadError> { ... }
fn dsig(&self) -> Result<TableRef<'a, DsigMarker>, ReadError> { ... }
}
Expand description
An interface for accessing tables from a font (or font-like object)
Required Methods§
fn data_for_tag(&self, tag: Tag) -> Option<FontData<'a>>
Provided Methods§
fn expect_data_for_tag(&self, tag: Tag) -> Result<FontData<'a>, ReadError>
fn expect_table<T>(&self) -> Result<T, ReadError>where
T: TopLevelTable + FontRead<'a>,
fn head(&self) -> Result<TableRef<'a, HeadMarker>, ReadError>
fn name(&self) -> Result<TableRef<'a, NameMarker>, ReadError>
fn hhea(&self) -> Result<TableRef<'a, HheaMarker>, ReadError>
fn vhea(&self) -> Result<TableRef<'a, VheaMarker>, ReadError>
fn hmtx(&self) -> Result<TableRef<'a, HmtxMarker>, ReadError>
fn hdmx(&self) -> Result<TableRef<'a, HdmxMarker>, ReadError>
fn vmtx(&self) -> Result<TableRef<'a, VmtxMarker>, ReadError>
fn vorg(&self) -> Result<TableRef<'a, VorgMarker>, ReadError>
fn fvar(&self) -> Result<TableRef<'a, FvarMarker>, ReadError>
fn avar(&self) -> Result<TableRef<'a, AvarMarker>, ReadError>
fn hvar(&self) -> Result<TableRef<'a, HvarMarker>, ReadError>
fn vvar(&self) -> Result<TableRef<'a, VvarMarker>, ReadError>
fn mvar(&self) -> Result<TableRef<'a, MvarMarker>, ReadError>
fn maxp(&self) -> Result<TableRef<'a, MaxpMarker>, ReadError>
fn os2(&self) -> Result<TableRef<'a, Os2Marker>, ReadError>
fn post(&self) -> Result<TableRef<'a, PostMarker>, ReadError>
fn gasp(&self) -> Result<TableRef<'a, GaspMarker>, ReadError>
Sourcefn loca(&self, is_long: impl Into<Option<bool>>) -> Result<Loca<'a>, ReadError>
fn loca(&self, is_long: impl Into<Option<bool>>) -> Result<Loca<'a>, ReadError>
is_long can be optionally provided, if known, otherwise we look it up in head.
fn glyf(&self) -> Result<TableRef<'a, GlyfMarker>, ReadError>
fn gvar(&self) -> Result<TableRef<'a, GvarMarker>, ReadError>
Sourcefn cvt(&self) -> Result<&'a [BigEndian<i16>], ReadError>
fn cvt(&self) -> Result<&'a [BigEndian<i16>], ReadError>
Returns the array of entries for the control value table which is used for TrueType hinting.
fn cvar(&self) -> Result<TableRef<'a, CvarMarker>, ReadError>
fn cff(&self) -> Result<Cff<'a>, ReadError>
fn cff2(&self) -> Result<Cff2<'a>, ReadError>
fn cmap(&self) -> Result<TableRef<'a, CmapMarker>, ReadError>
fn gdef(&self) -> Result<TableRef<'a, GdefMarker>, ReadError>
fn gpos(&self) -> Result<TableRef<'a, GposMarker>, ReadError>
fn gsub(&self) -> Result<TableRef<'a, GsubMarker>, ReadError>
fn feat(&self) -> Result<TableRef<'a, FeatMarker>, ReadError>
fn ltag(&self) -> Result<TableRef<'a, LtagMarker>, ReadError>
fn ankr(&self) -> Result<TableRef<'a, AnkrMarker>, ReadError>
fn trak(&self) -> Result<TableRef<'a, TrakMarker>, ReadError>
fn morx(&self) -> Result<TableRef<'a, MorxMarker>, ReadError>
fn kerx(&self) -> Result<TableRef<'a, KerxMarker>, ReadError>
fn kern(&self) -> Result<Kern<'a>, ReadError>
fn colr(&self) -> Result<TableRef<'a, ColrMarker>, ReadError>
fn cpal(&self) -> Result<TableRef<'a, CpalMarker>, ReadError>
fn cblc(&self) -> Result<TableRef<'a, CblcMarker>, ReadError>
fn cbdt(&self) -> Result<TableRef<'a, CbdtMarker>, ReadError>
fn eblc(&self) -> Result<TableRef<'a, EblcMarker>, ReadError>
fn ebdt(&self) -> Result<TableRef<'a, EbdtMarker>, ReadError>
fn sbix(&self) -> Result<TableRef<'a, SbixMarker>, ReadError>
fn stat(&self) -> Result<TableRef<'a, StatMarker>, ReadError>
fn svg(&self) -> Result<TableRef<'a, SvgMarker>, ReadError>
fn varc(&self) -> Result<TableRef<'a, VarcMarker>, ReadError>
fn meta(&self) -> Result<TableRef<'a, MetaMarker>, ReadError>
fn base(&self) -> Result<TableRef<'a, BaseMarker>, ReadError>
fn dsig(&self) -> Result<TableRef<'a, DsigMarker>, ReadError>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.