ttf-parser 0.25.0

A high-level, safe, zero-allocation font parser for TrueType, OpenType, and AAT.
Documentation
[package]
name = "ttf-parser"
version = "0.25.0"
authors = ["Yevhenii Reizner <razrfalcon@gmail.com>"]
keywords = ["ttf", "truetype", "opentype"]
categories = ["parser-implementations"]
license = "MIT OR Apache-2.0"
description = "A high-level, safe, zero-allocation font parser for TrueType, OpenType, and AAT."
repository = "https://github.com/RazrFalcon/ttf-parser"
documentation = "https://docs.rs/ttf-parser/"
readme = "README.md"
edition = "2018"
exclude = ["benches/**"]

[dependencies]
core_maths = { version = "0.1.0", optional = true } # only for no_std builds

[features]
default = ["std", "opentype-layout", "apple-layout", "variable-fonts", "glyph-names"]
# Enables the use of the standard library.
# When disabled, the `no-std-float` feature must be enabled instead.
std = []
no-std-float = ["core_maths"]
# Enables variable fonts support. Increases binary size almost twice.
# Includes avar, CFF2, fvar, gvar, HVAR, MVAR and VVAR tables.
variable-fonts = []
# Enables GDEF, GPOS, GSUB and MATH tables.
opentype-layout = []
# Enables ankr, feat, format1 subtable in kern, kerx, morx and trak tables.
apple-layout = []
# 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.
glyph-names = []
# 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.
gvar-alloc = ["std"]

[dev-dependencies]
base64 = "0.22.1"
pico-args = "0.5"
tiny-skia-path = "0.11.4"
xmlwriter = "0.1"