v0.2.6 | CJK Support & Structure Tree Enhancements
v0.2.6 Release
This release adds comprehensive CJK (Chinese, Japanese, Korean) language support and enhances structure tree handling for Tagged PDFs.
🌍 CJK Language Support
- Predefined CMap support for CJK fonts (PDF Spec Section 9.7.5.2)
- Adobe-GB1 (Simplified Chinese) - ~500 common character mappings
- Adobe-Japan1 (Japanese) - Hiragana, Katakana, Kanji mappings
- Adobe-CNS1 (Traditional Chinese) - Bopomofo and CJK mappings
- Adobe-Korea1 (Korean) - Hangul and Hanja mappings
- Fallback identity mapping for common Unicode ranges
- Type 0 /W array parsing for CIDFont glyph widths
- Proper spacing for CJK text using CIDFont width specifications
🏷️ Structure Tree Enhancements
- TagSuspect/MarkInfo support (ISO 32000-1 Section 14.7.1)
- Parse MarkInfo dictionary from document catalog
marked,suspects,user_propertiesfields- Automatic fallback to geometric ordering when structure tree is marked suspect
- Word Break /WB structure element (Section 14.8.4.4)
- Support for explicit word boundaries in CJK text
- Word break markers emitted during structure tree traversal
- Abbreviation expansion /E support (Section 14.9.5)
- Parse
/Eentry from marked content properties expansionfield onStructElemfor abbreviations
- Parse
✨ New Features
- Object reference resolution utility
PdfDocument::resolve_references()for recursive reference handling- Simplifies working with complex PDF structures
- ActualText verification tests - Comprehensive test coverage for Section 14.9.4
- Enhanced artifact filtering with subtype support
ArtifactType::Paginationwith Header, Footer, Watermark, PageNumberArtifactType::LayoutandArtifactType::Backgroundclassification
🐛 Bug Fixes
- Soft hyphen handling (U+00AD) - Correctly treated as valid continuation hyphen for word reconstruction
✅ Verification
- CJK text extraction tested on Chinese, Japanese, Korean documents
- Structure tree handling validated
- Word break detection verified
- All tests pass
📥 Installation
Rust (crates.io)
cargo add pdf_oxidePython (PyPI)
pip install pdf_oxideRelease Date: January 9, 2026
Branch: main
Tag: v0.2.6