From 5c4fb9143e3bc7c3cbe3eeec2238a6d596f6eb02 Mon Sep 17 00:00:00 2001 From: Justin Oros Date: Wed, 22 Apr 2026 16:19:05 -0700 Subject: [PATCH] fix(bookerly): use fallback anchor for bookerlyStyle field insertion in fresh repo --- plugins/bookerly/SmallerFontsPlugin.cpp | 86 ------------------------- plugins/bookerly/patch.py | 15 +++-- 2 files changed, 11 insertions(+), 90 deletions(-) delete mode 100644 plugins/bookerly/SmallerFontsPlugin.cpp diff --git a/plugins/bookerly/SmallerFontsPlugin.cpp b/plugins/bookerly/SmallerFontsPlugin.cpp deleted file mode 100644 index f67f65c..0000000 --- a/plugins/bookerly/SmallerFontsPlugin.cpp +++ /dev/null @@ -1,86 +0,0 @@ -#include "SmallerFontsPlugin.h" -#include "fontIds.h" - -namespace SmallerFontsPlugin { - -const char* modeName(SmallerFontsMode mode) { - switch (mode) { - case SmallerFontsMode::SMALLER: return "Smaller"; - case SmallerFontsMode::SMALLEST: return "Smallest"; - default: return "Disabled"; - } -} - -int resolveReaderFontId(int baseFontId, SmallerFontsMode mode) { - if (mode == SmallerFontsMode::MODE_OFF) return baseFontId; - -#ifdef BOOKERLY_8_FONT_ID - if (baseFontId == BOOKERLY_8_FONT_ID) return BOOKERLY_8_FONT_ID; - if (baseFontId == BOOKERLY_10_FONT_ID) { - if (mode == SmallerFontsMode::SMALLER) return BOOKERLY_8_FONT_ID; - if (mode == SmallerFontsMode::SMALLEST) return BOOKERLY_8_FONT_ID; - } - if (baseFontId == BOOKERLY_12_FONT_ID) { - if (mode == SmallerFontsMode::SMALLER) return BOOKERLY_10_FONT_ID; - if (mode == SmallerFontsMode::SMALLEST) return BOOKERLY_8_FONT_ID; - } - if (baseFontId == BOOKERLY_14_FONT_ID) { - if (mode == SmallerFontsMode::SMALLER) return BOOKERLY_12_FONT_ID; - if (mode == SmallerFontsMode::SMALLEST) return BOOKERLY_10_FONT_ID; - } - if (baseFontId == BOOKERLY_16_FONT_ID) { - if (mode == SmallerFontsMode::SMALLER) return BOOKERLY_14_FONT_ID; - if (mode == SmallerFontsMode::SMALLEST) return BOOKERLY_12_FONT_ID; - } - if (baseFontId == BOOKERLY_18_FONT_ID) { - if (mode == SmallerFontsMode::SMALLER) return BOOKERLY_16_FONT_ID; - if (mode == SmallerFontsMode::SMALLEST) return BOOKERLY_14_FONT_ID; - } -#endif - - if (baseFontId == NOTOSERIF_12_FONT_ID) return NOTOSERIF_12_FONT_ID; - if (baseFontId == NOTOSERIF_14_FONT_ID) { - if (mode == SmallerFontsMode::SMALLER) return NOTOSERIF_12_FONT_ID; - if (mode == SmallerFontsMode::SMALLEST) return NOTOSERIF_12_FONT_ID; - } - if (baseFontId == NOTOSERIF_16_FONT_ID) { - if (mode == SmallerFontsMode::SMALLER) return NOTOSERIF_14_FONT_ID; - if (mode == SmallerFontsMode::SMALLEST) return NOTOSERIF_12_FONT_ID; - } - if (baseFontId == NOTOSERIF_18_FONT_ID) { - if (mode == SmallerFontsMode::SMALLER) return NOTOSERIF_16_FONT_ID; - if (mode == SmallerFontsMode::SMALLEST) return NOTOSERIF_14_FONT_ID; - } - - if (baseFontId == NOTOSANS_12_FONT_ID) return NOTOSANS_12_FONT_ID; - if (baseFontId == NOTOSANS_14_FONT_ID) { - if (mode == SmallerFontsMode::SMALLER) return NOTOSANS_12_FONT_ID; - if (mode == SmallerFontsMode::SMALLEST) return NOTOSANS_12_FONT_ID; - } - if (baseFontId == NOTOSANS_16_FONT_ID) { - if (mode == SmallerFontsMode::SMALLER) return NOTOSANS_14_FONT_ID; - if (mode == SmallerFontsMode::SMALLEST) return NOTOSANS_12_FONT_ID; - } - if (baseFontId == NOTOSANS_18_FONT_ID) { - if (mode == SmallerFontsMode::SMALLER) return NOTOSANS_16_FONT_ID; - if (mode == SmallerFontsMode::SMALLEST) return NOTOSANS_14_FONT_ID; - } - - if (baseFontId == OPENDYSLEXIC_8_FONT_ID) return OPENDYSLEXIC_8_FONT_ID; - if (baseFontId == OPENDYSLEXIC_10_FONT_ID) { - if (mode == SmallerFontsMode::SMALLER) return OPENDYSLEXIC_8_FONT_ID; - if (mode == SmallerFontsMode::SMALLEST) return OPENDYSLEXIC_8_FONT_ID; - } - if (baseFontId == OPENDYSLEXIC_12_FONT_ID) { - if (mode == SmallerFontsMode::SMALLER) return OPENDYSLEXIC_10_FONT_ID; - if (mode == SmallerFontsMode::SMALLEST) return OPENDYSLEXIC_8_FONT_ID; - } - if (baseFontId == OPENDYSLEXIC_14_FONT_ID) { - if (mode == SmallerFontsMode::SMALLER) return OPENDYSLEXIC_12_FONT_ID; - if (mode == SmallerFontsMode::SMALLEST) return OPENDYSLEXIC_10_FONT_ID; - } - - return baseFontId; -} - -} diff --git a/plugins/bookerly/patch.py b/plugins/bookerly/patch.py index 09ed7cf..7a3d31a 100644 --- a/plugins/bookerly/patch.py +++ b/plugins/bookerly/patch.py @@ -181,10 +181,17 @@ def patch_cross_point_settings_h(repo_dir): 'enum FONT_FAMILY { NOTOSERIF = 0, NOTOSANS = 1, OPENDYSLEXIC = 2, BOOKERLY = 3, FONT_FAMILY_COUNT };' ) - content = content.replace( - ' uint8_t smallerFontsMode = 0;', - ' uint8_t smallerFontsMode = 0;\n uint8_t bookerlyStyle = 0;' - ) + if 'uint8_t bookerlyStyle' not in content: + anchor = None + for candidate in [ + ' uint8_t smallerFontsMode = 0;', + ' uint8_t imageRendering = IMAGES_DISPLAY;', + ]: + if candidate in content: + anchor = candidate + break + if anchor: + content = content.replace(anchor, anchor + '\n uint8_t bookerlyStyle = 0;') write_file(path, content) print(" CrossPointSettings.h patched.")