# Port Upstream PRs #1311, #1322 + Verify #1329 **Date:** 2026-03-08 **Task:** Port two upstream PRs and verify alignment of a previously-ported PR that was recently merged. ## Changes Made ### PR #1311 -- Fix inter-word spacing rounding error (UNMERGED, ported as mod feature) Replaced `getSpaceKernAdjust()` with `getSpaceAdvance()` which combines space glyph advance and flanking kern values into a single fixed-point sum before pixel snapping, fixing +/-1 px rounding drift in inter-word spacing. **Files modified:** - `lib/GfxRenderer/GfxRenderer.h` -- replaced declaration - `lib/GfxRenderer/GfxRenderer.cpp` -- replaced implementation (single-snap pattern) - `lib/Epub/Epub/ParsedText.h` -- removed `spaceWidth` parameter from 3 internal functions - `lib/Epub/Epub/ParsedText.cpp` -- updated all 4 call sites to use `getSpaceAdvance()` ### PR #1322 -- Early exit on fillUncompressedSizes (MERGED, ported for immediate use) Added `targetCount` variable and early `break` when all ZIP central-directory targets are matched. **Files modified:** - `lib/ZipFile/ZipFile.cpp` -- 5-line addition ### PR #1329 -- Reader utils refactor (MERGED, verification only) Confirmed our existing port matches the upstream merged version (commit `cd508d2`) line-for-line. No code changes needed. ### Tracking documentation updated - `mod/docs/upstream-sync.md` -- added #1311, #1322; updated #1329 status to MERGED - `mod/prs/MERGED.md` -- added detailed entries for #1311 and #1322; updated #1329 author and status ## Build Result SUCCESS -- zero compiler errors/warnings from our changes. Only pre-existing i18n translation warnings. ## Follow-up Items - #1311: Will be dropped during next sync if/when merged upstream - #1322: Will be dropped during next sync (already merged upstream) - #1329: Will be dropped during next sync (already merged upstream) - Hardware testing recommended: verify text layout rendering after spacing fix (#1311)