Register Guidelines E-Books Search Today's Posts Mark Forums Read

Go Back   MobileRead Forums > E-Book Readers > Kobo Reader > Kobo Developer's Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 04-12-2017, 11:57 AM   #1
oren64
I need a chapter break
oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.
 
oren64's Avatar
 
Posts: 2,969
Karma: 39104476
Join Date: Mar 2015
Location: Israel
Device: kobo glo
Instructions for patching firmware 4.3.9084

See the Kobo firmware 4.3.9084 discussion thread for information about what has changed in this firmware version.

See the Index to the Metazoa firmware patches thread for a description of what some of these patches do.


Before starting:

1. Make sure your Kobo ereader is already running firmware version 4.3.9084 (59faa7bc47). If not, then you need to upgrade before applying this patch.

2. Check that your battery is well charged.


Patching from Windows, Linux (i386/x86_64), or Mac (OS X 10.8-10.9, i386/x86_64):

1. Download and extract patch_kobo_4039084.zip (attached).

2. Download the Kobo firmware archive version 4.3.9084 for your device (See this thread) and copy it into the 4.3.9084_source/ subdirectory. (Don't unzip the firmware.)

3. Read and edit all the *.patch files in the 4.3.9084_source/ subdirectory in order to: choose which patches to enable (patch_enable=`yes`) or disable (patch_enable=`no`); and to change some of the replacement values to suit your device and preferences.

4. In Windows double-click 4.3.9084bat; For Linux/Mac open a terminal, change to the patch_kobo_4039084/ subdirectory, and run ./4.3.9084.sh from the command line.

5. If there were no errors, copy the resulting KoboRoot.tgz from the 4.3.9084_target/ subdirectory to the .kobo directory on your ereader.

6. Safely eject and unplug the device, which will then update and restart.


To return your ereader to its original unpatched state:

1. Edit all the 4.3.9084_source/*.patch files to disable all patches (set patch_enable = `no` for every patch).

2. Repeat steps 4-6 of the procedure above.


Note that the following patches are enabled by default:

`Fix page breaks bug`
`Default ePub monospace font (Courier)`
`Custom left & right margins`
`Custom page refresh options`
`Fix three KePub fullScreenReading bugs`
Attached Files
File Type: zip patch_kobo_4039084.zip (501.6 KB, 379 views)

Last edited by oren64; 04-29-2017 at 05:02 PM. Reason: Replace the patcher with the one GeoffR make.
oren64 is offline   Reply With Quote
Advert
Old 04-12-2017, 11:58 AM   #2
oren64
I need a chapter break
oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.
 
oren64's Avatar
 
Posts: 2,969
Karma: 39104476
Join Date: Mar 2015
Location: Israel
Device: kobo glo
Notes:

Be extra careful checking the version number of the firmware your device is running. There have been a lot of different 4.3 versions released, and the version number on the device must match exactly with the version number used for patching.

Quote:
Originally Posted by GeoffR View Post
My new laptop arrived and is all set up. I now have a dual-boot Debian 8 / Windows 7 setup, so I will be able to test things on an actual Windows system instead of just in Wine.

I've attached an updated patch_kobo_4039084.zip that includes the missing libnickel.so.1.0.0 patches from 4.3.8966, an updated `Force user line spacing in KePubs` patch that should work with more books, and an updated 4.3.9084.sh script which should give a more useful error message if the downloaded firmware is missing or corrupt.

Thank you Oren for doing the rest of the patches. I'll start a thread sometime soon and try to explain how I update those patches which make changes to function calls, such as `Freedom to advanced fonts control`.

Here are the missing/updated patches for those who want to update libnickel.so.1.0.0 via copy/paste instead of downloading the zip:

`My 24 line spacing values`
Spoiler:
Code:
<Patch>
patch_name = `My 24 line spacing values` 
patch_enable = `no`
# patch_group = `Line spacing values alternatives`
#
## This patch changes the values on the line spacing adjustment slider,
## increasing the number of spacing options from 15 to 24, and allowing
## much narrower spacing values to be set.
#
# save r5, initialise loop counter
replace_bytes = 611D98, 71 4B C7 E9 02 23, BD 60 00 25 ED 00
# loop to load 14 vals from new table 4e36bc
replace_bytes = 611D9E, D1 F6 28 ED 5B A3, 20 46 03 A1 29 44
replace_bytes = 611DA4, D3 E9 00 23, D1 F6 24 ED
replace_bytes = 611DA8, 07 F1 80 01 20 46, 08 35 70 2D F7 D1
# jump over new table
replace_bytes = 611DAE, 61 E9, 78 E0
# new table: 14 8-aligned doubles
base_address = 611DB0
replace_bytes = 0000, 1C 23 D1 F6 1E ED 58 A3, 00 00 00 00 00 00 F0 3F
replace_bytes = 0008, D3 E9 00 23 07 F1 80 01, 00 00 00 00 00 00 F0 3F
replace_bytes = 0010, 20 46 61 E9 1A 23 D1 F6, 00 00 00 00 00 00 F0 3F
replace_bytes = 0018, 14 ED 55 A3 D3 E9 00 23, 00 00 00 00 00 00 F0 3F
replace_bytes = 0020, 07 F1 80 01 20 46 61 E9, 00 00 00 00 00 00 F0 3F
replace_bytes = 0028, 18 23 D1 F6 0A ED 61 4B, 00 00 00 00 00 00 F0 3F
replace_bytes = 0030, 07 F1 80 01 4F F0 33 32, 00 00 00 00 00 00 F0 3F
replace_bytes = 0038, 20 46 61 E9 16 23 D1 F6, 00 00 00 00 00 00 F0 3F
replace_bytes = 0040, 00 ED 4D A3 D3 E9 00 23, 00 00 00 00 00 00 F0 3F
replace_bytes = 0048, 07 F1 80 01 20 46 61 E9, 00 00 00 00 00 00 F0 3F
replace_bytes = 0050, 14 23 D1 F6 F6 EC 58 4B, 00 00 00 00 00 00 F0 3F
replace_bytes = 0058, 07 F1 80 01 00 22 20 46, 00 00 00 00 00 00 F0 3F
replace_bytes = 0060, 61 E9 12 23 D1 F6 EC EC, 00 00 00 00 00 00 F0 3F
replace_bytes = 0068, 45 A3 D3 E9 00 23 07 F1, 00 00 00 00 00 00 F0 3F
base_address = 00000000
# initialise loop counter
replace_bytes = 611EA0, D1 F6 A6 EC, 00 BF 00 25
# loop to load 10 vals from old table
replace_bytes = 611EA4, 31 4B 07 F1 80 01, 20 46 1A A1 29 44
replace_bytes = 611EAA, 00 22 20 46, D1 F6 A2 EC
replace_bytes = 611EAE, 61 E9 02 23 D1 F6, 08 35 50 2D F7 D1
# restore r5
replace_bytes = 611EB4, 9E EC, BD 68
# continue at 611EB6
#
#
# Replacement value: the number of initial line spacing values to exclude from
# the line spacing slider; minimum 0, maximum 13. E.g. 9 will result in a
# slider with 15 positions, starting from the 10th replace_float value below.
replace_int = 611D9A, 0, 0
#
# 24 replacement line spacing values: change these replace_float values to suit
# your device and preferences:
#
base_address = 611DB0
replace_float = 0000, 1.0, 0.75
replace_float = 0008, 1.0, 0.78
replace_float = 0010, 1.0, 0.8
replace_float = 0018, 1.0, 0.82
replace_float = 0020, 1.0, 0.84
replace_float = 0028, 1.0, 0.86
replace_float = 0030, 1.0, 0.88
replace_float = 0038, 1.0, 0.9
replace_float = 0040, 1.0, 0.92
replace_float = 0048, 1.0, 0.94
replace_float = 0050, 1.0, 0.96
replace_float = 0058, 1.0, 0.98
replace_float = 0060, 1.0, 1.0
replace_float = 0068, 1.0, 1.02
base_address = 611F10
replace_float = 0000, 1.05, 1.05
replace_float = 0008, 1.07, 1.07
replace_float = 0010, 1.1, 1.1
replace_float = 0018, 1.35, 1.15
replace_float = 0020, 1.7, 1.2
replace_float = 0028, 1.8, 1.25
replace_float = 0030, 2.2, 1.3
replace_float = 0038, 2.4, 1.35
replace_float = 0040, 2.6, 1.4
replace_float = 0048, 2.8, 1.5
#
# The first 14 replacement values above should allow the line spacing to be
# adjusted in increments of one pixel when using a medium sized font on a high
# resolution device. If you use a smaller font size and/or a lower resolution
# device you might find that increasing the slider one step at a time doesn't
# always result in a line spacing increase at each step. In that case, you
# might want to use replacement values that are not quite so close together.
#
# For example: (I use these values on my 758x1024 Glo)
#
#  0.7 0.725 0.75 0.775 0.8 0.825 0.85 0.875 0.9 0.925 0.95 0.975 1.0 1.025 ...
#
# or: (these might better suit the 600x800 Touch)
#
#  0.6 0.633 0.667 0.7 0.733 0.767 0.8 0.833 0.867 9.0 9.33 9.67 1.0 1.025 ...
#
</patch>


`Freedom to advanced fonts control`
Spoiler:
Code:
<Patch>
patch_name = `Freedom to advanced fonts control`
patch_enable = `no`
#
## This patch allows the advanced font options (weight/sharpness adjustments)
## to work with sideloaded fonts too. (KEPUB: OTF and TTF. EPUB: TTF only.)
##
## WARNING: THIS PATCH MIGHT HAVE SOME SIDE-EFFECTS IF YOUR DEVICE IS SET TO
## A JAPANESE LOCALE OR JAPANESE LANGUAGE BOOKS ARE OPENED.
#
# VolumeManager.isJapanese(a) --> False
replace_bytes = 6102FE, C0 F6 0C EC, 00 20 00 20
# N3FontTypeUtil.setupMonotypeDropdown(b,c)
# --> N3FontTypeUtil.setupDropdown(UNDEFINED,b,c)
replace_bytes = 6DD39C, 50 46 31 46, 51 46 32 46
replace_bytes = 6DD3A0, E9 F5 82 EA, 06 F6 86 E9
# N3FontTypeController.setupAdvancedOption(...) --> NOP
replace_bytes = 78BB7E, 72 F5 BA EB, 00 46 00 46
replace_bytes = 78BD88, 72 F5 B4 EA, 00 46 00 46
</Patch>


`Allow download all in Browser`
Spoiler:
Code:
<Patch>
patch_name = `Allow download all in Browser`
patch_enable = `no`
#
## Allow the browser to download any file, not just the types it recognises.
#
replace_bytes = 7002DA, FB F5 08 E9, 01 20 01 20
</Patch>


`ePub fixed/adjustable top/bottom margins`
Spoiler:
Code:
<Patch>
patch_name = `ePub fixed/adjustable top/bottom margins`
patch_enable = `no`
# patch_group = `ePub padding-bottom alternatives`
#
## This patch sets the @page margin sizes in epubs, overriding any @page margin
## set in the book's CSS stylesheet (but not in the XPGT stylesheet, see below).
##
## By default the top and bottom margins are set to be adjustable, their size
## similar to the left/right margin size set by the adjustment slider. There
## are options to set the top and/or bottom margin to a fixed size instead.
##
## Note that @page margins are seperate from (and overlap) both the body margins
## set in the book and the left/right margins set from the adjustment slider,
## and are added to any page margins set in the Adobe XPGT stylesheet if the
## book has one (e.g. page-template.xpgt). For this reason you might want to
## consider using the Modify ePub Calibre plugin to remove any body margins and
## XPGT stylesheet margins before sideloading the book, or perhaps enabling the
## `Ignore ePub Adobe XPGT stylesheet (page-template.xpgt)` patch.
##
## Also note that a side-effect of this patch is that the body padding-bottom is
## removed from the built-in stylesheet, which means that there will no longer
## be a blank line added automatically at the end of chapters.
##
## See at the bottom of the patch for replacement values that can be used to
## tune the size of the margins to suit different devices and reading modes.
#
#
# Push an extra 8 bytes of scratch space onto the stack
replace_bytes = 534168, B7 B0, B9 B0
replace_bytes = 53416C, 02 AF, 04 AF
# Save this value for the third stack argument of the following function call
replace_bytes = 5343E8, AD F8 04 30, 02 93 01 93
# getReadingLineHeight(...) --> getReadingLeftMargin(...)
replace_bytes = 53441A, CD F7 96 EC, A7 F7 F0 ED
# (Setup call to QString.arg)
replace_bytes = 53441E, 4F F0 FF 33 07 F1, 00 23 01 22 0A 21
replace_bytes = 534424, 3C 0A 00 93, 00 93 01 91
replace_bytes = 534428, 20 23 AD F8 04 30, 42 43 92 08 01 3A
replace_bytes = 53442E, 50 46 21 46, B8 BF 00 22
replace_bytes = 534432, 00 22 67 23, 13 A8 21 46
# QString.arg(double, ...) --> QString.arg(int64, ...)
replace_bytes = 534436, B5 F7 1E ED, A7 F7 66 E8
#
# (There wasn't room to load sl above)
# mov r1,sl; --> adds r1,sp,#76
replace_bytes = 53443C, 51 46, 13 A9
# mov r0,sl; --> adds r0,sp,#76
replace_bytes = 534442, 50 46, 13 A8
# (Remember to pop scratch space if necessary)
#
#      padding-bottom: %1em !important;\n
# --> }@page{margin:%1px 00px %1px}body{
find_base_address = `\x20\0p\0a\0d\0d\0i\0n\0g\0-\0b\0o\0t\0t\0o\0m\0:\0 \0%\01\0e\0m\0 \0!\0i\0m\0p\0o\0r\0t\0a\0n\0t\0;\0\n\0`
replace_string = 0000, `\x20\0p\0a\0d\0d\0i\0n\0g\0-\0b\0o\0t\0t\0o\0m\0:\0 \0%\01\0e\0m\0 \0!\0i\0m\0p\0o\0r\0t\0a\0n\0t\0;\0\n\0`, `}\0@\0p\0a\0g\0e\0{\0m\0a\0r\0g\0i\0n\0:\0%\01\0p\0x\0 \00\00\0p\0x\0 \0%\01\0p\0x\0}\0b\0o\0d\0y\0{\0`
#
#
# *** Replacement values start here, don't change anything above ***
#
# Optional replacement value: Uncomment for a FIXED TOP MARGIN size in px,
# default 25px. Replacement value is margin size, two digits separated by \0
# (Leave commented out for an adjustable top margin.)
#replace_string = 001C, `%\01`, `2\05`
#
# Optional replacement value: Uncomment for a FIXED BOTTOM MARGIN size in px,
# default 00px. Replacement value is margin size, two digits separated by \0
# (Leave commented out for an adjustable bottom margin.)
#replace_string = 0030, `%\01`, `0\00`
#
# Optional replacement value: Uncomment to set the minimum LEFT/RIGHT MARGIN
# size in px, default 15px. (This margin will overlap the left/right margin
# set with the adjustment slider, not add to it.) Replacement value is margin
# size, two digits separated by \0
#replace_string = 0026, `0\00`, `1\05`
#
base_address = 000000
# Replacement value: Sets the step-size of the ADJUSTABLE top/bottom margin
# (if any) in quarter-pixels. These suggested values should be very close to
# the 1% step size of the left/right margins set by the slider. Larger values
# will make the top/bottom margins larger than the left/right margins.
# Suggested values:
#   24 (Touch/Mini), 30 (Glo/Aura/Aura2ed), 43 (AuraHD/H2O/GloHD), 56 (Aura One)
replace_int = 534420, 1, 30
#
# Replacement value: Set this to the size of the device's built-in top margin,
# in pixels. This value is subtracted from the adjustable top/bottom margin
# (if any) to compensate for any unremovable built-in top margin.
# Suggested values are:
#   0 For full-screen reading mode (fullScreenReading=true, all devices)
#  15 for normal reading mode (with custom or disabled footer, all devices)
replace_int = 53442C, 1, 0
</Patch>


`Set KePub hyphenation`
Spoiler:
Code:
<Patch>
patch_name = `Set KePub hyphenation`
patch_enable = `no`
#
## The built-in KePub stylesheet has a line "* { -webkit-hyphens: auto; }"
## to turn on hyphenation, but it is only used if the device's justification
## button is set to full justification. With this patch enabled hyphenation
## will always be turned on, regardless of justification button setting.
##
## (The publisher can still turn hyphenation off/on in the book's stylesheet.)
#
# Alternative 1: Always turn KePub hyphenation on
replace_bytes = 7C43AA, 29 F5 42 EE, 01 20 01 20
#
# Alternative 2: Never turn KePub hyphenation on
#replace_bytes = 7C43AA, 29 F5 42 EE, 00 20 00 20
</Patch>


`Always display chapter name on navigation menu`
Spoiler:
Code:
<Patch>
patch_name = `Always display chapter name on navigation menu`
patch_enable = `no`
#
## Normally the <-> navigation menu only displays the current chapter name if
## [Reading settings > Display progress for:] is set to 'Current Chapter'.
## This patch causes the current chapter name to be displayed if 'Entire book'
## progress is selected as well. Works for both ePub and KePub books.
#
# in ReadingMenuScrubberController::setChapterAndProgressText(...)
#  progressTypeIsBookBased(...) --> False
replace_bytes = 795EE4, 50 F5 28 E9, 00 20 00 20
</Patch>


`Force user line spacing in KePubs` (updated to more forceful version)
Spoiler:
Code:
<Patch>
patch_name = `Force user line spacing in KePubs`
patch_enable = `no`
#
## This patch will allow the line spacing set by the slider to take effect
## in some problem KePub books with fixed linespacing (including ones where the
## publisher has used <div> instead of <p> for paragraphs, or wrapped each
## paragraph in a <span> and set the line-height on the span.) However it might
## also override some line spacing that would better be left fixed, e.g. it can
## cause problems with the spacing of paragraphs that begin with a raise-cap.
#
# body, p { line-height: %1 ... }  -->  body *  { line-height: %1 ... }
#
#strings -tx -el libnickel.so.1.0.0 | grep "body, p { line-height: %1"
base_address = 99FFA0
#base_address = 9A6220
replace_string = 0000, `b\0o\0d\0y\0,\0 \0p\0 \0{\0`, `b\0o\0d\0y\0 \0*\0 \0 \0{\0`
#
# Option: Comment out the replace_string line above and uncomment the one below
# for a less forceful version of this patch.
#
# body, p { line-height: %1 ... }  -->  body,div,p{line-height:%1 ... }
#
#replace_string = 0000, `b\0o\0d\0y\0,\0 \0p\0 \0{\0 \0l\0i\0n\0e\0-\0h\0e\0i\0g\0h\0t\0:\0 \0%`, `b\0o\0d\0y\0,\0d\0i\0v\0,\0p\0{\0l\0i\0n\0e\0-\0h\0e\0i\0g\0h\0t\0:\0%`
</Patch>
Other patches:

`Brightness fine control` libnickel.so.1.0.0.patch


If anyone has other patches for firmware 4.3.9084, post them in this thread and I'll add a link to this post.

Last edited by oren64; 04-30-2017 at 03:20 AM.
oren64 is offline   Reply With Quote
Old 04-12-2017, 01:01 PM   #3
mathil
Zealot
mathil can differentiate black from dark navy bluemathil can differentiate black from dark navy bluemathil can differentiate black from dark navy bluemathil can differentiate black from dark navy bluemathil can differentiate black from dark navy bluemathil can differentiate black from dark navy bluemathil can differentiate black from dark navy bluemathil can differentiate black from dark navy bluemathil can differentiate black from dark navy bluemathil can differentiate black from dark navy bluemathil can differentiate black from dark navy blue
 
Posts: 130
Karma: 13117
Join Date: Sep 2014
Device: Kobo Aura H2O/Glo HD, Kindle Paperwhite 3
Thank you for your work. I applied the patch to my H2O, including 'My 24 line spacing values' and "Freedom to advanced fonts control", used the same settings as usual (the default ones already present in the file). Opening a KEPUB file, any file, causes an instant reboot of the device, unfortunately. I'm afraid I cannot do any further testing as I don't have time right now.

Also, I'd like to point out that unlike the patch for the former firmware, most of the patches present in the nickel.patch file are set to 'yes' instead of 'no' -- including 'Removing footer', 'Reducing header by 50%', 'Custom line-spacing in details box', the dictionary one etc. As I'm not interested in any of these I had to set them all to 'no', but I almost didn't notice, so I thought I would point that out and maybe suggest that all of these patches are set to 'no' on default, as they are very user-specific and I think only a minority of users are interested in all of them.

Last edited by mathil; 04-12-2017 at 01:05 PM.
mathil is offline   Reply With Quote
Old 04-12-2017, 01:09 PM   #4
Martina Schein
eBook-Reader-Fan
Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.
 
Martina Schein's Avatar
 
Posts: 117
Karma: 408582
Join Date: Sep 2012
Location: Saarbruecken / DE
Device: Kobo Aura H2O
Quote:
Originally Posted by mathil View Post
Thank you for your work. I applied the patch to my H2O, including 'My 24 line spacing values' and "Freedom to advanced fonts control", used the same settings as usual (the default ones already present in the file). Opening a KEPUB file, any file, causes an instant reboot of the device, unfortunately. I'm afraid I cannot do any further testing as I don't have time right now.
The same on my H2O and Glo and Glo HD. However, if I activate the option 'My 10 line spacing values', everything will work again.
Martina Schein is offline   Reply With Quote
Old 04-12-2017, 01:31 PM   #5
oren64
I need a chapter break
oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.
 
oren64's Avatar
 
Posts: 2,969
Karma: 39104476
Join Date: Mar 2015
Location: Israel
Device: kobo glo
Thanks for testing, so the problem is with 'My 24 line spacing values' and not "Freedom to advanced fonts control"?

please try this patch:

`My 24 line spacing values`

Spoiler:
Code:
<Patch>
patch_name = `My 24 line spacing values` 
patch_enable = `yes`
# patch_group = `Line spacing values alternatives`
#
## This patch changes the values on the line spacing adjustment slider,
## increasing the number of spacing options from 15 to 24, and allowing
## much narrower spacing values to be set.
#
# save r5, initialise loop counter
replace_bytes = 611D98, 71 4B C7 E9 02 23, BD 60 00 25 ED 00
# loop to load 14 vals from new table 4e36bc
replace_bytes = 611D9E, D1 F6 28 ED 5B A3, 20 46 03 A1 29 44
replace_bytes = 611DA4, D3 E9 00 23, D1 F6 26 ED
replace_bytes = 611DA8, 07 F1 80 01 20 46, 08 35 70 2D F7 D1
# jump over new table
replace_bytes = 611DAE, 61 E9, 78 E0
# new table: 14 8-aligned doubles
base_address = 611DB0
replace_bytes = 0000, 1C 23 D1 F6 1E ED 58 A3, 00 00 00 00 00 00 F0 3F
replace_bytes = 0008, D3 E9 00 23 07 F1 80 01, 00 00 00 00 00 00 F0 3F
replace_bytes = 0010, 20 46 61 E9 1A 23 D1 F6, 00 00 00 00 00 00 F0 3F
replace_bytes = 0018, 14 ED 55 A3 D3 E9 00 23, 00 00 00 00 00 00 F0 3F
replace_bytes = 0020, 07 F1 80 01 20 46 61 E9, 00 00 00 00 00 00 F0 3F
replace_bytes = 0028, 18 23 D1 F6 0A ED 61 4B, 00 00 00 00 00 00 F0 3F
replace_bytes = 0030, 07 F1 80 01 4F F0 33 32, 00 00 00 00 00 00 F0 3F
replace_bytes = 0038, 20 46 61 E9 16 23 D1 F6, 00 00 00 00 00 00 F0 3F
replace_bytes = 0040, 00 ED 4D A3 D3 E9 00 23, 00 00 00 00 00 00 F0 3F
replace_bytes = 0048, 07 F1 80 01 20 46 61 E9, 00 00 00 00 00 00 F0 3F
replace_bytes = 0050, 14 23 D1 F6 F6 EC 58 4B, 00 00 00 00 00 00 F0 3F
replace_bytes = 0058, 07 F1 80 01 00 22 20 46, 00 00 00 00 00 00 F0 3F
replace_bytes = 0060, 61 E9 12 23 D1 F6 EC EC, 00 00 00 00 00 00 F0 3F
replace_bytes = 0068, 45 A3 D3 E9 00 23 07 F1, 00 00 00 00 00 00 F0 3F
base_address = 00000000
# initialise loop counter
replace_bytes = 611EA0, D1 F6 A6 EC, 00 BF 00 25
# loop to load 10 vals from old table
replace_bytes = 611E54, 3A A3 D3 E9 00 23, 20 46 1A A1 29 44
replace_bytes = 611E5A, 07 F1 80 01, D1 F6 A4 EC
replace_bytes = 611E5E, 20 46 61 E9 0A 23, 08 35 50 2D F7 D1
# restore r5
replace_bytes = 611EB4, 9E EC, BD 68
# continue at 611F26
#
#
# Replacement value: the number of initial line spacing values to exclude from
# the line spacing slider; minimum 0, maximum 13. E.g. 9 will result in a
# slider with 15 positions, starting from the 10th replace_float value below.
replace_int = 611D9A, 0, 0
#
# 24 replacement line spacing values: change these replace_float values to suit
# your device and preferences:
#
base_address = 611DB0
replace_float = 0000, 1.0, 0.75
replace_float = 0008, 1.0, 0.78
replace_float = 0010, 1.0, 0.8
replace_float = 0018, 1.0, 0.82
replace_float = 0020, 1.0, 0.84
replace_float = 0028, 1.0, 0.86
replace_float = 0030, 1.0, 0.88
replace_float = 0038, 1.0, 0.9
replace_float = 0040, 1.0, 0.92
replace_float = 0048, 1.0, 0.94
replace_float = 0050, 1.0, 0.96
replace_float = 0058, 1.0, 0.98
replace_float = 0060, 1.0, 1.0
replace_float = 0068, 1.0, 1.02
base_address = 611F10
replace_float = 0000, 1.05, 1.05
replace_float = 0008, 1.07, 1.07
replace_float = 0010, 1.1, 1.1
replace_float = 0018, 1.35, 1.15
replace_float = 0020, 1.7, 1.2
replace_float = 0028, 1.8, 1.25
replace_float = 0030, 2.2, 1.3
replace_float = 0038, 2.4, 1.35
replace_float = 0040, 2.6, 1.4
replace_float = 0048, 2.8, 1.5
#
# The first 14 replacement values above should allow the line spacing to be
# adjusted in increments of one pixel when using a medium sized font on a high
# resolution device. If you use a smaller font size and/or a lower resolution
# device you might find that increasing the slider one step at a time doesn't
# always result in a line spacing increase at each step. In that case, you
# might want to use replacement values that are not quite so close together.
#
# For example: (I use these values on my 758x1024 Glo)
#
#  0.7 0.725 0.75 0.775 0.8 0.825 0.85 0.875 0.9 0.925 0.95 0.975 1.0 1.025 ...
#
# or: (these might better suit the 600x800 Touch)
#
#  0.6 0.633 0.667 0.7 0.733 0.767 0.8 0.833 0.867 9.0 9.33 9.67 1.0 1.025 ...
#
</patch>

Last edited by oren64; 04-12-2017 at 01:42 PM.
oren64 is offline   Reply With Quote
Advert
Old 04-12-2017, 02:08 PM   #6
Number9
Connoisseur
Number9 lived happily ever after.Number9 lived happily ever after.Number9 lived happily ever after.Number9 lived happily ever after.Number9 lived happily ever after.Number9 lived happily ever after.Number9 lived happily ever after.Number9 lived happily ever after.Number9 lived happily ever after.Number9 lived happily ever after.Number9 lived happily ever after.
 
Posts: 56
Karma: 108914
Join Date: Feb 2014
Location: Sweden
Device: Kobo Aura One; Kobo Aura H2o; Sony Reader PRS-T3
I applied the "Freedom to advanced fonts control"-patch and it's working until I try to click on the sideloaded font's "Advanced" button, then the device restarts.
Number9 is offline   Reply With Quote
Old 04-12-2017, 03:19 PM   #7
Martina Schein
eBook-Reader-Fan
Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.Martina Schein ought to be getting tired of karma fortunes by now.
 
Martina Schein's Avatar
 
Posts: 117
Karma: 408582
Join Date: Sep 2012
Location: Saarbruecken / DE
Device: Kobo Aura H2O
Quote:
Originally Posted by oren64 View Post
Thanks for testing, so the problem is with 'My 24 line spacing values' and not "Freedom to advanced fonts control"?

please try this patch:

`My 24 line spacing values`

Spoiler:
Code:
<Patch>
patch_name = `My 24 line spacing values` 
patch_enable = `yes`
# patch_group = `Line spacing values alternatives`
#
## This patch changes the values on the line spacing adjustment slider,
## increasing the number of spacing options from 15 to 24, and allowing
## much narrower spacing values to be set.
#
# save r5, initialise loop counter
replace_bytes = 611D98, 71 4B C7 E9 02 23, BD 60 00 25 ED 00
# loop to load 14 vals from new table 4e36bc
replace_bytes = 611D9E, D1 F6 28 ED 5B A3, 20 46 03 A1 29 44
replace_bytes = 611DA4, D3 E9 00 23, D1 F6 26 ED
replace_bytes = 611DA8, 07 F1 80 01 20 46, 08 35 70 2D F7 D1
# jump over new table
replace_bytes = 611DAE, 61 E9, 78 E0
# new table: 14 8-aligned doubles
base_address = 611DB0
replace_bytes = 0000, 1C 23 D1 F6 1E ED 58 A3, 00 00 00 00 00 00 F0 3F
replace_bytes = 0008, D3 E9 00 23 07 F1 80 01, 00 00 00 00 00 00 F0 3F
replace_bytes = 0010, 20 46 61 E9 1A 23 D1 F6, 00 00 00 00 00 00 F0 3F
replace_bytes = 0018, 14 ED 55 A3 D3 E9 00 23, 00 00 00 00 00 00 F0 3F
replace_bytes = 0020, 07 F1 80 01 20 46 61 E9, 00 00 00 00 00 00 F0 3F
replace_bytes = 0028, 18 23 D1 F6 0A ED 61 4B, 00 00 00 00 00 00 F0 3F
replace_bytes = 0030, 07 F1 80 01 4F F0 33 32, 00 00 00 00 00 00 F0 3F
replace_bytes = 0038, 20 46 61 E9 16 23 D1 F6, 00 00 00 00 00 00 F0 3F
replace_bytes = 0040, 00 ED 4D A3 D3 E9 00 23, 00 00 00 00 00 00 F0 3F
replace_bytes = 0048, 07 F1 80 01 20 46 61 E9, 00 00 00 00 00 00 F0 3F
replace_bytes = 0050, 14 23 D1 F6 F6 EC 58 4B, 00 00 00 00 00 00 F0 3F
replace_bytes = 0058, 07 F1 80 01 00 22 20 46, 00 00 00 00 00 00 F0 3F
replace_bytes = 0060, 61 E9 12 23 D1 F6 EC EC, 00 00 00 00 00 00 F0 3F
replace_bytes = 0068, 45 A3 D3 E9 00 23 07 F1, 00 00 00 00 00 00 F0 3F
base_address = 00000000
# initialise loop counter
replace_bytes = 611EA0, D1 F6 A6 EC, 00 BF 00 25
# loop to load 10 vals from old table
replace_bytes = 611E54, 3A A3 D3 E9 00 23, 20 46 1A A1 29 44
replace_bytes = 611E5A, 07 F1 80 01, D1 F6 A4 EC
replace_bytes = 611E5E, 20 46 61 E9 0A 23, 08 35 50 2D F7 D1
# restore r5
replace_bytes = 611EB4, 9E EC, BD 68
# continue at 611F26
#
#
# Replacement value: the number of initial line spacing values to exclude from
# the line spacing slider; minimum 0, maximum 13. E.g. 9 will result in a
# slider with 15 positions, starting from the 10th replace_float value below.
replace_int = 611D9A, 0, 0
#
# 24 replacement line spacing values: change these replace_float values to suit
# your device and preferences:
#
base_address = 611DB0
replace_float = 0000, 1.0, 0.75
replace_float = 0008, 1.0, 0.78
replace_float = 0010, 1.0, 0.8
replace_float = 0018, 1.0, 0.82
replace_float = 0020, 1.0, 0.84
replace_float = 0028, 1.0, 0.86
replace_float = 0030, 1.0, 0.88
replace_float = 0038, 1.0, 0.9
replace_float = 0040, 1.0, 0.92
replace_float = 0048, 1.0, 0.94
replace_float = 0050, 1.0, 0.96
replace_float = 0058, 1.0, 0.98
replace_float = 0060, 1.0, 1.0
replace_float = 0068, 1.0, 1.02
base_address = 611F10
replace_float = 0000, 1.05, 1.05
replace_float = 0008, 1.07, 1.07
replace_float = 0010, 1.1, 1.1
replace_float = 0018, 1.35, 1.15
replace_float = 0020, 1.7, 1.2
replace_float = 0028, 1.8, 1.25
replace_float = 0030, 2.2, 1.3
replace_float = 0038, 2.4, 1.35
replace_float = 0040, 2.6, 1.4
replace_float = 0048, 2.8, 1.5
#
# The first 14 replacement values above should allow the line spacing to be
# adjusted in increments of one pixel when using a medium sized font on a high
# resolution device. If you use a smaller font size and/or a lower resolution
# device you might find that increasing the slider one step at a time doesn't
# always result in a line spacing increase at each step. In that case, you
# might want to use replacement values that are not quite so close together.
#
# For example: (I use these values on my 758x1024 Glo)
#
#  0.7 0.725 0.75 0.775 0.8 0.825 0.85 0.875 0.9 0.925 0.95 0.975 1.0 1.025 ...
#
# or: (these might better suit the 600x800 Touch)
#
#  0.6 0.633 0.667 0.7 0.733 0.767 0.8 0.833 0.867 9.0 9.33 9.67 1.0 1.025 ...
#
</patch>
I'm sorry, but the problem still exists. I have tested it on my H2O.
Martina Schein is offline   Reply With Quote
Old 04-12-2017, 03:34 PM   #8
oren64
I need a chapter break
oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.
 
oren64's Avatar
 
Posts: 2,969
Karma: 39104476
Join Date: Mar 2015
Location: Israel
Device: kobo glo
Quote:
Originally Posted by Martina Schein View Post
I'm sorry, but the problem still exists. I have tested it on my H2O.
Thank you.

I removed these patches for now.
oren64 is offline   Reply With Quote
Old 04-14-2017, 09:55 AM   #9
booklover6
Grand Sorcerer
booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.
 
booklover6's Avatar
 
Posts: 6,008
Karma: 12282098
Join Date: May 2008
Location: PA (USA)
Device: Kindle Voyage, Kobo Glo HD, Aura H2O, Mini
Put this on my Mini, I see another patch missing


patch_name = `Custom reading footer style`
booklover6 is offline   Reply With Quote
Old 04-14-2017, 10:05 AM   #10
oren64
I need a chapter break
oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.
 
oren64's Avatar
 
Posts: 2,969
Karma: 39104476
Join Date: Mar 2015
Location: Israel
Device: kobo glo
Quote:
Originally Posted by booklover6 View Post
Put this on my Mini, I see another patch missing


patch_name = `Custom reading footer style`
The patches `Custom reading footer style` and `Disable reading footer` are in the file nickel.patch.
oren64 is offline   Reply With Quote
Old 04-14-2017, 12:12 PM   #11
booklover6
Grand Sorcerer
booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.booklover6 ought to be getting tired of karma fortunes by now.
 
booklover6's Avatar
 
Posts: 6,008
Karma: 12282098
Join Date: May 2008
Location: PA (USA)
Device: Kindle Voyage, Kobo Glo HD, Aura H2O, Mini
Quote:
Originally Posted by oren64 View Post
The patches `Custom reading footer style` and `Disable reading footer` are in the file nickel.patch.
Thanks, I didn't notice that.

I do not see "search in library by default" has that been done away with? Perhaps it is not needed any more. (All my other Kobos are on 3.19)

Last edited by booklover6; 04-14-2017 at 12:19 PM.
booklover6 is offline   Reply With Quote
Old 04-14-2017, 12:27 PM   #12
baskerville
Member
baskerville began at the beginning.
 
Posts: 17
Karma: 38
Join Date: Aug 2015
Device: Kobo Aura ONE
4.3.8966.sh should be executable as well as a bunch of files in tools/.
baskerville is offline   Reply With Quote
Old 04-14-2017, 01:06 PM   #13
oren64
I need a chapter break
oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.
 
oren64's Avatar
 
Posts: 2,969
Karma: 39104476
Join Date: Mar 2015
Location: Israel
Device: kobo glo
Quote:
Originally Posted by booklover6 View Post
Thanks, I didn't notice that.

I do not see "search in library by default" has that been done away with? Perhaps it is not needed any more. (All my other Kobos are on 3.19)
I'm still using 3.13.1. GeoffR say it is not longer needed, I don't remember way.

Last edited by oren64; 04-14-2017 at 01:11 PM.
oren64 is offline   Reply With Quote
Old 04-14-2017, 01:11 PM   #14
oren64
I need a chapter break
oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.
 
oren64's Avatar
 
Posts: 2,969
Karma: 39104476
Join Date: Mar 2015
Location: Israel
Device: kobo glo
Quote:
Originally Posted by baskerville View Post
4.3.8966.sh should be executable as well as a bunch of files in tools/.
Only 4.3.8966.sh in Linux/Mac, it will make KoboRoot.tgz file, you might want to read instructions again in post #1.

Quote:
For Linux/Mac open a terminal, change to the patch_kobo_4039084/ subdirectory, and run ./4.3.9084.sh from the command line.
oren64 is offline   Reply With Quote
Old 04-14-2017, 07:43 PM   #15
dmapr
Addict
dmapr format shifts faster than booting Windowsdmapr format shifts faster than booting Windowsdmapr format shifts faster than booting Windowsdmapr format shifts faster than booting Windowsdmapr format shifts faster than booting Windowsdmapr format shifts faster than booting Windowsdmapr format shifts faster than booting Windowsdmapr format shifts faster than booting Windowsdmapr format shifts faster than booting Windowsdmapr format shifts faster than booting Windowsdmapr format shifts faster than booting Windows
 
Posts: 362
Karma: 120184
Join Date: Sep 2009
Device: Kobo Aura HD, Kobo Aura One
Quote:
Originally Posted by oren64 View Post
I'm still using 3.13.1. GeoffR say it is not longer needed, I don't remember way.
In the latest firmware versions the device remembers your last selection, so you choose once and it stays that way unless you change.
dmapr is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Instructions for patching firmware 3.17.3 GeoffR Kobo Developer's Corner 60 09-17-2015 05:35 PM
Instructions for patching firmware 3.16.10 GeoffR Kobo Developer's Corner 12 08-14-2015 03:40 AM
Instructions for patching firmware 3.11.0 GeoffR Kobo Developer's Corner 226 06-01-2015 05:32 AM
Instructions for patching firmware 3.2.0 DNSB Kobo Developer's Corner 66 12-05-2014 07:28 AM
Instructions for patching firmware 3.1.1 GeoffR Kobo Developer's Corner 64 04-18-2014 01:23 PM


All times are GMT -4. The time now is 06:53 PM.


MobileRead.com is a privately owned, operated and funded community.