[package]
name = "rusttype"
version = "0.9.3"
authors = [
    "Dylan Ede <dylanede@googlemail.com>",
    "Jeremy Soller <jackpot51@gmail.com>",
    "Alex Butler <alexheretic@gmail.com>",
]
edition = "2021"
description = """
A pure Rust alternative to libraries like FreeType.

RustType provides an API for loading, querying and rasterising TrueType fonts.

It also provides an implementation of a dynamic GPU glyph cache for hardware font rendering.
"""
documentation = "https://docs.rs/rusttype"
homepage = "https://gitlab.redox-os.org/redox-os/rusttype"
repository = "https://gitlab.redox-os.org/redox-os/rusttype"
readme = "README.md"
license = "MIT / Apache-2.0"
keywords = ["font", "truetype", "opentype", "ttf", "otf"]
exclude = ["/dev/**"]

[package.metadata.docs.rs]
features = ["gpu_cache"]

[dependencies]
owned_ttf_parser = { version = "0.18", default-features = false }
ab_glyph_rasterizer = { version = "0.1.8", default-features = false }

libm = { version = "0.2.6", default-features = false, optional = true }

linked-hash-map = { version = "0.5", optional = true }
rustc-hash = { version = "1", optional = true }

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
crossbeam-deque = { version = "0.8", optional = true }
crossbeam-utils = { version = "0.8", optional = true }
num_cpus = { version = "1.15", optional = true }

[dev-dependencies]
# don't add any more, instead use ./dev
approx = { version = "0.5", default-features = false }

[features]
default = ["std"]
# Activates usage of std.
std = ["has-atomics", "owned_ttf_parser/default", "ab_glyph_rasterizer/default"]
# Uses libm when not using std. This needs to be active in that case.
libm-math = ["libm", "ab_glyph_rasterizer/libm"]
# Some targets don't have atomics, this activates usage of Arc<T> instead of Rc<T>.
has-atomics = []
# Adds `gpu_cache` module
gpu_cache = ["std", "linked-hash-map", "rustc-hash", "crossbeam-deque", "crossbeam-utils", "num_cpus"]

[workspace]
# Used for tests, examples etc that require extra dependencies
members = ["dev"]
