- Add build.rs that generates compile-time std14 metrics from JSON - Add std14.rs module with Std14Metrics struct and get_std14_metrics() - Add build/std14-metrics.json with AFM-derived widths for all 14 fonts - Re-export Std14Metrics, NamedEncoding, get_std14_metrics in lib.rs Acceptance criteria: - All 14 Standard fonts (Courier, Helvetica, Times, Symbol, ZapfDingbats and their variants) return valid metrics from the registry - Subset-prefixed names (ABCDEF+Helvetica) resolve via strip_subset_prefix() - Width tables match Adobe AFM data within rounding tolerance - Binary footprint < 60 KB (generated source: 20 KB, actual data ~8 KB) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
49 lines
1.1 KiB
TOML
49 lines
1.1 KiB
TOML
[package]
|
|
name = "pdftract-core"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
publish = true
|
|
|
|
[dependencies]
|
|
anyhow = { workspace = true }
|
|
hex = "0.4"
|
|
indexmap = "2.2"
|
|
flate2 = { workspace = true }
|
|
lzw = { workspace = true }
|
|
regex = "1.10"
|
|
secrecy = { workspace = true }
|
|
serde = { version = "1.0", features = ["derive"], optional = true }
|
|
serde_json = { version = "1.0", optional = true }
|
|
sha2 = "0.10"
|
|
thiserror = { workspace = true }
|
|
memchr = { workspace = true }
|
|
unicode-normalization = { workspace = true }
|
|
ttf-parser = "0.24"
|
|
zstd = "0.13"
|
|
rayon = "1.10"
|
|
phf = "0.11"
|
|
|
|
[features]
|
|
default = ["serde"]
|
|
serde = ["dep:serde", "dep:serde_json"]
|
|
receipts = [] # Enable visual citation receipts (SVG clip generation)
|
|
proptest = []
|
|
fuzzing = [] # Enable cfg(fuzzing) for fuzz harnesses
|
|
|
|
[dev-dependencies]
|
|
chrono = "0.4"
|
|
proptest = "1.4"
|
|
quick-xml = "0.36"
|
|
regex = "1.10"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
tempfile = "3.10"
|
|
filetime = "0.2"
|
|
|
|
[build-dependencies]
|
|
phf_codegen = "0.11"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|