kas-text 0.6.0

Text layout and font management
Documentation
[package]
name = "kas-text"
version = "0.6.0"
authors = ["Diggory Hardy <git@dhardy.name>"]
edition = "2021"
license = "Apache-2.0"
description = "Text layout and font management"
readme = "README.md"
documentation = "https://docs.rs/kas-text/"
keywords = ["text", "bidi", "shaping"]
categories = ["text-processing"]
repository = "https://github.com/kas-gui/kas-text"
exclude = ["design"]

[package.metadata.docs.rs]
# To build locally:
# RUSTDOCFLAGS="--cfg doc_cfg" cargo +nightly doc --features markdown,raster --no-deps --open
features = ["markdown", "raster", "num_glyphs"]
rustdoc-args = ["--cfg", "doc_cfg"]

[features]
# Support num_glyphs method
num_glyphs = []

# Enable shaping with the default dependency.
shaping = ["rustybuzz"]
# Enable shaping via HarfBuzz.
harfbuzz = ["harfbuzz_rs"]

# Enable Markdown parsing
markdown = ["pulldown-cmark"]

# Serialization is optionally supported for some types:
# serde

# Glyph rastering is optionally supported; "raster" uses the default backend
# or a backend may be specified directly:
raster = ["ab_glyph"]
# ab_glyph
# fontdue

[dependencies]
cfg-if = "1.0.0"
easy-cast = "0.5.0"
bitflags = "1.3.1"
fontdb = "0.10.0"
ttf-parser = "0.17.1"
lazy_static = "1.4.0"
smallvec = "1.6.1"
xi-unicode = "0.3.0"
unicode-bidi = "0.3.4"
unicode-bidi-mirroring = "0.1.0"
thiserror = "1.0.20"
pulldown-cmark = { version = "0.9.1", optional = true }
log = "0.4"
serde = { version = "1.0.123", features = ["derive"], optional = true }
ab_glyph = { version = "0.2.10", optional = true }
fontdue = { version = "0.7.2", optional = true }

[dependencies.rustybuzz]
version = "0.6.0"
optional = true

[dependencies.harfbuzz_rs]
version = "2.0"
optional = true