Cargo Features

[dependencies]
ttf-parser = { version = "0.24.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 default-features = false somewhere in the dependency tree.

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