From 5aa4f1bc14802924d7317fa3fcc6959dac630e08 Mon Sep 17 00:00:00 2001 From: Jay Logan Date: Fri, 15 Apr 2022 19:43:59 -0500 Subject: [PATCH] Patches v75, fw 4.32.19501 kobopatch.yaml: 2 "in" lines for devices of different hw revisions; toggle via comment updated other-conf files to reflect their actual state on-device --- kobopatch.yaml | 6 +- other-conf/kfmon/plato.ini | 18 --- other-conf/kfmon/vlasovsoft.ini | 18 +-- other-conf/nickelmenu/{kfmon => kfmon.conf} | 0 .../nickelmenu/{koreader => koreader.conf} | 0 other-conf/nickelmenu/nickel | 2 - other-conf/nickelmenu/nickel.conf | 7 + other-conf/nickelmenu/plato | 7 - src/libadobe.so.yaml | 4 +- src/libnickel.so.1.0.0.yaml | 135 +++++++----------- src/librmsdk.so.1.0.0.yaml | 8 +- src/nickel.yaml | 12 +- 12 files changed, 90 insertions(+), 127 deletions(-) delete mode 100644 other-conf/kfmon/plato.ini rename other-conf/nickelmenu/{kfmon => kfmon.conf} (100%) rename other-conf/nickelmenu/{koreader => koreader.conf} (100%) delete mode 100644 other-conf/nickelmenu/nickel create mode 100644 other-conf/nickelmenu/nickel.conf delete mode 100644 other-conf/nickelmenu/plato diff --git a/kobopatch.yaml b/kobopatch.yaml index b663563..b528ed7 100644 --- a/kobopatch.yaml +++ b/kobopatch.yaml @@ -1,6 +1,7 @@ ## Sixthhokage1's kobopatch config -version: 4.31.19086 -in: src/latest.zip +version: 4.32.19501 +in: src/latest-libra2.zip +#in: src/latest-elipsa.zip out: out/KoboRoot.tgz log: out/log.txt @@ -22,7 +23,6 @@ overrides: Always show confirmation dialog before upgrading: yes Allow showing info panel on random screensaver: yes Don't uppercase header/footer text: yes - Enable advanced settings for all fonts: yes Shorten dictionary entry not found message: yes Swap reading header/footer: yes FeatureSettings - ExportHighlights: yes diff --git a/other-conf/kfmon/plato.ini b/other-conf/kfmon/plato.ini deleted file mode 100644 index 38fca29..0000000 --- a/other-conf/kfmon/plato.ini +++ /dev/null @@ -1,18 +0,0 @@ -; Plato (https://www.mobileread.com/forums/showthread.php?t=292914) -; Relies on upstream's fmon scripts (i.e., plato-launcher-fmon-x.y.z.zip) -; This means you can follow upstream's installation instructions to the letter, and expect things to work just fine ;). -[watch] -; Those next two keys are MANDATORY -filename = /mnt/onboard/icons/plato.png ; Absolute path of the icon to watch for -action = /mnt/onboard/.adds/plato/plato.sh ; Absolute path of the command to launch when the icon is opened -; The following keys are NOT mandatory -label = Plato ; Label available for use by a GUI frontend -hidden = 0 ; Whether to hide this entry from a GUI frontend -block_spawns = 1 ; Prevents *any* script from being launched via KFMon while the command launched by this watch is still running. - ; This is useful for document readers, because they could otherwise trigger unwanted - ; behavior through their file manager, metadata reader, or thumbnailer. -do_db_update = 0 ; Do we want to update Nickel's DB for this icon? (Potentially unsafe, disabled by default) -; If you enabled do_db_update, the next three keys NEED to be set -db_title = Plato ; Title to use for the icon's Library entry if do_db_update = 1 -db_author = Baskerville ; Author to use for the icon's Library entry if do_db_update = 1 -db_comment = A document reader ; Comment to use for the icon's Library entry if do_db_update = 1 diff --git a/other-conf/kfmon/vlasovsoft.ini b/other-conf/kfmon/vlasovsoft.ini index f11c60f..7b44a74 100644 --- a/other-conf/kfmon/vlasovsoft.ini +++ b/other-conf/kfmon/vlasovsoft.ini @@ -1,9 +1,9 @@ -[watch] -; Those next two keys are MANDATORY -filename = /mnt/onboard/vlasovsoft.png -action = /mnt/onboard/.adds/vlasovsoft/launcher.sh -; The following keys are NOT mandatory -label = Vlasovsoft Suite -block_spawns = 1 -do_db_update = 0 - +[watch] +; Those next two keys are MANDATORY +filename = /mnt/onboard/vlasovsoft.png +action = /mnt/onboard/.adds/vlasovsoft/launcher.sh +; The following keys are NOT mandatory +label = Vlasovsoft Suite +block_spawns = 1 +do_db_update = 0 + diff --git a/other-conf/nickelmenu/kfmon b/other-conf/nickelmenu/kfmon.conf similarity index 100% rename from other-conf/nickelmenu/kfmon rename to other-conf/nickelmenu/kfmon.conf diff --git a/other-conf/nickelmenu/koreader b/other-conf/nickelmenu/koreader.conf similarity index 100% rename from other-conf/nickelmenu/koreader rename to other-conf/nickelmenu/koreader.conf diff --git a/other-conf/nickelmenu/nickel b/other-conf/nickelmenu/nickel deleted file mode 100644 index b1e2287..0000000 --- a/other-conf/nickelmenu/nickel +++ /dev/null @@ -1,2 +0,0 @@ -menu_item : main : Connect USB : nickel_misc : force_usb_connection -menu_item : main : Pocket : nickel_open : library:pocket diff --git a/other-conf/nickelmenu/nickel.conf b/other-conf/nickelmenu/nickel.conf new file mode 100644 index 0000000..9435447 --- /dev/null +++ b/other-conf/nickelmenu/nickel.conf @@ -0,0 +1,7 @@ +menu_item : main : Connect USB : nickel_misc : force_usb_connection +menu_item : main : Force Wifi : nickel_setting : toggle:force_wifi +menu_item : main : eLending Library : nickel_open : store:overdrive +menu_item : main : Pocket Articles: nickel_open : library:pocket +menu_item : main : Browser : nickel_browser : +menu_item : reader : Browser : nickel_browser : modal +menu_item : browser : Nickel Home : nickel_misc : home diff --git a/other-conf/nickelmenu/plato b/other-conf/nickelmenu/plato deleted file mode 100644 index c14562d..0000000 --- a/other-conf/nickelmenu/plato +++ /dev/null @@ -1,7 +0,0 @@ -# Launch Plato via KFMon -# NOTE: .adds/nm/kfmon will generate this automatically -#menu_item : main : Plato : kfmon : plato.png - -# Launch Plato directly via NM -#menu_item : main : Plato : cmd_spawn : quiet : exec /mnt/onboard/.adds/plato/plato.sh - diff --git a/src/libadobe.so.yaml b/src/libadobe.so.yaml index 81032e6..23d4c9b 100644 --- a/src/libadobe.so.yaml +++ b/src/libadobe.so.yaml @@ -6,5 +6,5 @@ Remove PDF map widget shown during panning: - BaseAddress: {Sym: "N3AdobeReader::showMapWidget()"} # tail: N3AdobeReader::updatePanningMap() -> N3AdobeReader::hideMapWidget() # TODO: figure out what broke the plt parsing in kobopatch for libadobe in 18730+ - - ReplaceBytes: {Offset: 80, FindInstBW: 0x1BDE8, ReplaceInstBW: 0x1B11C} - - ReplaceBytes: {Offset: 192, FindInstBW: 0x1BDE8, ReplaceInstBW: 0x1B11C} + - ReplaceBytes: {Offset: 80, FindInstBW: 0x1BF88, ReplaceInstBW: 0x1B2A4} + - ReplaceBytes: {Offset: 192, FindInstBW: 0x1BF88, ReplaceInstBW: 0x1B2A4} diff --git a/src/libnickel.so.1.0.0.yaml b/src/libnickel.so.1.0.0.yaml index 194d963..4466c1c 100644 --- a/src/libnickel.so.1.0.0.yaml +++ b/src/libnickel.so.1.0.0.yaml @@ -47,18 +47,24 @@ My 24 line spacing values: # basically rewrite the entire code starting where values are added: # save r5, initialise loop counter - BaseAddress: {Sym: "ReadingSettings::lineHeightScalars() const", Rel: 84} # starting at first QList::append(double const&) - - ReplaceBytes: {Offset: 0, FindInstBLX: {SymPLT: "QList::append(double const&)"}, ReplaceH: A9 46 00 25} # mov sb, r5 mov r5, #0 - - ReplaceBytes: {Offset: 4, FindH: 6D A3, ReplaceH: ED 00} # lsls r5, r5, #3 + - ReplaceBytes: {Offset: 0, FindInstBLX: {SymPLT: "QList::append(double const&)"}, ReplaceH: 00 00 00 00} # clear out the BLX + - ReplaceBytes: {Offset: 20, FindInstBLX: {SymPLT: "QList::append(double const&)"}, ReplaceH: 00 00 00 00} # clear out the BLX + - ReplaceBytes: {Offset: 0, FindH: 00 00, ReplaceH: A9 46} # mov sb, r5 + - ReplaceBytes: {Offset: 2, FindH: 00 00, ReplaceH: 00 25} # mov r5, #0 + - ReplaceBytes: {Offset: 4, FindH: 6C A3, ReplaceH: ED 00} # lsls r5, r5, #3 # loop to load 14 vals from new table - - ReplaceBytes: {Offset: 6, FindH: D3 E9 00 23 07 F1, ReplaceH: 20 46 04 A1 29 44} # mov r0, r4 adr r1, #0x10 add r1, r5 - - ReplaceBytes: {Offset: 12, FindH: 80 01 20 46, ReplaceInstBLX: {SymPLT: "QList::append(double const&)"}} - - ReplaceBytes: {Offset: 16, FindH: 61 E9 1C 23, ReplaceH: 08 35 70 2D} # add r5, #8 cmp r5, 112 ## NOTE: 14*8=112 - - ReplaceBytes: {Offset: 20, FindInstBLX: {SymPLT: "QList::append(double const&)"}, ReplaceH: 00 00 00 00} # clear out the BLX in the way of the next two replacements - - ReplaceBytes: {Offset: 20, FindH: 00 00, ReplaceH: F7 D1} # bne #-10 - # jump over new table - - ReplaceBytes: {Offset: 22, FindH: 00 00 6A A3 D3 E9, ReplaceH: 7C E0 00 BF 00 BF} # b #0xFC + - ReplaceBytes: {Offset: 6, FindH: D3 E9, ReplaceH: 20 46} # mov r0, r4 + - ReplaceBytes: {Offset: 8, FindH: 00 23, ReplaceH: 04 A1} # adr r1, #0x10 + - ReplaceBytes: {Offset: 10, FindH: 07 F1, ReplaceH: 29 44} # add r1, r5 + - ReplaceBytes: {Offset: 12, FindH: 80 01 20 46, ReplaceInstBLX: {SymPLT: "QList::append(double const&)"}} + - ReplaceBytes: {Offset: 16, FindH: 61 E9, ReplaceH: 08 35} # add r5, #8 (sizeof(double)) + - ReplaceBytes: {Offset: 18, FindH: 1C 23, ReplaceH: 70 2D} # cmp r5, 112 (14*sizeof(double)) + - ReplaceBytes: {Offset: 20, FindH: 00 00, ReplaceH: F7 D1} # bne #-10 + # jump to the rest of the new code + - ReplaceBytes: {Offset: 22, FindH: 00 00, ReplaceH: 7B E0} # b #250 (356 − (84 + 22)) + - ReplaceBytes: {Offset: 24, FindH: 69 A3 D3 E9, ReplaceInstNOP: true} # unused # new table: 14 8-aligned doubles - - BaseAddress: {Sym: "ReadingSettings::lineHeightScalars() const", Rel: 112} # right after previous instruction + - BaseAddress: {Sym: "ReadingSettings::lineHeightScalars() const", Rel: 112} # right after previous instruction (84 + 24 + 4) - ReplaceBytes: {Offset: 12, FindInstBLX: {SymPLT: "QList::append(double const&)"}, ReplaceH: 00 00 00 00} # first, clear out the BLXs in the way - ReplaceBytes: {Offset: 32, FindInstBLX: {SymPLT: "QList::append(double const&)"}, ReplaceH: 00 00 00 00} - ReplaceBytes: {Offset: 58, FindInstBLX: {SymPLT: "QList::append(double const&)"}, ReplaceH: 00 00 00 00} @@ -66,29 +72,33 @@ My 24 line spacing values: - ReplaceBytes: {Offset: 100, FindInstBLX: {SymPLT: "QList::append(double const&)"}, ReplaceH: 00 00 00 00} - ReplaceBytes: {Offset: 0, FindH: 00 23 07 F1 80 01 20 46, ReplaceH: 00 00 00 00 00 00 F0 3F} # table of 1.0f values, to be replaced later - ReplaceBytes: {Offset: 8, FindH: 61 E9 1A 23 00 00 00 00, ReplaceH: 00 00 00 00 00 00 F0 3F} - - ReplaceBytes: {Offset: 16, FindH: 67 A3 D3 E9 00 23 07 F1, ReplaceH: 00 00 00 00 00 00 F0 3F} + - ReplaceBytes: {Offset: 16, FindH: 66 A3 D3 E9 00 23 07 F1, ReplaceH: 00 00 00 00 00 00 F0 3F} - ReplaceBytes: {Offset: 24, FindH: 80 01 20 46 61 E9 18 23, ReplaceH: 00 00 00 00 00 00 F0 3F} - ReplaceBytes: {Offset: 32, FindH: 00 00 00 00 43 F2 33 33, ReplaceH: 00 00 00 00 00 00 F0 3F} - ReplaceBytes: {Offset: 40, FindH: 4F F0 33 32 C3 F6 F3 73, ReplaceH: 00 00 00 00 00 00 F0 3F} - ReplaceBytes: {Offset: 48, FindH: 07 F1 80 01 20 46 61 E9, ReplaceH: 00 00 00 00 00 00 F0 3F} - - ReplaceBytes: {Offset: 56, FindH: 16 23 00 00 00 00 5E A3, ReplaceH: 00 00 00 00 00 00 F0 3F} + - ReplaceBytes: {Offset: 56, FindH: 16 23 00 00 00 00 5D A3, ReplaceH: 00 00 00 00 00 00 F0 3F} - ReplaceBytes: {Offset: 64, FindH: D3 E9 00 23 07 F1 80 01, ReplaceH: 00 00 00 00 00 00 F0 3F} - ReplaceBytes: {Offset: 72, FindH: 20 46 61 E9 14 23 00 00, ReplaceH: 00 00 00 00 00 00 F0 3F} - ReplaceBytes: {Offset: 80, FindH: 00 00 00 23 00 22 C3 F6, ReplaceH: 00 00 00 00 00 00 F0 3F} - ReplaceBytes: {Offset: 88, FindH: F8 73 07 F1 80 01 20 46, ReplaceH: 00 00 00 00 00 00 F0 3F} - ReplaceBytes: {Offset: 96, FindH: 61 E9 12 23 00 00 00 00, ReplaceH: 00 00 00 00 00 00 F0 3F} - - ReplaceBytes: {Offset: 104, FindH: 55 A3 D3 E9 00 23 07 F1, ReplaceH: 00 00 00 00 00 00 F0 3F} + - ReplaceBytes: {Offset: 104, FindH: 54 A3 D3 E9 00 23 07 F1, ReplaceH: 00 00 00 00 00 00 F0 3F} # jump target after table - - BaseAddress: {Sym: "ReadingSettings::lineHeightScalars() const", Rel: 356} # starting at first QList::append(double const&) + - BaseAddress: {Sym: "ReadingSettings::lineHeightScalars() const", Rel: 356} # starting right after the second-last QList::append(double const&) + - ReplaceBytes: {Offset: 18, FindInstBLX: {SymPLT: "QList::append(double const&)"}, ReplaceH: 00 00 00 00} # clear the BLX in the way of the last two replacements # initialise loop counter - - ReplaceBytes: {Offset: 0, FindH: 00 23 00 22, ReplaceH: 00 BF 00 25} # nop movs r5, #0 - # loop to load 10 vals from old table - - ReplaceBytes: {Offset: 4, FindH: C4 F2 08 03 07 F1, ReplaceH: 20 46 29 A1 29 44} # mov r0, r4 adr r1, #0xA4 add r1, r5 ## NOTE: adr r1, #0xA4 sets r1 to the beginning of the old table + - ReplaceBytes: {Offset: 0, FindH: 00 23, ReplaceH: 00 25} # movs r5, #0 + # loop to load 10 vals from old table (CDCC CCCC CCCC F03F 1F85) + - ReplaceBytes: {Offset: 2, FindH: 00 22, ReplaceH: 20 46} # mov r0, r4 + - ReplaceBytes: {Offset: 4, FindH: C4 F2 08 03, ReplaceH: 0F F2 A0 01} # adr.w r1, #164 (old_table_start - (356 + 4) = 524 - 360) + - ReplaceBytes: {Offset: 8, FindH: 07 F1, ReplaceH: 29 44} # add r1, r5 - ReplaceBytes: {Offset: 10, FindH: 80 01 20 46, ReplaceInstBLX: {SymPLT: "QList::append(double const&)"}} - - ReplaceBytes: {Offset: 18, FindInstBLX: {SymPLT: "QList::append(double const&)"}, ReplaceH: 00 00 00 00} # clear out the BLX in the way of the next two replacements - - ReplaceBytes: {Offset: 14, FindH: 61 E9 02 23 00 00, ReplaceH: 08 35 50 2D F7 D1} # adds r5, #8 cmp r5, #80 bne #-10 ## NOTE: 8*10=80 + - ReplaceBytes: {Offset: 14, FindH: 61 E9, ReplaceH: 08 35} # adds r5, #8 (sizeof(double)) + - ReplaceBytes: {Offset: 16, FindH: 02 23, ReplaceH: 50 2D} # cmp r5, #80 (sizeof(double) * 10) + - ReplaceBytes: {Offset: 18, FindH: 00 00, ReplaceH: F6 D1} # bne #-12 (18 - 2) # restore r5 - - ReplaceBytes: {Offset: 20, FindH: 00 00, ReplaceH: 4D 46} # mov r5, sb + - ReplaceBytes: {Offset: 20, FindH: 00 00, ReplaceH: 4D 46} # mov r5, sb # finished replacements - BaseAddress: 0 # @@ -194,20 +204,20 @@ Custom font sizes: # - BaseAddress: "N3FontTypeUtil::fontSizes()" # Initial font size: - - ReplaceInt: {Offset: 364, Find: 8, Replace: 8} # Other devices - - ReplaceInt: {Offset: 360, Find: 11, Replace: 11} # LibraH2O - - ReplaceInt: {Offset: 36, Find: 10, Replace: 10} # GloHD/ClaraHD - - ReplaceInt: {Offset: 392, Find: 14, Replace: 14} # Forma/AuraOne/Sage/Elipsa + - ReplaceInt: {Offset: 378, Find: 8, Replace: 8} # Other devices + - ReplaceInt: {Offset: 374, Find: 11, Replace: 11} # LibraH2O (storm) + - ReplaceInt: {Offset: 36, Find: 10, Replace: 10} # GloHD/ClaraHD (alyssum nova) + - ReplaceInt: {Offset: 404, Find: 14, Replace: 14} # Forma/AuraOne/Sage/Elipsa (daylight) # Increment: - - ReplaceInt: {Offset: 78, Find: 21, Replace: 43} # Add font sizes in increments of 1 until this size exceeded - - ReplaceInt: {Offset: 88, Find: 22, Replace: 44} # Continue from this font size - - ReplaceInt: {Offset: 218, Find: 49, Replace: 67} # Add font sizes in increments of 2 until this size exceeded - - ReplaceInt: {Offset: 224, Find: 50, Replace: 68} # Continue from this font size + - ReplaceInt: {Offset: 222, Find: 21, Replace: 43} # Add font sizes in increments of 1 until this size exceeded + - ReplaceInt: {Offset: 228, Find: 22, Replace: 44} # Continue from this font size + - ReplaceInt: {Offset: 250, Find: 49, Replace: 67} # Add font sizes in increments of 2 until this size exceeded + - ReplaceInt: {Offset: 256, Find: 50, Replace: 68} # Continue from this font size # Now increment by +4 until final font size: - - ReplaceInt: {Offset: 410, Find: 90, Replace: 80} # Other devices - - ReplaceInt: {Offset: 414, Find: 122, Replace: 88} # Aura/Glo/Nia - - ReplaceInt: {Offset: 50, Find: 150, Replace: 108} # LibraH2O/AuraHD/ClaraHD/GloHD/AuraH2O/Libra2 - - ReplaceInt: {Offset: 388, Find: 195, Replace: 132} # Forma/AuraOne/Sage/Elipsa + - ReplaceInt: {Offset: 420, Find: 90, Replace: 80} # Other devices + - ReplaceInt: {Offset: 422, Find: 122, Replace: 88} # Aura/Glo/Nia (phoenix) + - ReplaceInt: {Offset: 48, Find: 150, Replace: 108} # LibraH2O/AuraHD/ClaraHD/GloHD/AuraH2O/Libra2 (dragon) + - ReplaceInt: {Offset: 400, Find: 195, Replace: 132} # Forma/AuraOne/Sage/Elipsa (daylight) ePub fixed top/bottom margins: - Enabled: no @@ -323,8 +333,8 @@ Set KePub hyphenation: (The publisher can still turn hyphenation off/on in the book's stylesheet.) # == "justify" - - ReplaceBytes: {Base: "KepubBookReader::pageStyleCss(bool)", Offset: 1432, FindInstBLX: {SymPLT: "QString::operator==(QLatin1String) const"}, ReplaceH: 01 20 01 20} # Alternative 1: Always turn KePub hyphenation on -# - ReplaceBytes: {Base: "KepubBookReader::pageStyleCss(bool)", Offset: 1432, FindInstBLX: {SymPLT: "QString::operator==(QLatin1String) const"}, ReplaceH: 00 20 00 20} # Alternative 2: Never turn KePub hyphenation on + - ReplaceBytes: {Base: "KepubBookReader::pageStyleCss(bool)", Offset: 1960, FindInstBLX: {SymPLT: "QString::operator==(QLatin1String) const"}, ReplaceH: 01 20 01 20} # Alternative 1: Always turn KePub hyphenation on +# - ReplaceBytes: {Base: "KepubBookReader::pageStyleCss(bool)", Offset: 1960, FindInstBLX: {SymPLT: "QString::operator==(QLatin1String) const"}, ReplaceH: 00 20 00 20} # Alternative 2: Never turn KePub hyphenation on Force user line spacing in KePubs: - Enabled: no @@ -397,23 +407,7 @@ ePub constant font sharpness: - FindBaseAddressString: "\0\0 -kobo-font-sharpness: %1;" - ReplaceString: {Offset: 3, Find: "-kobo-font-sharpness: %1", Replace: "-kobo-font-sharpness:0.2", MustMatchLength: yes} -KePub constant font sharpness: - - Enabled: no - - Description: | - With this patch the KePub reader will use a constant sharpness value of 0.2, - instead of the value set by the advanced font sharpness/weight slider. The - slider sharpness values range from -0.4(min.) to 0.2(max.), default -0.0666. - # body { -kobo-font-sharpness: %1; -kobo-font-thickness: %2; }\n - # --> body{-kobo-font-sharpness:0.0/*%1*/;-kobo-font-thickness:%2}\n - - FindReplaceString: - Find: "body { -kobo-font-sharpness: %1; -kobo-font-thickness: %2; }\n" - Replace: "body{-kobo-font-sharpness:0.0/*%1*/;-kobo-font-thickness:%2}\n" - MustMatchLength: yes - - ReplaceString: - Offset: 5 - Find: "-kobo-font-sharpness:0.0" - Replace: "-kobo-font-sharpness:0.2" # Replacement sharpness value - MustMatchLength: yes +# MISSING: KePub constant font sharpness (not enough room for neutralizing the QString arg; we will probably need to patch that one out) Un-Force user text-align in div,p tags in KePubs: - Enabled: no @@ -477,13 +471,7 @@ Un-force link decoration in KePubs: - ReplaceString: {Offset: 0x27, Find: "b", Replace: "_"} # Disable border-bottom style - ReplaceString: {Offset: 0x53, Find: "c", Replace: "_"} # Disable color style -Ignore .otf fonts: - - Enabled: no - - Description: - Ignores all sideloaded and pre-installed .otf fonts. - (Currently the only pre-installed .otf font is OpenDyslexic.) - Embedded .otf fonts should continue to work as normal. - - FindReplaceString: {Find: "*.otf", Replace: "_.otf"} +# MISSING: Ignore .otf fonts (this will probably need to become a fontickle patch) # The following patch(es) were made by jackie_w Dictionary text font-family/font-size/line-height: @@ -575,7 +563,7 @@ Custom navigation menu page number text: - Description: Changes the page number text format in the reading navigation menu - FindReplaceString: {Find: "Page %1 of %2", Replace: "%1 / %2"} -# The next 2 patches are alternatives. Enable ONE ONLY. +# The next 3 patches are alternatives. Enable ONE ONLY. # They have replaced the old patch named 'KePub stylesheet additions' KePub stylesheet additions - text justify: @@ -882,7 +870,7 @@ Replace adobe page numbers toggle with invert screen: See https://github.com/pgaskin/NickelMenu/issues/111 for more information. # Settings page - BaseAddress: "N3SettingsReadingView::N3SettingsReadingView(QWidget*)" - - ReplaceBytes: {Offset: 900, FindInstBLX: {SymPLT: "ReadingSettings::getShowAdobePageNumbers()"}, ReplaceInstBLX: {SymPLT: "FeatureSettings::invertScreen()"}} + - ReplaceBytes: {Offset: 902, FindInstBLX: {SymPLT: "ReadingSettings::getShowAdobePageNumbers()"}, ReplaceInstBLX: {SymPLT: "FeatureSettings::invertScreen()"}} # Settings page controller - BaseAddress: {Sym: "N3SettingsReadingController::showAdobePageNumbersToggled()"} - ReplaceBytes: {Offset: 74, FindInstBLX: {SymPLT: "ReadingSettings::getShowAdobePageNumbers()"}, ReplaceInstBLX: {SymPLT: "FeatureSettings::invertScreen()"}} @@ -1039,17 +1027,17 @@ Change Browse Kobo home screen link target - Activity: - Description: See the comment above. - ReplaceBytes: Base: "BrowseKoboWidget::tapped()" - Offset: 22 + Offset: 26 FindInstBW: {SymPLTTail: "DiscoverNavMixin::storefront()"} # Store ReplaceInstBW: {SymPLTTail: "ReadingLifeNavMixin::chooseActivity()"} # Activity - ReplaceBytes: Base: "BrowseKoboWidget::tapped()" - Offset: 32 + Offset: 36 FindInstBW: {SymPLTTail: "StoreNavMixin::overDriveFeaturedLists()"} # OverDrive ReplaceInstBW: {SymPLTTail: "ReadingLifeNavMixin::chooseActivity()"} # Activity - ReplaceBytes: Base: "BrowseKoboWidget::BrowseKoboWidget(QWidget*)" - Offset: 196 + Offset: 206 FindInstBLX: {SymPLT: "N3DeviceCharm::shopName()"} # "Shop Kobo" or "Walmart" ReplaceInstBLX: {SymPLT: "N3DeviceCharm::extrasName()"} # "Activity" - ReplaceBytes: @@ -1352,21 +1340,8 @@ Swap reading header/footer: FindH: DE F8 1C 40 # LDR.W r4, [lr, #0x1C] ReplaceH: DE F8 10 40 # LDR.W r4, [lr, #0x10] -Enable advanced settings for all fonts: - - Enabled: no - - Description: | - This patch allows the advanced font options (weight/sharpness adjustments) - to work with sideloaded fonts too. (KEPUB - OTF and TTF. EPUB - TTF only.) - - ReplaceBytes: - Base: "AdvancedFontSettingsController::loadView()" # font dropdown in advanced font settings dialog - Offset: 132 - FindInstBLX: {SymPLT: "N3FontTypeUtil::setupMonotypeDropdown(TouchDropDown*, QString const&)"} # monotype fonts only - ReplaceInstBLX: {SymPLT: "N3FontTypeUtil::setupDropdown(TouchDropDown*, QString const&)"} # all fonts - - ReplaceBytes: - Base: "ReadingMenuFontSettingsController::setupAdvancedOption(QString const&)" - Offset: 112 - FindInstBLX: {SymPLT: "N3FontTypeUtil::isMonotypeFont(QString const&)"} - ReplaceH: 4F F0 01 00 +# Note: The "Enable advanced settings for all fonts" patch is no longer +# necessary since the advanced font settings are now available for all fonts. Customize ComfortLight settings: - Enabled: no @@ -1383,7 +1358,7 @@ Customize ComfortLight settings: # In an unnamed subroutine two layers into FrontLightPopupController::loadView # (find it by going back from QTime::addSecs), the times for the dropdown are # generated into a QVector> with a simple loop. - - BaseAddress: 0xCB22A4 # find the base of the unnamed subroutine with the x-ref to _ZN5QTimeC1Eiiii + - BaseAddress: 0xCCEFAC # find the base of the unnamed subroutine with the x-ref to _ZN5QTimeC1Eiiii # # Change the initial hour / first bedtime dropdown item passed to the QTime # constructor (mov r1, #21): @@ -1488,7 +1463,7 @@ Unify font sizes: # EPUB settings: - BaseAddress: Sym: "AdobeStyling::update(QString const&)" - Rel: 5800 # at ReadingSettings::getReadingFontSizeScaleFactor(float, float) + Rel: 5796 # at ReadingSettings::getReadingFontSizeScaleFactor(float, float) # Set the scale factor to 2.5 - ReplaceBytes: Offset: -20 diff --git a/src/librmsdk.so.1.0.0.yaml b/src/librmsdk.so.1.0.0.yaml index 53d9bab..1dbf44b 100644 --- a/src/librmsdk.so.1.0.0.yaml +++ b/src/librmsdk.so.1.0.0.yaml @@ -23,10 +23,10 @@ Default ePub serif font (Amasis): # To use a different font, change "Amasis" in each of the replacement strings # to another font name prefix (7 letters max.). For example, change "Amasis" # to "Times" to use a sideloaded Times New Roman font. - - FindReplaceString: {Find: "/normal/georgia", Replace: "/normal/Amasis"} - - FindReplaceString: {Find: "/bold/georgia", Replace: "/bold/Amasis"} - - FindReplaceString: {Find: "/italic/georgia", Replace: "/italic/Amasis"} - - FindReplaceString: {Find: "/bolditalic/georgia", Replace: "/bolditalic/Amasis"} + - FindReplaceString: {Find: "/normal/Georgia", Replace: "/normal/Amasis"} + - FindReplaceString: {Find: "/bold/Georgia", Replace: "/bold/Amasis"} + - FindReplaceString: {Find: "/italic/Georgia", Replace: "/italic/Amasis"} + - FindReplaceString: {Find: "/bolditalic/Georgia", Replace: "/bolditalic/Amasis"} Default ePub sans-serif font (Gill Sans): - Enabled: no diff --git a/src/nickel.yaml b/src/nickel.yaml index d2caebb..4d9dd3a 100644 --- a/src/nickel.yaml +++ b/src/nickel.yaml @@ -218,6 +218,8 @@ Custom collection/author header title font: fw 4.17.13694 rewritten by jackie_w to replace oren64's patch "Custom font to collection and author titles" fw 4.23.15505 Author/Series/Collection list headers no longer forced to uppercase + + The optional font-family changes in this patch may not work correctly on 4.31.19501. - FindZlib: "#scrollContainer[containerSpacing=true]" # qss/DragonLibraryView.qss - ReplaceZlibGroup: Replacements: @@ -287,6 +289,8 @@ Custom header/footer captions: fw 4.23.15505 No longer possible to customise font-size for GloHD/ClaraHD separately from AuraHD/H2O. fw 4.29.18730 No longer possible to style header/footer separately, + + The optional font-family changes in this patch may not work correctly on 4.32.19501. - FindZlib: "ReadingFooter" # qss/ReadingFooter.qss - ReplaceZlibGroup: Replacements: @@ -370,6 +374,8 @@ Custom page navigation scrubber: This patch allows you to customise various parts of the new 'scrubber'. Full details & screenshots at: https://www.mobileread.com/forums/showpost.php?p=3897174&postcount=3 N.B: This patch is not suitable for Japanese/Chinese locale users + + The optional font-family changes in this patch may not work correctly on 4.32.19501. - FindZlib: "#scrubberContainer" # qss/ReadingMenuScrubberView.qss - ReplaceZlibGroup: Replacements: @@ -449,6 +455,8 @@ Customise Header back button: - Enabled: no - Description: | Customise in-book button (top left corner) for 'Back to Home', 'Back to My Books' etc + + The optional font-family changes in this patch may not work correctly on 4.32.19501. - FindZlib: "#ReadingMenuView" # qss/ReadingMenuView.qss - ReplaceZlibGroup: Replacements: @@ -617,7 +625,7 @@ Remove forgot pin button from lock screen: Removes the Forgot PIN -> Sign Out button from the lock screen. If this is enabled and you forget your pin, you will need to hard reset your Kobo. - - BaseAddress: 0x1673B62 # qss/PinCodeInputDialog.qss + - BaseAddress: 0x1777B1F # qss/PinCodeInputDialog.qss - ReplaceZlib: Find: "#lblForgotPin[qApp_deviceIsDragon=true],\n#lblSignOut[qApp_deviceIsDragon=true] {\n font-size: 26px;\n}" Replace: "#lblForgotPin,#lblSignOut{qproperty-visible:false;}" @@ -625,7 +633,7 @@ Remove forgot pin button from lock screen: Increase size of kepub chapter progress chart: - Enabled: no - Description: Originally by oren64, rewritten for 4.16.13337 by pgaskin (geek1011). - - BaseAddress: 0x1667475 # qss/ReadingMenuStatsView.qss + - BaseAddress: 0x176E839 # qss/ReadingMenuStatsView.qss - ReplaceZlibGroup: Replacements: # Top padding is already set to 15px, 25px, 33px, vertical aligned to middle.