pdftract/crates/pdftract-cli
jedarden 730eeffcee feat(pdftract-p7yll): implement cm operator diagnostics
Added CM_ARG_COUNT and CM_DEGENERATE diagnostic codes for the cm
operator. The cm operator was already implemented in render.rs and
type3_rasterizer.rs; this change adds proper error handling for:

- Wrong argument count (must be exactly 6 numbers)
- Degenerate matrices (NaN values or determinant == 0)

When errors occur, diagnostics are emitted and the CTM is not modified
(clamped to identity).

Closes: pdftract-p7yll

Files modified:
- crates/pdftract-core/src/diagnostics.rs: Added CmArgCount, CmDegenerate
- crates/pdftract-core/src/render.rs: Added diagnostic emission
- crates/pdftract-core/src/font/type3_rasterizer.rs: Added diagnostic emission
- crates/pdftract-cli/src/main.rs: Added CLI output for new diagnostics

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 04:13:16 -04:00
..
src feat(pdftract-p7yll): implement cm operator diagnostics 2026-05-24 04:13:16 -04:00
tests feat(pdftract-mcp): add MCP server implementation changes 2026-05-23 03:09:56 -04:00
build.rs feat(pdftract-4q8cq): implement 14 environment checks for pdftract doctor 2026-05-23 06:47:07 -04:00
Cargo.toml test(pdftract-sy8x): implement lexer proptest harness and curated corpus 2026-05-24 02:36:37 -04:00
pdftract-cli.cdx.json feat(pdftract-67tm8): implement MCP stdio transport with integration tests 2026-05-23 00:16:42 -04:00