- Add DifferencesOverlay struct for sparse glyph name overrides - Add FontEncoding struct combining base encoding with differences - Handle all encoding indirection patterns (name, dict, missing) - Emit FontEncodingDifferenceOutOfRange diagnostic for out-of-range codes - Add 13 comprehensive tests covering all acceptance criteria Acceptance criteria: - [PASS] [ 39 /quotesingle 96 /grave ] parses correctly - [PASS] [ 39 /a /b /c ] consecutive assignment works - [PASS] Overlay precedence over base encoding - [PASS] Unknown glyph names returned for L3/L4 fallback - [PASS] Multiple Differences blocks handled - [PASS] Out-of-range codes clamped with diagnostics |
||
|---|---|---|
| .. | ||
| pdftract-cer-diff | ||
| pdftract-cli | ||
| pdftract-core | ||
| pdftract-libpdftract | ||
| pdftract-py | ||