Skip to content

chore: Merge upstream - #145

Open
znelson wants to merge 13 commits into
mainfrom
upstream-merge
Open

znelson wants to merge 13 commits into
mainfrom
upstream-merge

Conversation

@znelson

@znelson znelson commented Sep 28, 2026 •

Copy link
Copy Markdown
Owner

Upstream sync

Upstream commits merged (eb987351..90039d7f, 12 first-parent commits):

  • 68138ff feat(i18n): add Vietnamese translation (#2279)
  • 1f83087 feat(fonts): add Vietnamese glyph coverage to the built-in UI font (#2280)
  • 301f1d1 fix: Compile Error: Duplicate _order values found (#2323)
  • 9202522 refactor: Drop redundant self-class prefix on applyDirectionToEntry (#2325)
  • f2e3d11 fix: Hanging indent causes overlapping words (#2324)
  • 6f05e40 feat: add the Libre Baskerville font family (#2088)
  • 21caebd fix: use Noto Sans as punctuation fallback when generating downloadable SD fonts (#2331)
  • 8634cb8 fix: Restore first-line paragraph indentation (#2320)
  • 55a5691 fix(i18n): localize home empty-state strings (#2342)
  • 02bab00 fix: swap reader menu navigation direction in CCW/inverted (#2321) (#2341)
  • 16eb66d fix: add missing HTML 4.01 named entities (#2352)
  • 90039d7 fix(koreader): resolve element XPath progress against visible body text (#2308)

Resolutions

  • lib/KOReaderSync/ProgressMapper.cpp (#2308): feature removed - kept deleted (auto-reaped per .upstream-sync.yaml).
  • lib/Epub/Epub/Section.cpp: relocated to lib/Typesetter; upstream's change was the FILE_VERSION 25->26 bump already ported in fix: Hanging indent causes overlapping words #131 - kept deleted.
  • lib/Typesetter/Typesetter/ParsedText.cpp: upstream's first-line indent fix (#2320) auto-merged via rename detection; 5 refactor collisions (TextAlign enum, bidi scratch buffers, implicit narrowing) resolved to LightPoint's form.
  • lib/Typesetter/Typesetter/blocks/BlockStyle.h: fromCssStyle lives in BlockStyleFactory.h here; upstream's comment fix ported there.
  • src/main.cpp + src/MappedInputManager.h: upstream's new MappedInputManager(gpio, renderer) constructor (#2341) reconciled with LightPoint's halGPIO/halDisplay globals; renderer declared first.
  • lib/EpdFont/scripts/fontconvert_sdcard.py: combined LightPoint's synthetic-glyph skip with upstream's Noto Sans punctuation fallback (#2331).
  • Judgment call: Section::FILE_VERSION 26 -> 27. Upstream #2320 changes serialized layout (EmSpace-prepend hack replaced by computed indent) without bumping; LightPoint already shipped 26, so cached sections must regenerate.
  • vietnamese.yaml normalized by scripts/normalize_locales.py: 378 -> 273 lines (99 removed-feature keys dropped, STR_CROSSPOINT renamed and rebranded, English-identical values stripped, no _order collision).
  • kazakh.yaml: one stray empty value dropped (normalizer baseline; STR_TO_PREFIX falls back to English identically).

Verification

  • upstream_sync.py verify passed: i18n regen, normalize_locales --check, reap --check, clang-format (12 changed sources), pio run.

MERGE WITH A MERGE COMMIT - NEVER SQUASH. Squashing flattens the upstream graph out of main and poisons every future sync (see upstream-merge-process doc).

🤖 Generated with Claude Code

https://claude.ai/code/session_01NopywjRFiuAhMXszeZ1oJo

jetaudio and others added 13 commits June 11, 2026 15:10
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…rosspoint-reader#2280)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…rosspoint-reader#2325)

## Summary

Non-functional cleanup: `ChapterHtmlSlimParser::` prefix is redundant
when calling `applyDirectionToEntry` within `ChapterHtmlSlimParser`
methods.

---

### AI Usage

Did you use AI tools to help write this code? _**NO**_
## Summary

This PR adds the [Libre Baskerville
](https://github.com/impallari/Libre-Baskerville) font family to the
fonts available for download in CrossPoint.


## Additional Context

Baskerville is a classic font family, widely available in some form or
the other in most ereaders and widely used in publishing and in the
academy.

Libre Baskerville is a libre (SIL Open Font License v1) implementation
of it, which makes it possible for CrossPoint to ship it without issues.


![Vita-e-destino_ch30_p1_13pct_99220.bmp](https://github.com/user-attachments/files/28070672/Vita-e-destino_ch30_p1_13pct_99220.bmp)


---

### AI Usage

Did you use AI tools to help write this code? _**NO**_
Co-authored-by: Rafael Santos <rmsantos@applaudostudios.com>
…-merge

# Conflicts:
#	lib/EpdFont/scripts/fontconvert_sdcard.py
#	lib/Epub/Epub/Section.cpp
#	lib/KOReaderSync/ProgressMapper.cpp
#	lib/Typesetter/Typesetter/ParsedText.cpp
#	lib/Typesetter/Typesetter/blocks/BlockStyle.h
#	src/MappedInputManager.h
#	src/main.cpp

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NopywjRFiuAhMXszeZ1oJo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants