v1.0.0-rc.5 — self-contained package + image/graphics improvements
Pre-release
Pre-release
Packaging
Lxman.PdfLibrary is now a fully self-contained package. All internal codec libraries — JPEG, JBIG2, JPEG 2000, CCITT, LZW, fonts (FontParser), ICC (ICCSharp), and logging — are bundled into the package's lib/ folder. It now restores cleanly with only third-party dependencies (Serilog, System.Text.Json, Wacton.Unicolour; SkiaSharp via the rendering package). Lxman.PdfLibrary.Rendering.SkiaSharp depends only on the self-contained core + SkiaSharp.
Image & graphics improvements
- JBIG2 — byte-aligned compositing (14–22× faster region/glyph compose) and AT-folded generic template-0 decoding (~2.25× faster full-page decode). Validated byte-exact against jbig2dec.
- JPEG — fixed grayscale H2V2 (4:2:0) decoding that squished single-component images.
- JPEG 2000 — hardened against malformed/fuzzer input; corrupt codestreams now reject cleanly with
InvalidDataException. - Rendering — synthetic bold, CropBox canvas sizing, and character spacing on long lines.
Validated against a 735-PDF / 684-image corpus compared with PDFium and SkiaSharp.