Commit Graph
100 Commits
Author SHA1 Message Date
jpirnay 93db7bcfd3 Merge pull request #215 from jpirnay/fix-align
fix: Honor users choice for alignment
2026-05-14 18:29:29 +02:00
jpirnay e922b70744 Merge pull request #214 from jpirnay/feat-recentview
feat: Add 3x3 recent grid view
2026-05-14 18:29:05 +02:00
jpirnay 96707206c1 Honor users choice for alignment 2026-05-14 18:11:20 +02:00
jpirnay c9060df3e4 yaclf 2026-05-14 18:10:56 +02:00
jpirnayandClaude Sonnet 4.6 bc62d882e4 fix(x3): white pre-flash on sleep entry to clear reader page ghosting
On X3 panels, perform a full-sync white flash before rendering the sleep
screen. The previous approach (requestResync condition passes after the
sleep image) reduced ghosting but the first frame still showed residual
content from the reader page. The pre-flash drives the panel to a clean
white state first, so the sleep screen renders ghost-free.

Skipped for OVERLAY mode (frame buffer must stay intact) and BLANK mode
(which renders white anyway).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 18:07:28 +02:00
jpirnayandClaude Sonnet 4.6 509adada2c fix(x3): advance SDK to CDI border fix (d8ccbac)
Picks up fix(x3): use CDI 0x29 in full-sync to prevent black border
pixels — eliminates black border artifacts on x3 when entering sleep.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 18:04:12 +02:00
jpirnay da9ebb50e3 Fix inverted tilt behaviour 2026-05-14 17:23:31 +02:00
jpirnay 28416721b9 Fix 2026-05-14 17:10:10 +02:00
jpirnay 5c4d47376b Amend balck rect around image 2026-05-14 16:31:51 +02:00
jpirnay 3eeee72d23 Properly distinguish double / single clicks 2026-05-14 16:15:32 +02:00
jpirnay e02049514b Merge pull request #210 from jpirnay/chore-cacheclean
chore: Consolidate cache directories
2026-05-14 07:04:44 +02:00
jpirnay 8e5907ffc6 Proper sidecar precedence 2026-05-13 22:53:05 +02:00
jpirnay bd397b6de0 Fix oversight 2026-05-13 22:48:46 +02:00
jpirnay 4090076506 Suppress deprecated warning 2026-05-13 22:48:24 +02:00
jpirnay da9b3fe60d Add 3x3 grid view 2026-05-13 22:42:11 +02:00
jpirnay d488f2383f Merge branch 'master' of https://github.com/jpirnay/crosspoint-reader 2026-05-13 22:12:27 +02:00
jpirnay 776728d8e8 Consolidate cache directories 2026-05-13 22:10:13 +02:00
jpirnay 291a39f4f6 Merge pull request #209 from jpirnay/x3-tilt
refactor: Use upstream X3 tilt mode
2026-05-13 21:27:16 +02:00
jpirnay 4d5413fd5c Version bump 2026-05-13 21:24:34 +02:00
jpirnay f4e5de741d Review comments 2026-05-13 21:23:32 +02:00
jpirnay 7f395ceb0f Remove unneeded options 2026-05-13 21:10:02 +02:00
jpirnay 60f326cb7f Use upstream 2026-05-13 14:56:25 +02:00
jpirnay 6bbe016f24 Point to x3 reverts 2026-05-13 14:40:54 +02:00
jpirnay f55855ab23 Merge pull request #208 from jpirnay/refactor-listhandler
feat: Add double and long clicks in lists
2026-05-13 14:16:14 +02:00
jpirnay 8b7defd4d2 Merge pull request #207 from jpirnay/chore-fontmanager
chore: Font Manager  overhaul
2026-05-13 14:15:48 +02:00
jpirnay 1e02126706 Review comments 2026-05-13 14:09:58 +02:00
jpirnay cc05a7eb00 Reduce updates + review comments 2026-05-13 14:08:25 +02:00
jpirnay c8c697da06 Add double and long clicks in lists 2026-05-13 14:00:07 +02:00
jpirnay d6fd744b3c Font Manager overhaul 2026-05-13 12:39:24 +02:00
jpirnay d337110649 Add info 2026-05-13 09:27:29 +02:00
jpirnay bf3689b917 Amend script for Linux use 2026-05-13 09:25:31 +02:00
jpirnay 5fcc624074 Merge pull request #205 from jpirnay/fix-ghosting
fix: Try more conditioning passes on x3 before sleepscreen to get rid of ghosting
2026-05-13 09:05:46 +02:00
jpirnay 640abd9b99 Try more conditioning passes on x3 before sleepscreen to get rid of ghosting 2026-05-12 22:14:19 +02:00
jpirnay d016ebf12f Merge pull request #203 from jpirnay/feat-endofbook
feat: Add end of book actions screen
2026-05-12 21:11:01 +02:00
jpirnay 8625b7353f cppcheck 2 2026-05-12 21:02:29 +02:00
jpirnay 7d16681bde cppcheck complaints 2026-05-12 20:49:50 +02:00
jpirnay adb5bcdbd6 Fixes 2026-05-12 18:51:31 +02:00
jpirnay a91c151979 Add end of book actions screen 2026-05-12 18:11:55 +02:00
jpirnay 788e87ec69 Merge pull request #201 from jpirnay/feat-removefont
feat: Add option to remove downloaded font
2026-05-12 15:16:16 +02:00
jpirnay 693a650094 Add option to remove a downloaded font 2026-05-12 14:33:14 +02:00
jpirnay 8d2cfb17a7 Fix typo 2026-05-12 13:38:58 +02:00
jpirnay df3a8839b7 Fix 2026-05-12 13:16:47 +02:00
jpirnay c865a384d3 Merge pull request #200 from jpirnay/fix-heavydutymanga
refactor: css / AA memory usage
2026-05-12 13:07:57 +02:00
jpirnay 528c65a6db No blank trailing page 2026-05-12 13:05:34 +02:00
jpirnay 2e3b17a074 Stop flushPartWordBuffer() from appending after a hard low-heap abort 2026-05-12 12:27:55 +02:00
jpirnay ca04badfed Fail closed if the header patch seek fails 2026-05-12 12:19:44 +02:00
jpirnay aac1a65b82 Reset tocBoundaries in clearCache() 2026-05-12 12:16:13 +02:00
jpirnay d75ad141af Fix asymmetric memory guard 2026-05-12 12:09:59 +02:00
jpirnay 099688a7ef Fixes 2026-05-12 11:36:56 +02:00
jpirnay dbb81cc483 Reestablish indexing popup 2026-05-12 09:58:17 +02:00
jpirnay 85a5adbcf9 Address cppcheck warning 2026-05-12 09:53:15 +02:00
jpirnay b5b3df3fe1 Update crosspoint version to 1.42.2 2026-05-12 08:16:46 +02:00
jpirnay 683eb3ce53 Merge pull request #198 from jpirnay/feat-x3tilt
feat: Support X3 tilt for page movement
2026-05-11 23:15:07 +02:00
jpirnay 4982f803a7 A couple of fixes 2026-05-11 23:02:27 +02:00
jpirnay d44c47cfd6 Minor fixes 2026-05-11 22:57:46 +02:00
jpirnay fddc81ec0a Special case for zero-byte prewarm 2026-05-11 22:57:15 +02:00
jpirnay b96be90a0c Fix log 2026-05-11 22:56:51 +02:00
jpirnay 00d9a4ea05 Improve cache memory management 2026-05-11 22:42:07 +02:00
jpirnay c273e250f2 Implement sparse css cache plus dynamic banding for AA 2026-05-11 22:27:13 +02:00
jpirnay fb16db2b48 Reduce memory footprint 2026-05-11 21:50:44 +02:00
jpirnay 5b3f1ad200 Move to submenu 2026-05-11 18:38:48 +02:00
jpirnay 2b1dbb6737 Add extended TiltModel 2026-05-11 16:29:40 +02:00
jpirnay e035e4584b Apply PR 1783 2026-05-11 13:38:29 +02:00
jpirnay 461a277925 Use upstream variant to get in sync 2026-05-11 13:05:43 +02:00
jpirnay 5bdd026c96 Font updates 2026-05-11 12:20:19 +02:00
jpirnay 0f6e2b2447 Address compiler warnings 2026-05-11 11:51:46 +02:00
jpirnay 68206447fa Reload document on boot again 2026-05-10 21:57:18 +02:00
jpirnay 12bd9c46d7 Allow short press for X3 2026-05-10 21:44:11 +02:00
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