mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-11-09 12:32:52 +00:00
A quad counts only when all 8 entries are present, numeric and finite. Anything else contributes nothing — never folded, shifted or zero-filled into a box the document does not describe. With no usable quad the existing /Rect fallback runs, and with neither the mark stays unreadable. The rule lives in one helper, geom::quad_points::usable_quads, and redact, render-inspect, annot summaries and annot appearance drawing all read through it, so the outline shown is the area apply removes. Redact also follows indirect numbers in /QuadPoints now, which it used to drop.
36 lines
1.2 KiB
TOML
36 lines
1.2 KiB
TOML
[package]
|
|
name = "pdfcraft-render"
|
|
description = "Page rendering (bootstrap: hayro) and document inspection for PdfCraft"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
pdfcraft-cos = { workspace = true }
|
|
pdfcraft-fonts = { workspace = true }
|
|
# The usable-quad rule `/QuadPoints` readers share.
|
|
pdfcraft-geom = { workspace = true }
|
|
hayro ={ workspace = true }
|
|
hayro-syntax = { workspace = true }
|
|
# Picks the face of an installed font collection (the version pdfcraft-fonts already uses).
|
|
skrifa = "0.44"
|
|
lopdf = { workspace = true }
|
|
kurbo = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
log = { workspace = true }
|
|
# The reading-colours setting is persisted with the app state and echoed by the automation tool.
|
|
serde = { workspace = true }
|
|
# Reads rendered pixel words as bytes; already in the tree through hayro.
|
|
bytemuck = { version = "1" }
|
|
|
|
# lopdf (bootstrap) draws random bytes for encryption; on the web they come from the browser.
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
|
getrandom = { version = "0.4", features = ["wasm_js"] }
|
|
|
|
[dev-dependencies]
|
|
# Builds the decompression-bomb streams in the raster tests.
|
|
flate2 = { workspace = true }
|