PR #1311: Replace separate spaceWidth + getSpaceKernAdjust() with a single getSpaceAdvance() that combines space glyph advance and kerning in fixed-point before snapping to pixels, eliminating +/-1 px rounding drift in text layout. PR #1322: Add early exit to fillUncompressedSizes() once all target entries are matched, avoiding unnecessary central directory traversal. Also updates tracking docs and verifies PR #1329 (reader utils refactor) matches upstream after merge. Made-with: Cursor
1.9 KiB
1.9 KiB
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 declarationlib/GfxRenderer/GfxRenderer.cpp-- replaced implementation (single-snap pattern)lib/Epub/Epub/ParsedText.h-- removedspaceWidthparameter from 3 internal functionslib/Epub/Epub/ParsedText.cpp-- updated all 4 call sites to usegetSpaceAdvance()
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 MERGEDmod/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)