Commit Graph
1788 Commits
Author SHA1 Message Date
jpirnay c9c9bf0f93 Merge pull request #194 from jpirnay/fix-opds-oom
feat: Support OPDS image sidecar download and fix OOM for large lists
2026-05-10 21:41:15 +02:00
jpirnay 4ca4e54d50 cppcheck complaints 2026-05-10 21:34:41 +02:00
jpirnay 917219401a Dont create cjk fonts (yet) 2026-05-10 21:28:32 +02:00
jpirnay f48636c2b9 Fix section hash 2026-05-10 21:26:52 +02:00
jpirnay 5304086bcd Fixes 2026-05-10 21:06:55 +02:00
jpirnay 80eb889256 Add opds image download 2026-05-10 20:47:35 +02:00
jpirnay ba30ed029f Update font weights for Bitter font in YAML 2026-05-10 18:10:53 +02:00
jpirnay c4b94737fd Support large opds result listings without an OOM 2026-05-10 18:03:47 +02:00
jpirnay 7dcd433fe6 Fixing double click regression 2026-05-10 15:46:47 +02:00
jpirnay fe60b12d86 Improving KOReader sync 2026-05-10 15:46:33 +02:00
jpirnay b5ea8d3550 Remove duplicate strings 2026-05-10 14:16:06 +02:00
jpirnay a3729348e4 Update Polish 2026-05-10 14:11:37 +02:00
jpirnay ad52abf069 Close source TTFont after instantiateVariableFont rebind
instantiateVariableFont with default inplace=False returns a *new*
TTFont; rebinding `font` strands the source TTFont and its file handle
open until GC. The trailing font.close() then closes only the new
pinned-instance object.

Capture the source as a separate reference and close both with nested
try/finally: inner finally closes the static instance after save (or
on save failure), outer finally closes the source unconditionally.
2026-05-10 10:35:51 +02:00
jpirnay 49b039a775 Fix SMP ligature filter and Extension-wrapped GPOS kern dispatch
Two related bugs in fontconvert_sdcard.py:

1. SMP filter for ligatures was post-pack, which only checked the
   already-masked low half (always ≤ 0xFFFF), didn't check `lc`, and
   couldn't catch SMP cps that already had bits truncated by the
   mask. Filter at source instead — inside extract_ligatures_fonttools
   when building the `filtered` dict — so any seq with an SMP
   component or any lig_cp > 0xFFFF is dropped before packing. The
   chained 3+ char path is naturally covered because
   `intermediate_cp = filtered[prefix].lig_cp` reads from the same
   already-filtered table.

2. GPOS kern dispatch checked `actual.LookupType` after unwrapping an
   Extension subtable. Format-specific subtables (PairPosFormat1/2)
   don't carry `LookupType`, so this fails for any Extension-wrapped
   PairPos lookup — i.e. how every modern font (Inter, Source Serif,
   Bitter, …) ships kern. Use the effective type instead:
       effective_type = getattr(st, "ExtensionLookupType", lookup.LookupType)
   so non-Extension lookups read the outer type and Extension lookups
   read the inner ExtensionLookupType, and Type-2 PairPos lookups
   actually reach _extract_pairpos_subtable in either case.
2026-05-10 10:16:36 +02:00
jpirnay 907fdadf16 Drop unsupported static=True kwarg from instantiateVariableFont
instantiateVariableFont() in current fontTools doesn't accept a
`static` parameter (signature: varfont, axisLimits, inplace=False,
optimize=True, overlap=…, updateFontNames=False, *, downgradeCFF2=False).
Calling it with static=True raises TypeError, breaking
extract_static_instance() for any sd-fonts.yaml entry that uses the
`variable: {wght: …}` form.

