Cargo Features
[dependencies]
ttf-parser = { version = "0.25.0", default-features = false, features = ["std", "no-std-float", "variable-fonts", "opentype-layout", "apple-layout", "glyph-names", "gvar-alloc"] }
- default = apple-layout, glyph-names, opentype-layout, std, variable-fonts
-
These default features are set whenever
ttf-parser
is added without
somewhere in the dependency tree.default-features = false - std default gvar-alloc?
-
Enables the use of the standard library. When disabled, the
no-std-float
feature must be enabled instead.Affects
cff::f32_abs
… - no-std-float = core_maths
- variable-fonts default
-
Enables variable fonts support. Increases binary size almost twice.
Includes avar, CFF2, fvar, gvar, HVAR, MVAR and VVAR tables.Affects
layout_table::LayoutTable.variations
,ttf-parser::RawFaceTables.avar
,ttf-parser::RawFaceTables.cff2
,ttf-parser::RawFaceTables.fvar
,ttf-parser::RawFaceTables.gvar
,ttf-parser::RawFaceTables.hvar
,ttf-parser::RawFaceTables.mvar
,ttf-parser::FaceTables.avar
,ttf-parser::FaceTables.cff2
,ttf-parser::FaceTables.fvar
,ttf-parser::FaceTables.gvar
,ttf-parser::FaceTables.hvar
,ttf-parser::FaceTables.mvar
,cff::cff2
,tables::avar
,tables::fvar
,tables::gvar
,tables::hvar
,tables::mvar
,tables::vvar
… - opentype-layout default
-
Enables GDEF, GPOS, GSUB and MATH tables.
Affects
ttf-parser::opentype_layout
,ttf-parser::RawFaceTables.gdef
,ttf-parser::RawFaceTables.gpos
,ttf-parser::RawFaceTables.gsub
,ttf-parser::RawFaceTables.math
,ttf-parser::FaceTables.gdef
,ttf-parser::FaceTables.gpos
,ttf-parser::FaceTables.gsub
,ttf-parser::FaceTables.math
,tables::gdef
,tables::gpos
,tables::gsub
,tables::math
… - apple-layout default
-
Enables ankr, feat, format1 subtable in kern, kerx, morx and trak tables.
Affects
ttf-parser::apple_layout
,ttf-parser::RawFaceTables.ankr
,ttf-parser::RawFaceTables.feat
,ttf-parser::RawFaceTables.kerx
,ttf-parser::RawFaceTables.morx
,ttf-parser::RawFaceTables.trak
,ttf-parser::FaceTables.ankr
,ttf-parser::FaceTables.feat
,ttf-parser::FaceTables.kerx
,ttf-parser::FaceTables.morx
,ttf-parser::FaceTables.trak
,tables::ankr
,tables::feat
,tables::kerx
,tables::morx
,tables::trak
… - glyph-names default
-
Enables glyph name query via
Face::glyph_name
. TrueType fonts do not store default glyph names, to reduce file size, which means we have to store them in ttf-parser. And there are almost 500 of them. By disabling this feature a user can reduce binary size a bit. - gvar-alloc = std
-
Enables heap allocations during gvar table parsing used by Apple's variable fonts.
Due to the way gvar table is structured, we cannot avoid allocations.
By default, only up to 32 variable tuples will be allocated on the stack,
while the spec allows up to 4095. Most variable fonts use 10-20 tuples,
so our limit is suitable for most of the cases. But if you need full support, you have to enable this feature.
Features from optional dependencies
In crates that don't use the dep:
syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.
- core_maths no-std-float?
-
Enables core_maths
only for no_std builds