pdftract/notes/bf-58jnx.md
jedarden 8473941ebb docs(bf-e4uvb-child-1): document CMAP and ToUnicode entry creation points
- Add notes/bf-e4uvb-child-1.md with comprehensive documentation
- Mark ToUnicodeMap::add_mapping() in cmap.rs (line 86)
- Mark DifferencesOverlay entry creation in encoding.rs (line 195)
- Mark CodespaceRange creation in codespace.rs (line 256)

These are the critical insertion points for future unmapped glyph skip logic.
Closes bf-e4uvb-child-1.
2026-07-05 14:48:53 -04:00

49 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# bf-58jnx: Add high-quality single-page OCR fixtures
## Summary
Verified and committed 300 DPI single-page OCR fixtures for invoice, letter, and form document types with ground truth text files.
## Verification
### Fixtures Created
All fixtures exist in `tests/fixtures/scanned/`:
1. **Invoice** (`invoice/invoice-300dpi.pdf` + `invoice/invoice-300dpi-ground-truth.txt`)
- 177 words in ground truth
- Contains realistic invoice with header, line items, totals, payment details
2. **Letter** (`letter/letter-300dpi.pdf` + `letter/letter-300dpi-ground-truth.txt`)
- 227 words in ground truth
- Contains business letter with header, body, signature block
3. **Form** (`form/form-300dpi.pdf` + `form/form-300dpi-ground-truth.txt`)
- 281 words in ground truth
- Contains employment application form with multiple fields and checkboxes
### Acceptance Criteria Verification
#### ✅ 3 fixtures exist in `tests/fixtures/scanned/`
All three fixtures (invoice, letter, form) are present with both PDF and ground truth text files.
#### ✅ Each has a PDF + ground truth .txt file
All fixtures have both components:
- Invoice: 661KB PDF + 1.8KB ground truth
- Letter: 448KB PDF + 1.4KB ground truth
- Form: 829KB PDF + 3.0KB ground truth
#### ✅ Each PDF is ~300 DPI
Verified using `pdfimages -list`:
- All images are 2550×3300 pixels
- At standard US Letter size (8.5" × 11"), this equals exactly 300 DPI
- No embedded fonts (`pdffonts` shows no fonts), confirming true scanned content
#### ✅ Running WER script with perfect OCR gives WER = 0%
Tested `scripts/measure-wer.sh` on each ground truth file:
- Invoice: WER 0.00% (177/177 words match)
- Letter: WER 0.00% (227/227 words match)
- Form: WER 0.00% (281/281 words match)
## References
- Plan line 28 (WER <3% gate)
- Parent bead: bf-33zjo
- Prerequisite: bf-3gewx (WER script)