Drop the unsupported kwarg; keep updateFontNames=True (name table
accuracy) and optimize=False (skip wasted gvar work when every axis
is fully pinned). The output is still a fully-pinned static instance
because all yaml-declared axes are pinned in `axes`.
2026-05-10 08:28:16 +02:00
jpirnay fbd79d158a Merge pull request #191 from jpirnay/fix-dashbetweenwords
fix: Use dash as valid breakpoint between words
2026-05-10 06:51:20 +02:00
jpirnay d870d4f99f Use dash as valid breakpoint between words 2026-05-09 19:59:10 +02:00
jpirnay 436b079ef7 Merge branch 'master' of https://github.com/jpirnay/crosspoint-reader 2026-05-09 01:25:29 +02:00
jpirnay 803d790718 version bump 2026-05-09 01:25:27 +02:00
jpirnay b57bd39916 Enhance README with tables support in strikethrough
Updated README to include support for tables in strikethrough feature.
2026-05-09 01:22:03 +02:00
jpirnay eee63b2155 Language updates 2026-05-09 01:08:15 +02:00
jpirnay 6059cb8a25 Add firmware update options to submenu 2026-05-09 00:36:54 +02:00
jpirnay f6d2b7442b Allow (empty) directory removal 2026-05-09 00:15:28 +02:00
jpirnay 1f1a80581d Merge pull request #185 from jpirnay/feat-pr1775
feat: Add and refactor carousel theme (Upstream 1775 by zgredex)
2026-05-09 00:10:00 +02:00
jpirnay fe96dfa7a5 Remove unused variable 2026-05-09 00:04:38 +02:00
jpirnay 481309a708 Don't gate thumbnail generation on the href extension 2026-05-08 23:55:45 +02:00
jpirnay b43ba8059b Height-only upscaling still never takes effect 2026-05-08 23:51:46 +02:00
jpirnay db4ef52d22 Remove the destination file on post-create failures 2026-05-08 23:50:27 +02:00
jpirnay 67e2d802ea Keep the header out of the cached framebuffer 2026-05-08 23:48:56 +02:00
jpirnay c66cfc261a Refresh the cached frame when the selected book changes. 2026-05-08 23:46:05 +02:00
jpirnay a20e20aae0 Guard extension split to filename only 2026-05-08 23:44:07 +02:00
jpirnay 08ddc4e481 Use smaller fit scale 2026-05-08 23:41:43 +02:00
jpirnay 9cd732bfd8 Amend error code 2026-05-08 23:37:03 +02:00
jpirnay 432b47b2ee Merge pull request #184 from jgoguen/add-beta-release-setting
feat: Allow OTA update to beta releases
2026-05-08 23:34:10 +02:00
jpirnay 79ef2eea91 Some fixes for cover generation 2026-05-08 18:04:41 +02:00
jpirnay 13e87ff470 Reduce memory need 2026-05-08 17:29:59 +02:00
jpirnay 98e7c14c16 Proper sidecar cover support 2026-05-08 16:09:39 +02:00
jpirnay a26d076721 More tweaks 2026-05-08 12:00:01 +02:00
jpirnay 0e88c69d80 More tweaks 2026-05-08 11:54:24 +02:00
jpirnay 0b78735ce3 Tweaks 2026-05-08 11:40:16 +02:00
jpirnay 8a92edcea5 Add and refactor LyraCarouselTheme by zgredex 2026-05-08 09:36:12 +02:00
Joel Goguen 3a612df4b5 feat: Allow OTA update to beta releases 2026-05-07 23:29:15 -04:00
jpirnay 4005bf55e5 Add Lyra Carousel home theme 2026-05-07 23:42:35 +02:00
jpirnay 0b93445450 Fix order of description and team size for CrossInk 2026-05-07 23:13:15 +02:00
jpirnay 95912269fc Add crossink as option 2026-05-07 23:12:16 +02:00
jpirnay a670012328 Merge pull request #181 from jpirnay/feat-table
feat: Adapt table implementation from crossink
2026-05-07 22:45:10 +02:00
jpirnay 3316d33a4e Review comments 2026-05-07 22:20:10 +02:00
jpirnay 91e9539ee2 Merge pull request #182 from jpirnay/feat-progressive-jpeg
feat: Add progressive jpeg support (idea from broemp)
2026-05-07 22:17:26 +02:00
jpirnay e22ec604a6 Fix 2026-05-07 22:02:21 +02:00
jpirnay 609d8eec25 Add progressive jpeg support (idea from broemp) 2026-05-07 21:47:59 +02:00