alpha2-text 0.4.6

Portable text shaping and rasterization for alpha2 hosts, native and wasm.
Documentation
[package]
name = "alpha2-text"
version.workspace = true
description = "Portable text shaping and rasterization for alpha2 hosts, native and wasm."
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
keywords = ["text", "shaping", "rasterization", "captions", "wasm"]
categories = ["text-processing", "rendering"]
# Tests, test-only modules, benches and fixtures stay in the repository, where `cargo test` runs.
include = [
  "/src/**",
  "/README.md",
  "/LICENSE.md",
  "!/src/**/tests.rs",
  "!/src/**/*_tests.rs",
  "!/src/**/tests/**",
]

[dependencies]
alpha2-media.workspace = true
# Without `std` (so with `libm`): on x86 `std` picks an AVX2 or SSE4.2 line drawing at run time,
# and the one scalar path keeps native and wasm glyphs the same bytes.
ab_glyph_rasterizer = { version = "0.1.10", default-features = false, features = ["libm"] }
# The sweep gradient's angle: `libm`'s `atan2f`, not the target's, so color glyphs match too.
libm = "0.2.16"
png.workspace = true
rustybuzz = "0.20.1"
unicode-bidi = "0.3.18"
unicode-linebreak = "0.1.5"
unicode-script = "0.5.8"
unicode-segmentation = "1.13.3"

[lints]
workspace = true

[dev-dependencies]
alpha2-scaling-support.workspace = true
# Exact float parsing, so a pinned f32 metric reads back as the value it was written from.
serde_json = { workspace = true, features = ["float_roundtrip"] }

[[bench]]
name = "caption_raster"
harness = false