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
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
jpirnay
02bdf3f65d
Revert "Adapt table implementation from crossink"
...
This reverts commit ca9475f0c3 .
2026-05-07 21:37:50 +02:00
jpirnay
3ecbf29bd4
Adapt table implementation from crossink
2026-05-07 21:35:14 +02:00
jpirnay
ca9475f0c3
Adapt table implementation from crossink
2026-05-07 21:33:35 +02:00
jpirnay
1ca18c4575
Revert to same quantization thresholds as in upstream
2026-05-07 20:25:57 +02:00
jpirnay
ce9e0d83ec
Merge pull request #180 from jpirnay/feat-pr1786
...
feat: SD-card firmware update + X3 bootloader compatibility (upstrem 1786 by eunchurn)
2026-05-07 20:10:16 +02:00
jpirnay
3a93355d98
Proper linewrap and centering
2026-05-07 20:02:35 +02:00
jpirnay
eb203f3ba3
Properly wrap message
2026-05-07 19:54:40 +02:00
jpirnay
a0aee0ba1b
SD-card firmware update + X3 bootloader compatibility ( #1786 )
2026-05-07 19:38:12 +02:00
jpirnay
82448e856e
Merge pull request #179 from jpirnay/feat-pr1809
...
feat: Movable status bar and dual-edge progress bars (upstream PR 1809 by LSTAR1900)
2026-05-07 19:19:50 +02:00
jpirnay
b7a2a4b243
Use fixed-size integers for BookMetadataCache data ( #1844 by znelson)
2026-05-07 19:09:12 +02:00
jpirnay
b56666c96e
Review comments
2026-05-07 19:06:48 +02:00
jpirnay
dc86568738
Update missing xlarge inter
2026-05-07 08:38:51 +02:00
jpirnay
f127ec8f9e
Review updates
2026-05-07 08:38:23 +02:00
jpirnay
104af74079
Additional glyphs
2026-05-07 08:31:22 +02:00
jpirnay
3254582a20
Extend script functionality
2026-05-07 08:23:51 +02:00
jpirnay
8f92c50e48
Merge pull request #178 from jpirnay/feat-koreader-metadata
...
feat: Send optional document metadata with KOSync progress uploads (upstream pr 1820 by nperez0111)
2026-05-06 23:18:38 +02:00
jpirnay
4f140afd10
Movable status bar and dual-edge progress bars
2026-05-06 23:09:26 +02:00
jpirnay
464846fd75
Add builtin as default everywhere
2026-05-06 22:54:02 +02:00
jpirnay
dedc5bd4af
Send optional document metadata with KOSync progress uploads
2026-05-06 22:44:47 +02:00
jpirnay
8db7f91148
Merge pull request #177 from jpirnay/refactor-pr1838
...
refactor: Simplify isReaderActivity bookkeeping (upstream pr1838)
2026-05-06 22:13:17 +02:00
jpirnay
bd71bf465c
Merge pull request #176 from jpirnay/fix-powerbutton
...
fix: Amend powerbutton logic (less actions on going back to sleep)
2026-05-06 22:09:00 +02:00
jpirnay
5bf63e13db
Simplify isReaderActivity bookkeeping
2026-05-06 22:03:57 +02:00
jpirnay
e13ba3e180
Apply PR 1807 by WuToFu
2026-05-06 21:55:54 +02:00
jpirnay
b8f2ecf23d
Rework logic
2026-05-06 21:38:00 +02:00
jpirnay
08f3203969
Merge pull request #174 from jpirnay/feat-extendedcharset
...
feat: Extend font character range
2026-05-06 20:56:16 +02:00
jpirnay
6f877c03eb
Safety guard
2026-05-06 15:29:02 +02:00
jpirnay
82cb274d84
Fix typo in description
2026-05-06 15:23:47 +02:00
jpirnay and Copilot
b0abcb3894
Amend startup logic
...
Co-authored-by: Copilot <copilot@github.com >
2026-05-06 13:49:48 +02:00
jpirnay
180b601841
Extend character range
2026-05-05 20:49:30 +02:00
jpirnay
795e2fe9a9
Add two more fonts
2026-05-05 18:33:29 +02:00
jpirnay
8afe8a2895
Merge pull request #173 from jpirnay/fix-variable-font
...
fix: Fix variable font issue (no bold variants)
2026-05-05 18:12:47 +02:00
jpirnay
9fba8b07e9
Minor stylistic updates
2026-05-05 17:54:38 +02:00
jpirnay
b2bfc2c6b8
Update variable font output
2026-05-05 17:40:44 +02:00
jpirnay
f15b1d06bf
Fix static font generation from variable fonts
2026-05-05 17:35:13 +02:00
jpirnay
1e24860432
Ignore local config
2026-05-05 17:34:05 +02:00
jpirnay
8aac378b71
Add pyyaml
2026-05-05 16:18:53 +02:00
jpirnay
47d3d1fc9c
chore: Added RAM to firmware_size_history.py script ( #1830 )
2026-05-05 10:26:29 +02:00
jpirnay
3b4e8f8df9
Reestablish stats
2026-05-05 10:22:31 +02:00
jpirnay
064ed97362
Update shell scripts
2026-05-05 09:29:28 +02:00
jpirnay
2a443da291
Fix initial horrible performance for books without a cover
2026-05-04 23:59:51 +02:00
jpirnay
cd78679973
Another update
2026-05-04 22:44:07 +02:00
jpirnay
cf951ae284
Add new
2026-05-04 22:32:07 +02:00
jpirnay
37ce710fa8
Remove old
2026-05-04 22:31:48 +02:00
jpirnay
3b1b87b0d6
Merge pull request #172 from jpirnay/refactor-lowmemguard
...
refactor: Adopt low mem guard idea
2026-05-04 21:37:57 +02:00
jpirnay
0afd1d196f
Review
2026-05-04 20:41:40 +02:00
jpirnay
c65863cee5
Adopt crossinks low mem guard idea
2026-05-04 19:55:18 +02:00
jpirnay
441f1c7107
Minor optimisation
2026-05-04 18:42:57 +02:00
jpirnay
056bdb5bf7
Make better use of available space on RecentCover
2026-05-04 18:34:57 +02:00
jpirnay
842858d23e
Merge pull request #171 from jpirnay/refactor-kosync
...
refactor: Introduce more comprehensive helper functions in Koreadersync
2026-05-04 17:42:27 +02:00
jpirnay
b0921ab3c8
Resync properly
2026-05-04 17:38:24 +02:00
jpirnay
df9a260f77
Merge pull request #169 from jpirnay/refactor-fragment1
...
refactor: Introducing scratchpad to reuse already allocated memory for Metadata read
2026-05-04 17:35:39 +02:00
jpirnay
719d783904
Merge pull request #170 from jpirnay/refactor-fragment2
...
refactor: Reduce heap fragmentation during KOReader XPath calculations
2026-05-04 17:28:21 +02:00
jpirnay
e70fd281d9
Review changes
2026-05-04 17:27:21 +02:00
jpirnay
ae746a8127
Introduce more comprehensive helper functions
2026-05-04 17:24:08 +02:00
jpirnay
ea0f6eaa9e
Reduce heap fragmentation
2026-05-04 17:17:38 +02:00
jpirnay
5486eee4e3
Introducing scratchpad to reuse already allocated memory
2026-05-04 17:08:51 +02:00
jpirnay
42a9c09e4c
yaclf
2026-05-04 16:59:21 +02:00
jpirnay
47946def00
Mirror upstream PR#1817
2026-05-04 16:52:54 +02:00
jpirnay
7a0dc31c2f
Add minimal allback buffer for future use
2026-05-04 16:44:28 +02:00
jpirnay
aeafe42348
Fix unwanted cache clearing
2026-05-04 15:54:29 +02:00