pdftract/tests
jedarden 64efdd594e feat(pdftract-5u8bp): implement SVG clip generator
Implement SVG clip generator for --receipts=svg mode. Generates
self-contained SVG documents from TTF/OTF glyph outlines via
ttf-parser, with proper coordinate transform (PDF bottom-left
origin to SVG top-left origin) and color space conversion.

Components:
- SvgGenerator: filters glyphs by bbox, extracts outlines
- SvgPathBuilder: ttf-parser::OutlineBuilder impl for SVG paths
- pdf_color_to_css(): DeviceRGB/Gray/CMYK to CSS colors

Acceptance criteria:
- SVG validates via quick-xml parse roundtrip
- Aggregate size <= 500 KB for 100 receipts (test passes)
- No external resource references (self-contained)
- Handles missing glyph outlines gracefully
- Coordinate transform unit-tested: (220, 432) → (20, 8)

Also fix unstable as_str() → as_ref() in stream.rs test.

Closes pdftract-5u8bp

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 03:43:19 -04:00
..
conformance feat(pdftract-5omc): implement per-language conformance test runner pattern 2026-05-18 01:32:24 -04:00
fixtures feat(pdftract-5u8bp): implement SVG clip generator 2026-05-23 03:43:19 -04:00
proptest fix(pdftract-2a6rk): fix xref.rs u64 literal overflow in proptest 2026-05-22 17:26:27 -04:00
proptest-regressions docs(pdftract-49f8): establish Cargo.lock policy and documentation 2026-05-20 18:13:14 -04:00
python-conformance feat(pdftract-5omc): implement SDK conformance test runner pattern 2026-05-18 01:22:23 -04:00
sdk-conformance feat(pdftract-mcp): add MCP server implementation changes 2026-05-23 03:09:56 -04:00
proptest-panic-verification.rs feat(pdftract-33v): add property tests and nightly fuzz job 2026-05-20 19:18:03 -04:00
test_classifier_corpus.rs test(classifier): add 200-document labeled corpus for Phase 5.6 2026-05-17 07:16:02 -04:00