Kobo Patcher

cleo

Active member
Hallo,


kann man den Patcher auch für die 3.12.1 verwenden oder muss ich auf einen neuen warten ?


Leider wurde mir das 3.12.1 einfach aufgespielt ....
:mad:



Danke
LG Fluppine

Das kann schon mal passieren .
So wie ich Martina verstanden habe ,muss man mit jeden update auch den Patcher anpassen.
Aber Martina wird sicherlich etwas dazu schreiben.
 

Rys

New member
Leider wurde mir das 3.12.1 einfach aufgespielt ....
:mad:
Da dich das offensichtlich nicht gefreut hat...: Du weißt schon, dass man das mit dem automatischen Updaten auch ausstellen kann, oder?


Falls nicht, für die Zukunft: \'Einstellungen\' -> \'Synchronisation und Updates\' und dann bei \'Automatisch synchr.:\' den Haken entfernen.
 

JulesWDD

Active member
Wenn du meinen Einstellungen verwendest, gibt es keinen Header ... bei ePub Dateien.


[align='center']
[/align]

Hast Du Deine Einstellungen irgendwo dokumentiert? Weil mir gefällt es recht gut, wie es auf Deinem Bild aussieht, das würde ich dann so übernehmen. Also dann, wenn mein auszutauschender Kobo H2O bei mir angekommen sein wird.
 

Martina Schein

Freizeit-Nerd-Grufti
Das kann schon mal passieren .
So wie ich Martina verstanden habe ,muss man mit jeden update auch den Patcher anpassen.
Aber Martina wird sicherlich etwas dazu schreiben.
Muss ich mir die nächsten Tage mal angucken. Bin die letzte Zeit - da außer Haus - auch nicht dazu gekommen, bei MobileRead nachzuschauen, was es dort so alles neues (leider nur in Englisch) gibt.


Das Update auf 3.12.1 habe ich ebenfalls nicht gemacht. Soweit ich Näheres weiß, schreibe ich hier darüber.
 

Martina Schein

Freizeit-Nerd-Grufti
Wie ich es mir gedacht habe, braucht man für die neue Firmware-Version 3.12.1 ebenfalls einen neuen Patcher, so man diesen denn nutzen möchte.


Nachstehend finden alle Interessierten die entsprechenden Threads bei MobileRead:


Um den Link zu sehen, bitte Anmelden oder Registrieren
(1. Posting ganz unten. [Jan 2015 Release - 3.12.1 - The Fifty Shades of Greyed Out Release] Aufpassen, welche Firmware man herunterläd! Es MUSS die korrekte für den jeweiligen Reader sein!)


Mark 4 Hardware: Glo / Aura HD
Mark 5 Hardware: Aura / Aura H2O


Um den Link zu sehen, bitte Anmelden oder Registrieren
 

cleo

Active member
Wie ich es mir gedacht habe, braucht man für die neue Firmware-Version 3.12.1 ebenfalls einen neuen Patcher, so man diesen denn nutzen möchte.


Nachstehend finden alle Interessierten die entsprechenden Threads bei MobileRead:


Um den Link zu sehen, bitte Anmelden oder Registrieren
(1. Posting ganz unten. [Jan 2015 Release - 3.12.1 - The Fifty Shades of Greyed Out Release] Aufpassen, welche Firmware man herunterläd! Es MUSS die korrekte für den jeweiligen Reader sein!)


Mark 4 Hardware: Glo / Aura HD
Mark 5 Hardware: Aura / Aura H2O


Um den Link zu sehen, bitte Anmelden oder Registrieren

Danke Martina ,ich wußte doch das Du uns helfen kannst.
 

Martina Schein

Freizeit-Nerd-Grufti
Immer gerne. ☺


Um den Link zu sehen, bitte Anmelden oder Registrieren
unbearbeitet als zip-Datei (patch_kobo_3121.zip) sowie die entpackten Dateien mit meinen Einstellungen und unter 3.12.1_target das Archiv KoboRoot.tgz ebenfalls mit meinen Einstellungen zum Kopieren in das Verzeichnis .kobo auf Eurem Kobo Aura H2O.


Wer andere Kobo-Reader benutzt, muss sich natürlich die Firmware hierfür herunterladen und die einzelnen Patches entsprechend anpassen.


Kobo-Firmware_3-12-1.png
 
Zuletzt bearbeitet von einem Moderator:

JaSiko

New member
Hallo, eine Frage... gibt es die Möglichkeit im Kobo Aura HD in der Bibliothek bei den Details des Buches die Seitenanzahl anzeigen zu lassen?
 

Martina Schein

Freizeit-Nerd-Grufti
Patcher für Firmware 3.13.1


Für die aktuelle Firmware gibt es natürlich auch wieder einen neuen Patcher. Vorhin habe ich hierüber
Um den Link zu sehen, bitte Anmelden oder Registrieren
mit ein paar näheren Angaben online gestellt.


Wer möchte, findet dort auch alle relevanten Links - so auch den zu meiner Dropbox mit sämtlichen Patcher-Dateien und meinen Einstellungen für den Kobo Aura H2O.


Wer kein Spielkind ist, schließt dieses Posting einfach wieder.
:cool:
 

ekelpaket

New member
Vielen Dank Martina ☺
Dies werde ich mir wieder genau ansehen sobald mein Austauschgerät da ist.


Gesendet von meinem Nexus 7 mit Tapatalk
 

ekelpaket

New member
Grmpf, irgendwie komme ich nicht ganz klar. Wenn ich deine gepachte Version nehme läuft alles normal Martina. Allerdings möchte ich, im Gegensatz zu dir, die Kopf- und Fusszeilen angezeigt bekommen. Also habe ich die \"libnickel.so.1.0.0.patch\" dementsprechend geändert und dann die \"bat\" Datei doppelt geklickt. Das läuft auch durch, aber es wird mir keine \"KoboRoot.tgz\" erzeugt, sondern das Verzeichnis \"usr\" mit Unterdateien.
Was mache ich hier falsch *hilfeeeeee* 🙄
 

Martina Schein

Freizeit-Nerd-Grufti
Chrisy, in Deiner Ordnerstruktur zum Patcher darf sich kein Leerzeichen befinden. ist dies nämlich der Fall, wird keine »KoboRoot.tgz« erzeugt, sondern das von Dir genannte Verzeichnis mit verschiedenen Dateien.


Des Weiteren darfst Du bei Patchern, die Alternativen darstellen, nicht beide aktivieren - also nicht beide auf »Yes« stellen - sondern nur die betreffende auf »Yes«. In diesem Fall muss bei Dir also Disable reading footer auf no stehen.
 

ekelpaket

New member
Hallo Martina,


dort ist kein Leerzeichen. Ich habe direkt im Hauptverzeichnis des Laufwerks einen Ordner \"KoboPatcher\" erstellt.
Die Datei habe ich auch mit Notepad abgeändert, \"Disable reading footer\" auf no und \"Custom reading footer style\" auf yes. Trotzdem tut sich da nichts.
Das Laufwerk wo ich den Ordner erstelle sollte ja egal sein, oder? Ok, grad getestet, da tut sich auch nichts.


Lade Dir den patch_kobo_3131.zip herunter und entpacke diese Datei.
Lade Dir die Kobo-Firmware-Archivdatei Version 3.13.1 herunter, die zu Deinem Gerät passt und speichere sie im Unterordner 3.11.0_source. (Nicht entpacken.)
Lese Dir den Inhalt aller *.patch Dateien im Unterordner 3.13.1_source durch und bearbeite sie auf folgende Weise: wähle aus, welche Patches Du aktivieren (patch_enable=`yes`) oder deaktivieren (patch_enable=`no`) möchtest; und ändere manche der zu ersetzenden Werte, um sie an Dein Gerät und Deine Vorlieben anzupassen.
Unter Windows klicke doppelt auf die Datei 3.13.1.bat; unter Linux/mac starte 3.13.1.sh von der Kommandozeile aus.


Was bedeutet hier, ich soll die Kobo-Firmware-Archivdatei 3.13.1 im Unterordner 3.11.0_source speichern? Eine 3.11.0_source habe ich doch garnicht, nur eine 3.13.1_source? 🙄
 

Martina Schein

Freizeit-Nerd-Grufti
dort ist kein Leerzeichen. Ich habe direkt im Hauptverzeichnis des Laufwerks einen Ordner \"KoboPatcher\" erstellt.
Die Datei habe ich auch mit Notepad abgeändert, \"Disable reading footer\" auf no und \"Custom reading footer style\" auf yes. Trotzdem tut sich da nichts.
Das Laufwerk wo ich den Ordner erstelle sollte ja egal sein, oder? Ok, grad getestet, da tut sich auch nichts.
Dann sollte das soweit in Ordnung sein.
Allerdings gibt es noch ein paar andere Alternativen. Auch hier darf jeweils nur eine ausgewählt werden. Hast Du dies mal überprüft, Chrisy?




Was bedeutet hier, ich soll die Kobo-Firmware-Archivdatei 3.13.1 im Unterordner 3.11.0_source speichern? Eine 3.11.0_source habe ich doch garnicht, nur eine 3.13.1_source? 🙄
Stimmt, ist ein Vertippser.
 

ekelpaket

New member
Also ich sehe mal nichts ...


# libnickel.so.1.0.0 in firmware 3.13.1 (60d72c68d5)
# For use by patch32lsb v0.10 or later.

# The following two patches are alternatives, don\'t enable both at once.
#
# `Disable reading footer`
# `Custom reading footer style`
#

<Patch>
patch_name = `Disable reading footer`
patch_enable = `no`
# Multi-version patch: 3.13.1 - 3.13.1+
find_base_address = `ReadingFooter {\\n\\tmin-height: 70px;`
replace_string = 0000, `ReadingFooter {\\n\\tmin-height: 70px;\\n\\tmax-height: 70px;\\n\\tqproperty-footerMargin: 105;\\n}`, `ReadingFooter {\\n\\theight: 5px;\\n}`
#
find_base_address = `#caption {\\n\\tfont-size: 16px;`
Replace_string = 0000, `#caption {\\n\\tfont-size: 16px;\\n}\\n\\n#caption[qApp_deviceIsPhoenix=\'true\'] {\\n\\tfont-size: 20px;\\n}`, `#caption {\\n\\tfont-size: 1px;\\n\\tcolor: transparent;\\n}`
</Patch>


<Patch>
patch_name = `Custom reading footer style`
patch_enable = `yes`
# Multi-version patch: 3.13.1 - 3.13.1+
#
# This patch customises the following properties of the reading footer:
#
# * Footer height (the amount of the screen reserved for the footer.)
# * Caption font size (Caption = page number or other progress indicator)
# * Caption top margin, which changes its vertical position within the footer.
#
# When editing the replacement values below, BE CAREFUL NOT TO CHANGE THE LENGTH
# OF THE REPLACEMENT STRING! If a replacement string is too long you will get
# an error when making the patch, but if one is too short then there will be no
# error, but strange things will happen to the reading footer.
#
find_base_address = `ReadingFooter {\\n\\tmin-height: 70px;`
#
# Replacement footer height values: Touch/Mini
replace_string = 0011, `min-height: 70px;`, `min-height: 32px;`
replace_string = 0024, `max-height: 70px;`, `max-height: 32px;`
# Replacement footer height values: Glo/Aura
replace_string = 0085, `min-height: 82px;`, `min-height: 40px;`
replace_string = 0098, `max-height: 82px;`, `max-height: 40px;`
# Replacement footer height values: AuraHD/H2O
replace_string = 00DA, `min-height: 120px;`, `min-height: 052px;`
replace_string = 00EE, `max-height: 120px;`, `max-height: 052px;`
#
#
find_base_address = `#caption {\\n\\tfont-size: 16px;`
Replace_string = 0000, `#caption {\\n\\tfont-size: 16px;\\n}\\n\\n#caption[qApp_deviceIsPhoenix=\'true\'] {\\n\\tfont-size: 20px;\\n}\\n\\n#caption[qApp_deviceIsDragon=\'true\'] {\\n\\tfont-size: 26px;\\n}\\n\\n#caption[qApp_deviceIsAlyssum=\'true\'] {\\n\\tfont-size: 30px;\\n}\\n\\n#caption[qApp_localeName=\'ja_JP\'] {\\n\\tfont-family: A-OTF Gothic MB101 Pr6N;\\n}`, `#caption {font-size: 16px;margin-top: 00px;}\\n#caption[qApp_deviceIsPhoenix=\'true\'] {font-size: 20px;}\\n#caption[qApp_deviceIsDragon=\'true\'] {font-size: 26px;}\\n#caption[qApp_deviceIsAlyssum=\'true\'] {font-size: 30px;}\\n#caption[qApp_localeName=\'ja_JP\'] {font-family: A-OTF Gothic MB101 Pr6N;}`
#
# Replacement caption font size value for Touch/Mini:
replace_string = 000A, `font-size: 16px;`, `font-size: 16px;`
# Replacement caption font size value for Glo/Aura:
replace_string = 0054, `font-size: 20px;`, `font-size: 20px;`
# Replacement caption font size value for AuraHD/H2O:
replace_string = 008C, `font-size: 26px;`, `font-size: 26px;`
# Replacement caption font size value for Alyssum:
replace_string = 00C5, `font-size: 30px;`, `font-size: 30px;`
#
# Replacement caption top margin value for all devices:
# (A negative top margin moves the caption text upwards,
# further from the bezel and closer to the page content.)
replace_string = 001A, `margin-top: 00px;`, `margin-top:-10px;`
</Patch>


#
# The following two patches are alternatives, don\'t enable both at once.
#
# `My 10 line spacing values`
# `My 15 line spacing values`
#
# Note that the kepub reader can have problems when the line spacing value is
# below about 0.85 (depending on the font family), resulting in the top line of
# text being cut off and the cut-off part showing at the bottom of the previous
# page.
#
<Patch>
patch_name = `My 10 line spacing values`
patch_enable = `no`
replace_bytes = 6185BC, 08 F6 B0 EE, 00 46 00 46
replace_bytes = 618612, 08 F6 86 EE, 00 46 00 46
replace_bytes = 61863C, 08 F6 70 EE, 00 46 00 46
replace_bytes = 618678, 08 F6 52 EE, 00 46 00 46
replace_bytes = 6186DE, 08 F6 20 EE, 00 46 00 46
#
# 10 values for replacement
replace_float = 618770, 1.05, 0.75
replace_float = 618778, 1.07, 0.8
replace_float = 618780, 1.1, 0.84
replace_float = 618788, 1.35, 0.86
replace_float = 618790, 1.7, 0.88
replace_float = 618798, 1.8, 0.9
replace_float = 6187A0, 2.2, 0.92
replace_float = 6187A8, 2.4, 0.94
replace_float = 6187B0, 2.6, 0.96
replace_float = 6187B8, 2.8, 1.0
</Patch>


<Patch>
patch_name = `My 15 line spacing values`
patch_enable = `yes`
# load val1 from new table
replace_bytes = 6185A4, 00 23 00 22 C3 F6 F0 73, 00 46 40 A3 D3 E9 00 23
# load val5 from new table
replace_bytes = 6185FC, 43 F2 33 33 4F F0 33 32, 2C A3 D3 E9 00 23 00 46
replace_bytes = 618604, C3 F6 F3 73, 00 46 00 46
# load val7 from new table
replace_bytes = 61862A, 00 23 00 22 C3 F6 F8 73, 00 46 22 A3 D3 E9 00 23
# load val10 from new table
replace_bytes = 618668, 00 22 4F F0 80 43, 15 A3 D3 E9 00 23
# load val11-val14 from old table in a loop to make room for new table
replace_bytes = 61867C, 48 A3 D3 E9 00 23 07 F1, 48 A7 00 26 D7 E9 00 23
replace_bytes = 618684, 80 01 20 46 61 E9 0A 23, 20 A9 31 44 61 E9 0A 23
replace_bytes = 61868C, 08 F6 48 EE 45 A3 D3 E9, 20 46 08 F6 48 EE 08 36
replace_bytes = 618694, 00 23 07 F1 80 01 20 46, 08 37 20 2E F2 D1 00 AF
# load val15 from new table, jump over new table
replace_bytes = 61869C, 61 E9 08 23 08 F6 3E EE, 0A A3 D3 E9 00 23 17 E0
# new table, inial values 1.0, 1.2, 1.5, 2.0, 3.0
replace_bytes = 6186A8, 00 23 07 F1 80 01 20 46, 00 00 00 00 00 00 F0 3F
replace_bytes = 6186B0, 61 E9 06 23 08 F6 34 EE, 33 33 33 33 33 33 F3 3F
replace_bytes = 6186B8, 3F A3 D3 E9 00 23 07 F1, 00 00 00 00 00 00 F8 3F
replace_bytes = 6186C0, 80 01 20 46 61 E9 04 23, 00 00 00 00 00 00 00 40
replace_bytes = 6186C8, 08 F6 2A EE 00 23 00 22, 00 00 00 00 00 00 08 40
#
# 15 values for replacement:
replace_float = 6186A8, 1.0, 0.7
replace_float = 618770, 1.05, 0.75
replace_float = 618778, 1.07, 0.8
replace_float = 618780, 1.1, 0.85
replace_float = 6186B0, 1.2, 0.9
replace_float = 618788, 1.35, 0.95
replace_float = 6186B8, 1.5, 1.0
replace_float = 618790, 1.7, 1.05
replace_float = 618798, 1.8, 1.1
replace_float = 6186C0, 2.0, 1.15
replace_float = 6187A0, 2.2, 1.20
replace_float = 6187A8, 2.4, 1.25
replace_float = 6187B0, 2.6, 1.3
replace_float = 6187B8, 2.8, 1.35
replace_float = 6186C8, 3.0, 1.4
</Patch>


<Patch>
patch_name = `Custom left & right margins`
patch_enable = `yes`
# Multi-version patch: 2.8.1 - 3.13.1+
find_base_address = `\\0\\0\\0\\0\\x02\\0\\0\\0\\x04\\0\\0\\0\\x06\\0\\0\\0\\x08\\0\\0\\0\\x0A\\0\\0\\0\\x0C\\0\\0\\0\\x0E\\0\\0\\0\\x10\\0\\0\\0`
# 9 values for replacement:
replace_int = 0000, 00, 00
replace_int = 0004, 02, 01
replace_int = 0008, 04, 02
replace_int = 000C, 06, 03
replace_int = 0010, 08, 04
replace_int = 0014, 10, 05
replace_int = 0018, 12, 06
replace_int = 001C, 14, 07
replace_int = 0020, 16, 08
</Patch>


<Patch>
patch_name = `Custom font sizes`
patch_enable = `yes`
#
# Unpatched font sizes now depend on the device\'s screen resolution:
#
# Alyssum: 14px - 150px (48 sizes)
# Dragon: 12px - 150px (50 sizes)
# Phoenix: 12px - 122px (43 sizes)
# Other: 12px - 90px (35 sizes)
#
# Sizes increase in steps of 1 from the smallest size up to size 22, then in
# steps of 2 up to size 50, then in steps of 4 up to the largest size.
#
# I don\'t know how many sizes are allowed, but it is probably safe to use 50.
#
# The example replacement values in this patch result in the following ranges,
# with increases in steps of 1 from the smallest size up to size 48, then
# steps of 2 up to size 60, then steps of 4 up to the largest size:
#
# Alyssum: 14px - 88px (48 sizes)
# Dragon: 12px - 88px (50 sizes)
# Others: 12px - 80px (48 sizes)
#
# Start with this font size: (Alyssum, Others)
replace_int = 8DE83E, 14, 14
replace_int = 8DE842, 12, 12
#
# Add font sizes in increments of 1 until this size exceeded:
replace_int = 8DE872, 21, 47
#
# Continue from this font size:
replace_int = 8DE878, 22, 48
#
# Add font sizes in increments of 2 until this size exceeded:
replace_int = 8DE906, 49, 59
replace_int = 8DE922, 49, 59
#
# Continue from this font size:
replace_int = 8DE928, 50, 60
#
# Add font sizes in increments of 4 until this size exceeded:
# (Alyssum/Dragon, Phoenix, Others)
replace_int = 8DE850, 150, 88
replace_int = 8DE998, 122, 80
replace_int = 8DE99C, 90, 80
</Patch>


<Patch>
patch_name = `Brightness fine control`
patch_enable = `yes`
replace_int = 8B6132, 10, 01
replace_int = 8B6162, 10, 01
</Patch>


<Patch>
patch_name = `Search in Library by default`
patch_enable = `yes`
replace_bytes = 968EC6, 00 21, 01 21
</Patch>


<Patch>
patch_name = `Unitless ePub line height`
patch_enable = `yes`
# Multi-version patch: 3.3.0 - 3.13.1+
#
# See http://www.mobileread.com/forums/showpost.php?p=2812097&postcount=31
# for a description of the problem fixed by this patch.
#
# line-height: %1em !important; --> line-height: %1 !important;
#
find_base_address = `\\x10\\0\\0\\0 \\0l\\0i\\0n\\0e\\0-\\0h\\0e\\0i\\0g\\0h\\0t\\0:\\0 \\0%\\01\\0e\\0m\\0`
replace_bytes = 24, 65 00 6D 00, 20 00 20 00
</Patch>


<Patch>
patch_name = `Freedom to advanced fonts control`
patch_enable = `yes`
#
# This patch allows the advanced font options (weight/sharpness adjustments)
# to work with sideloaded fonts too.
#
# WARNING: IT IS NOT SAFE TO ENABLE THIS PATCH IF YOUR DEVICE IS SET TO A
# JAPANESE LOCALE OR JAPANESE BOOKS ARE OPENED.
#
# VolumeManager.isJapanese() --> False
replace_bytes = 615CF4, FC F5 12 EF, 00 20 00 20
# N3FontTypeUtil.setupMonotypeDropdown(a,b)
# --> N3FontTypeUtil.setupDropdown(UNDEFINED,a,b) 421244
replace_bytes = 78A4DE, 58 46 51 46, 59 46 52 46
replace_bytes = 78A4E2, 80 F4 AC EB, 96 F4 B0 EE
# N3FontTypeController.setupAdvancedOption --> NOP
replace_bytes = 8DB0BE, 5A F7 C8 E2, 00 46 00 46
replace_bytes = 8DC844, 58 F7 04 E7, 00 46 00 46
</Patch>


<Patch>
patch_name = `Allow download all in Browser`
patch_enable = `no`
replace_bytes = 7B8B08, 7A F4 56 EC, 01 20 01 20
</Patch>


<Patch>
patch_name = `ePub fixed/adjustable top/bottom margins`
patch_enable = `no`
#
# If enabled, this patch sets the @page margin sizes in epubs, overriding any
# @page margin set in the book\'s stylesheet.
#
# 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 this patch has the side-effect of removing the body bottom padding
# from the built-in stylesheet, which means that there will no longer be a line
# of padding added automatically at the end of chapters.
#
# getReadingLineHeight(...) --> getReadingLeftMargin(...) 41b644
replace_bytes = 480b68, B7 F7 7C EB, 9A F7 6C ED
# QString.arg(double, ...) --> QString.arg(int64, ...) 41adc8
replace_bytes = 480B6C, 20 22 4F F0 FF 33, 20 21 01 22 0A 23
replace_bytes = 480B76, AD F8 04 20 00 93, 02 91 42 43 01 93
replace_bytes = 480B80, 00 22 67 23 A5 F7 A4 EA, 00 23 00 93 9A F7 20 E9
# padding-bottom: %1em !important;\\n
# --> }@page{margin:%1px 0 %1px 0}body{
replace_string = BA7172, `p\\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\\0 \\0%\\01\\0p\\0x\\0 \\00\\0}\\0b\\0o\\0d\\0y\\0{\\0`
#
# 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 = BA718E, `%\\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 = BA719C, `%\\01`, `0\\00`
#
# Replacement value: Sets the value of the adjustable top/bottom margin (if any)
# to a multiple of readingLeftMargin, in pixels. Suggested values are:
# Normal reading mode: 5px (Touch/Mini), 6px (Glo/Aura), 8px (AuraHD/H2O)
# Full-screen reading mode: 6px (Touch/Mini), 7px (Glo/Aura), 10px (AuraHD/H2O)
replace_int = 480B6E, 1, 6
</Patch>


<Patch>
patch_name = `Custom page refresh options`
patch_enable = `yes`
# cmp r5, #7; bne.n; --> cmp r5, #6; bls.n;
replace_bytes = 78FB2C, 07 2D 9A D1, 06 2D 9A D9
#
# Values for replacement: (Alternative 1, arithmetic sequence e.g. 1,2,3,...,12)
# Base (use this value for the first menu option):
replace_int = 78FA5C, 1, 1
# Increment (add this value to get each successive menu option):
replace_int = 78FB2A, 1, 1
# Maxmium (stop adding options when this value is exceeded):
replace_int = 78FB2C, 6, 12
#
# Values for replacement: (Alternative 2, geometric sequence 1,2,4,8,16,32,64)
# Base (use this value for the first menu option):
#replace_int = 78FA5C, 1, 1
# Double to get each successive menu option:
#replace_bytes = 78FB2A, 01 35, 6D 00
# Maxmium (stop adding options when this value is exceeded):
#replace_int = 78FB2C, 6, 64
</Patch>


<Patch>
patch_name = `Remove system fonts in Reader list`
patch_enable = `no`
#
# Removes Amasis, Avenir, Caecilia, Georgia, Gill Sans, Kobo Nickel, Malabar.
# BEWARE: Also removes sideloaded Delima, Felbridge, Rockwell, Times New Roman.
#
replace_bytes = 8DF2E0, 35 F7 78 E4, 00 46 00 46
</Patch>


<Patch>
patch_name = `Remove non-system fonts in Reader list`
patch_enable = `no`
#
# Removes Gothic, Ryumin, OpenDyslexic.
# BEWARE: Also removes most other sideloaded fonts.
#
replace_bytes = 8DF30E, 35 F7 62 E4, 00 46 00 46
</Patch>


<Patch>
patch_name = `Cyrillic keyboard`
patch_enable = `no`
# Enable uppercase for sharp-s key
replace_bytes = 84D690, 00 24, 01 24
# Replace layout sign
replace_bytes = C16AB4, C3 89 C3 80 C3 87, D0 B0 D0 B1 D0 B2
# Change keyboard layout
base_address = C169D4
# Top row
replace_bytes = 0000, C3 A6, D0 B9
replace_bytes = 0030, C5 93, D1 84
# Second row
replace_bytes = 0004, C3 A0, D1 86
replace_bytes = 0008, C3 A8, D1 83
replace_bytes = 000C, C3 AC, D0 BA
replace_bytes = 0010, C3 B2, D0 B5
replace_bytes = 0014, C3 B9, D0 BD
replace_bytes = 0018, C3 A1, D0 B3
replace_bytes = 001C, C3 A9, D1 88
replace_bytes = 0020, C3 AD, D1 89
replace_bytes = 0024, C3 B3, D0 B7
replace_bytes = 0028, C3 BA, D1 85
replace_bytes = 002C, C3 BD, D1 8A
# Third row
replace_bytes = 0034, C3 A2, D1 8B
replace_bytes = 0038, C3 AA, D0 B2
replace_bytes = 003C, C3 AE, D0 B0
replace_bytes = 0040, C3 B4, D0 BF
replace_bytes = 0044, C3 BB, D1 80
replace_bytes = 0048, C3 A4, D0 BE
replace_bytes = 004C, C3 AB, D0 BB
replace_bytes = 0050, C3 AF, D0 B4
replace_bytes = 0054, C3 B6, D0 B6
replace_bytes = 0058, C3 BC, D1 8D
replace_bytes = 005C, C3 BF, D1 91
# Bottom row
replace_bytes = 0060, C3 A3, D1 8F
replace_bytes = 0064, C3 B1, D1 87
replace_bytes = 0068, C3 B5, D1 81
replace_bytes = 006C, C3 A5, D0 BC
replace_bytes = 0070, C3 9F, D0 B8
replace_bytes = 0074, C3 A7, D1 82
replace_bytes = 0078, C4 91, D1 8C
replace_bytes = 007C, C3 B8, D0 B1
replace_bytes = 0080, C4 B3, D1 8E
replace_bytes = 0084, C5 82, 2E 00
</Patch>


<Patch>
patch_name = `Arabic keyboard`
patch_enable = `no`
# Replace layout sign
replace_bytes = C16AB4, C3 89 C3 80 C3 87, D8 B9 00 00 00 00
# Change keyboard layout
base_address = C169D4
# Top row
replace_bytes = 0000, C3 A6, D8 B0
replace_bytes = 0030, C5 93, D8 B6
# Second row
replace_bytes = 0004, C3 A0, D8 B5
replace_bytes = 0008, C3 A8, D8 AB
replace_bytes = 000C, C3 AC, D9 82
replace_bytes = 0010, C3 B2, D9 81
replace_bytes = 0014, C3 B9, D8 BA
replace_bytes = 0018, C3 A1, D8 B9
replace_bytes = 001C, C3 A9, D9 87
replace_bytes = 0020, C3 AD, D8 AE
replace_bytes = 0024, C3 B3, D8 AD
replace_bytes = 0028, C3 BA, D8 AC
replace_bytes = 002C, C3 BD, D8 AF
# Third row
replace_bytes = 0034, C3 A2, D8 B4
replace_bytes = 0038, C3 AA, D8 B3
replace_bytes = 003C, C3 AE, D9 8A
replace_bytes = 0040, C3 B4, D8 A8
replace_bytes = 0044, C3 BB, D9 84
replace_bytes = 0048, C3 A4, D8 A7
replace_bytes = 004C, C3 AB, D8 AA
replace_bytes = 0050, C3 AF, D9 86
replace_bytes = 0054, C3 B6, D9 85
replace_bytes = 0058, C3 BC, D9 83
replace_bytes = 005C, C3 BF, D8 B7
# Bottom row
replace_bytes = 0060, C3 A3, D8 A6
replace_bytes = 0064, C3 B1, D8 A1
replace_bytes = 0068, C3 B5, D8 A4
replace_bytes = 006C, C3 A5, D8 B1
replace_bytes = 0070, C3 9F, D9 89
replace_bytes = 0074, C3 A7, D8 A9
replace_bytes = 0078, C4 91, D9 88
replace_bytes = 007C, C3 B8, D8 B2
replace_bytes = 0080, C4 B3, D8 B8
replace_bytes = 0084, C5 82, 2E 00
</Patch>


<Patch>
patch_name = `Hebrew keyboard`
patch_enable = `no`
# Replace layout sign
replace_bytes = C16AB4, C3 89 C3 80 C3 87, D7 90 D7 91 00 00
# Change keyboard layout
base_address = C169D4
# Top row
replace_bytes = 0000, C3 A6, 40 00
replace_bytes = 0030, C5 93, 2C 00
# Second row
replace_bytes = 0004, C3 A0, 27 00
replace_bytes = 0008, C3 A8, 2F 00
replace_bytes = 000C, C3 AC, D7 A7
replace_bytes = 0010, C3 B2, D7 A8
replace_bytes = 0014, C3 B9, D7 90
replace_bytes = 0018, C3 A1, D7 98
replace_bytes = 001C, C3 A9, D7 95
replace_bytes = 0020, C3 AD, D7 9F
replace_bytes = 0024, C3 B3, D7 9D
replace_bytes = 0028, C3 BA, D7 A4
replace_bytes = 002C, C3 BD, 2D 00
# Third row
replace_bytes = 0034, C3 A2, D7 A9
replace_bytes = 0038, C3 AA, D7 93
replace_bytes = 003C, C3 AE, D7 92
replace_bytes = 0040, C3 B4, D7 9B
replace_bytes = 0044, C3 BB, D7 A2
replace_bytes = 0048, C3 A4, D7 99
replace_bytes = 004C, C3 AB, D7 97
replace_bytes = 0050, C3 AF, D7 9C
replace_bytes = 0054, C3 B6, D7 9A
replace_bytes = 0058, C3 BC, D7 A3
replace_bytes = 005C, C3 BF, 5F 00
# Bottom row
replace_bytes = 0060, C3 A3, D7 96
replace_bytes = 0064, C3 B1, D7 A1
replace_bytes = 0068, C3 B5, D7 91
replace_bytes = 006C, C3 A5, D7 94
replace_bytes = 0070, C3 9F, D7 A0
replace_bytes = 0074, C3 A7, D7 9E
replace_bytes = 0078, C4 91, D7 A6
replace_bytes = 007C, C3 B8, D7 AA
replace_bytes = 0080, C4 B3, D7 A5
replace_bytes = 0084, C5 82, 2E 00
</Patch>


<Patch>
patch_name = `Customise PinchGestureRecognizer`
patch_enable = `no`
# PinchGestureRecognizer::StationaryTolerance
replace_float = BCFBD8, 5.0, 5.0
# PinchGestureRecognizer::UpdateTolerance
replace_float = BCFBE0, 10.0, 10.0
# PinchGestureRecognizer::TriggerTolerance
replace_float = BCFBE8, 30.0, 30.0
</Patch>


<Patch>
patch_name = `Wi-Fi insomnia`
patch_enable = `no`
#
# Do not enable this patch unless you\'re sure you need it.
# It prevents the wifi turning off, which may drain the device\'s battery.
#
replace_bytes = 580454, 29 B9, 00 46
</Patch>


<Patch>
patch_name = `Margins fine tuning`
patch_enable = `yes`
#
# Do not enable this patch unless you\'re sure you need it.
# It may cause the screen to be off-centre.
#
# Initial replaces
replace_bytes = 934B40, 19 46, 00 21
replace_bytes = 934B44, 1A 46, 00 22
# Values for replace
# Left margin
replace_int = 934B40, 0, 0
# Top margin
replace_int = 934B44, 0, 10
</Patch>
 

ekelpaket

New member
Teil 2:


<Patch>
patch_name = `Custom kepub default margins`
patch_enable = `no`
# Device = Glo/Aura, Type = pocket article or non-Japanese kepub
replace_int = 5BA042, 25, 5
# Device = Glo/Aura, Type = Japanese kepub
replace_int = 5BA044, 45, 5
# Device = Other, Type = Any
replace_int = 5BA052, 20, 5
</Patch>


<Patch>
patch_name = `Block WiFi firmware upgrade`
patch_enable = `no`
# Multi-version patch: 3.3.0 - 3.13.1+
#
# This patch is untested. If it works then the firmware will not be upgraded
# during a WiFi sync, but you can still upgrade manually or by syncing with
# the Kobo desktop.
#
find_base_address = `U\\0p\\0g\\0r\\0a\\0d\\0e\\0C\\0h\\0e\\0c\\0k\\0/\\0%\\01\\0/\\0%\\02\\0/\\0%\\03\\0/\\0%\\04\\0/\\0%\\05\\0`
replace_string = 26, `%\\03\\0/\\0%\\04\\0/\\0%\\05\\0`, `k\\0/\\09\\09\\0.\\09\\0/\\05\\0`
</Patch>


<Patch>
patch_name = `Compact homepage layout (Glo)`
patch_enable = `no`
#DragonHomePageView (Search bar height)
replace_string = C04600, `min-height:100px;`, `min-height:090px;`
replace_string = C04613, `max-height:100px;`, `max-height:090px;`
#QWidget (Space below search bar)
replace_string = C04772, `min-height:40px;`, `min-height:08px;`
replace_string = C04784, `max-height:40px;`, `max-height:08px;`
#MultiColumnTileView (Space between tiles)
replace_string = C04955, `horizontalSpacing:10;`, `horizontalSpacing:04;`
replace_string = C04976, `verticalSpacing:10;`, `verticalSpacing:04;`
#footer (Footer menu bar height)
replace_string = C04D7A, `min-height:95px;`, `min-height:68px;`
replace_string = C04D8C, `max-height:95px;`, `max-height:68px;`
#PhoenixSmallRecentBookTile
replace_string = C08F14, `percentFontSize:28;`, `percentFontSize:22;`
replace_string = C08F33, `progressFontSize:22;`, `progressFontSize:22;`
#RecentBookTile
replace_string = C0AA26, `percentFontSize:28;`, `percentFontSize:22;`
replace_string = C0AA4B, `progressFontSize:22;`, `progressFontSize:22;`
</Patch>


<Patch>
patch_name = `Compact homepage layout (Aura)`
patch_enable = `no`
#DragonHomePageView (Search bar height)
replace_string = C04600, `min-height:100px;`, `min-height:090px;`
replace_string = C04613, `max-height:100px;`, `max-height:090px;`
#QWidget (Space below search bar)
replace_string = C04772, `min-height:40px;`, `min-height:02px;`
replace_string = C04784, `max-height:40px;`, `max-height:02px;`
#MultiColumnTileView (Space between tiles)
replace_string = C04955, `horizontalSpacing:10;`, `horizontalSpacing:02;`
replace_string = C04976, `verticalSpacing:10;`, `verticalSpacing:02;`
#footer (Footer menu bar height)
replace_string = C04D7A, `min-height:95px;`, `min-height:68px;`
replace_string = C04D8C, `max-height:95px;`, `max-height:68px;`
#PhoenixSmallRecentBookTile
replace_string = C08F14, `percentFontSize:28;`, `percentFontSize:22;`
replace_string = C08F33, `progressFontSize:22;`, `progressFontSize:22;`
#RecentBookTile
replace_string = C0AA26, `percentFontSize:28;`, `percentFontSize:22;`
replace_string = C0AA4B, `progressFontSize:22;`, `progressFontSize:22;`
</Patch>


<Patch>
patch_name = `Remove white borders from homescreen tile book covers`
patch_enable = `yes`
#PhoenixSmallRecentBookTile
replace_string = C08F53, `coverBorder:4;`, `coverBorder:0;`
replace_string = C08FE9, `coverBorder:4;`, `coverBorder:0;`
#PocketRecentlyReadTile
replace_string = C09928, `coverBorder: 6;`, `coverBorder: 0;`
replace_string = C099B3, `coverBorder: 4;`, `coverBorder: 0;`
#RecentBookTile
replace_string = C0A914, `coverBorder:6;`, `coverBorder:0;`
replace_string = C0A9D4, `coverBorder:6;`, `coverBorder:0;`
replace_string = C0AA90, `coverBorder:4;`, `coverBorder:0;`
replace_string = C0AB4C, `coverBorder:4;`, `coverBorder:0;`
#SmallRecentBookTile
replace_string = C0BDE9, `coverBorder:6;`, `coverBorder:0;`
</Patch>


<Patch>
patch_name = `Custom footer`
patch_enable = `no`
# Multi-version patch: 2.8.1 - 3.13.1+
#
# Changes the footer text with something shorter
# (not sure how it affects translations)
#
find_base_address = `Page %1 <i>of</i> %2`
replace_string = 0000, `Page %1 <i>of</i> %2`, `%1 / %2`
</Patch>


<Patch>
patch_name = `Custom Sleep/Power-off timeouts`
patch_enable = `yes`
# Values displayed on both menus
replace_string = C74880, `5 mins\\0`, `10 mins`
replace_string = C74888, `10 mins`, `20 mins`
replace_string = C74890, `15 mins`, `30 mins`
replace_string = C74898, `30 mins`, `1 hour`
replace_string = C748A0, `45 mins`, `2 hours`
replace_string = C748A8, `60 mins`, `4 hours`
# Actual values used for sleep menu
replace_int = 9A08EE, 5, 10
replace_int = 9A0938, 10, 20
replace_int = 9A097C, 15, 30
replace_int = 9A09C0, 30, 60
replace_int = 9A0A04, 45, 120
replace_int = 9A0A48, 60, 240
# Actual values used for power menu
replace_int = 9A0AFC, 5, 10
replace_int = 9A0B40, 10, 20
replace_int = 9A0B82, 15, 30
replace_int = 9A0BC2, 30, 60
replace_int = 9A0C02, 45, 120
replace_int = 9A0C40, 60, 240
</Patch>


<Patch>
patch_name = `Set kepub hyphenation`
patch_enable = `no`
#
# The built-in kepub stylesheet has a line \"* { -webkit-hyphenation: 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/never be turned on, regardless of justification button setting.
#
# (Note that if the publisher has set the hyphenation in the book\'s stylesheet
# then that will override the built-in stylesheet.)
#
# Alternative 1: Always turn kepub hyphenation on
replace_bytes = 936B54, F2 F6 98 E3, 01 20 01 20
# Alternative 2: Never turn kepub hyphenation on
#replace_bytes = 936B54, F2 F6 98 E3, 00 20 00 20
</Patch>


<Patch>
patch_name = `Fix kepub side bearing font cut-off bug`
patch_enable = `no`
# Multi-version patch: 3.12.0 - 3.13.1+
#
# In kepubs, characters with large side bearing values (such as f) can be cut
# off if they appear at the very end of a line. The problem seems to be most
# noticable in full-screen mode. To fix it this patch adds one of the following
# lines to the built-in kepub stylesheet:
#
# div#book-columns{padding-left:.2em!important;padding-right: .2em!important}
# div#book-columns{padding-top: .2em!important;padding-bottom:.2em!important}
# div#book-columns{padding: .2em .2em!important}
# body>* {padding-left:.2em!important;padding-right: .2em!important}
# body>* {padding-top: .2em!important;padding-bottom:.2em!important}
# body>* {padding: .2em .2em!important}
#
# There are two main types of kepub, each affected differently by this patch:
#
# Type 1: kepubs created by Kobo from epub2 books, or created by Calibre with
# a new version of the KoboTouchExtended driver.
#
# Type 2: kepubs created by Kobo from epub3 books, or created by Calibre with
# an old version of the KoboTouchExtended driver.
#
# Type 1 kepubs work best with this patch, the only side effects should be
# slightly larger screen margins. Some Type 2 kepubs might suffer additional
# side effects such as extra horizontal or vertical space between elements.
# There is an option below (marked **1**) where you can choose whether to
# fix the bug only for Type 1 kepubs (default) or for both types.
#
# There are also options below (marked **2**) to make the patch suit kepubs
# with horizontal or vertical text directions, or both. The side effects for
# Type 2 kepubs will likely be worse if the option for both horizontal and
# vertical is chosen.
#
find_base_address = `.\\0K\\0B\\0H\\0i\\0g\\0h\\0l\\0i\\0g\\0h\\0t\\0i\\0n\\0g\\0 \\0{\\0 \\0b\\0a\\0c\\0k\\0g\\0r\\0o\\0u\\0n\\0d\\0-\\0c\\0o\\0l\\0o\\0r\\0:\\0 \\0#\\0C\\06\\0C\\06\\0C\\06\\0`
#
replace_string = 0000, `.\\0K\\0B\\0H\\0i\\0g\\0h\\0l\\0i\\0g\\0h\\0t\\0i\\0n\\0g\\0 \\0{\\0 \\0b\\0a\\0c\\0k\\0g\\0r\\0o\\0u\\0n\\0d\\0-\\0c\\0o\\0l\\0o\\0r\\0:\\0 \\0#\\0C\\06\\0C\\06\\0C\\06\\0 \\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0 \\0}\\0 \\0\\t\\0`, `.\\0K\\0B\\0H\\0i\\0g\\0h\\0l\\0i\\0g\\0h\\0t\\0i\\0n\\0g\\0{\\0b\\0a\\0c\\0k\\0g\\0r\\0o\\0u\\0n\\0d\\0-\\0c\\0o\\0l\\0o\\0r\\0:\\0#\\0C\\06\\0C\\06\\0C\\06\\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0}\\0.\\0K\\0B\\0S\\0t\\0a\\0c\\0k\\0`
#
replace_string = 0076, `.\\0K\\0B\\0S\\0t\\0a\\0c\\0k\\0K\\0e\\0y\\0w\\0o\\0r\\0d\\0,\\0 \\0.\\0K\\0B\\0S\\0e\\0a\\0r\\0c\\0h\\0R\\0e\\0s\\0u\\0l\\0t\\0,\\0 \\0.\\0K\\0B\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0,\\0 \\0.\\0K\\0B\\0H\\0i\\0g\\0h\\0l\\0i\\0g\\0h\\0t\\0i\\0n\\0g\\0 \\0,\\0 \\0K\\0B\\0A\\0u\\0t\\0h\\0o\\0r\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0{\\0 \\0f\\0o\\0n\\0t\\0-\\0s\\0i\\0z\\0e\\0:\\0 \\01\\00\\00\\0%\\0 \\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0 \\0-\\0w\\0e\\0b\\0k\\0i\\0t\\0-\\0t\\0e\\0x\\0t\\0-\\0c\\0o\\0m\\0b\\0i\\0n\\0e\\0:\\0 \\0i\\0n\\0h\\0e\\0r\\0i\\0t\\0 \\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0 \\0}\\0 \\0\\t\\0`, `K\\0e\\0y\\0w\\0o\\0r\\0d\\0,\\0.\\0K\\0B\\0S\\0e\\0a\\0r\\0c\\0h\\0R\\0e\\0s\\0u\\0l\\0t\\0,\\0.\\0K\\0B\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0,\\0.\\0K\\0B\\0H\\0i\\0g\\0h\\0l\\0i\\0g\\0h\\0t\\0i\\0n\\0g\\0,\\0 \\0K\\0B\\0A\\0u\\0t\\0h\\0o\\0r\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0{\\0f\\0o\\0n\\0t\\0-\\0s\\0i\\0z\\0e\\0:\\01\\00\\00\\0%\\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0-\\0w\\0e\\0b\\0k\\0i\\0t\\0-\\0t\\0e\\0x\\0t\\0-\\0c\\0o\\0m\\0b\\0i\\0n\\0e\\0:\\0i\\0n\\0h\\0e\\0r\\0i\\0t\\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0}\\0.\\0K\\0B\\0S\\0e\\0a\\0r\\0c\\0h\\0R\\0e\\0s\\0u\\0l\\0t\\0{\\0b\\0a\\0c\\0k\\0g\\0r\\0`
#
replace_string = 01B6, `.\\0K\\0B\\0S\\0e\\0a\\0r\\0c\\0h\\0R\\0e\\0s\\0u\\0l\\0t\\0 \\0{\\0 \\0b\\0a\\0c\\0k\\0g\\0r\\0o\\0u\\0n\\0d\\0-\\0c\\0o\\0l\\0o\\0r\\0:\\0 \\0#\\0C\\06\\0C\\06\\0C\\06\\0 \\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0 \\0}\\0 \\0\\t\\0`, `o\\0u\\0n\\0d\\0-\\0c\\0o\\0l\\0o\\0r\\0:\\0#\\0C\\06\\0C\\06\\0C\\06\\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0}\\0.\\0K\\0B\\0S\\0t\\0a\\0c\\0k\\0K\\0e\\0y\\0w\\0o\\0r\\0d\\0 \\0a\\0{\\0c\\0o\\0l\\0o\\0r\\0:\\0b\\0l\\0a\\0c\\0k\\0!\\0`
#
replace_string = 22C, `.\\0K\\0B\\0S\\0t\\0a\\0c\\0k\\0K\\0e\\0y\\0w\\0o\\0r\\0d\\0 \\0a\\0 \\0{\\0 \\0c\\0o\\0l\\0o\\0r\\0:\\0 \\0b\\0l\\0a\\0c\\0k\\0 \\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0 \\0}\\0 \\0\\t\\0`, `i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0}\\0.\\0K\\0B\\0A\\0u\\0t\\0h\\0o\\0r\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0,\\0.\\0K\\0B\\0A\\0u\\0t\\0h\\0o\\0r\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0`
#
replace_string = 028C, `.\\0K\\0B\\0A\\0u\\0t\\0h\\0o\\0r\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0,\\0 \\0.\\0K\\0B\\0A\\0u\\0t\\0h\\0o\\0r\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0C\\0o\\0n\\0t\\0i\\0n\\0u\\0e\\0d\\0 \\0{\\0 \\0b\\0a\\0c\\0k\\0g\\0r\\0o\\0u\\0n\\0d\\0-\\0c\\0o\\0l\\0o\\0r\\0:\\0 \\0t\\0r\\0a\\0n\\0s\\0p\\0a\\0r\\0e\\0n\\0t\\0 \\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0 \\0t\\0e\\0x\\0t\\0-\\0d\\0e\\0c\\0o\\0r\\0a\\0t\\0i\\0o\\0n\\0:\\0 \\0n\\0o\\0n\\0e\\0 \\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0 \\0}\\0 \\0\\t\\0`, `n\\0C\\0o\\0n\\0t\\0i\\0n\\0u\\0e\\0d\\0{\\0b\\0a\\0c\\0k\\0g\\0r\\0o\\0u\\0n\\0d\\0-\\0c\\0o\\0l\\0o\\0r\\0:\\0t\\0r\\0a\\0n\\0s\\0p\\0a\\0r\\0e\\0n\\0t\\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0t\\0e\\0x\\0t\\0-\\0d\\0e\\0c\\0o\\0r\\0a\\0t\\0i\\0o\\0n\\0:\\0n\\0o\\0n\\0e\\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0}\\0.\\0K\\0B\\0S\\0t\\0a\\0c\\0k\\0K\\0e\\0y\\0w\\0o\\0r\\0d\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0h\\0o\\0r\\0i\\0z\\0o\\0n\\0t\\0a\\0l\\0-\\0t\\0b\\0\'\\0]\\0 \\0a\\0{\\0b\\0o\\0r\\0`
#
replace_string = 0392, `.\\0K\\0B\\0S\\0t\\0a\\0c\\0k\\0K\\0e\\0y\\0w\\0o\\0r\\0d\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0h\\0o\\0r\\0i\\0z\\0o\\0n\\0t\\0a\\0l\\0-\\0t\\0b\\0\'\\0]\\0 \\0a\\0 \\0{\\0 \\0b\\0o\\0r\\0d\\0e\\0r\\0-\\0b\\0o\\0t\\0t\\0o\\0m\\0:\\0 \\01\\0p\\0x\\0 \\0s\\0o\\0l\\0i\\0d\\0 \\0b\\0l\\0a\\0c\\0k\\0 \\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0 \\0}\\0 \\0\\t\\0`, `d\\0e\\0r\\0-\\0b\\0o\\0t\\0t\\0o\\0m\\0:\\01\\0p\\0x\\0 \\0s\\0o\\0l\\0i\\0d\\0 \\0b\\0l\\0a\\0c\\0k\\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0}\\0.\\0K\\0B\\0A\\0u\\0t\\0h\\0o\\0r\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0h\\0o\\0r\\0i\\0z\\0o\\0n\\0t\\0a\\0l\\0-\\0t\\0b\\0\'\\0]\\0,\\0.\\0K\\0B\\0A\\0u\\0t\\0h\\0o\\0r\\0`
#
replace_string = 0450, `.\\0K\\0B\\0A\\0u\\0t\\0h\\0o\\0r\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0h\\0o\\0r\\0i\\0z\\0o\\0n\\0t\\0a\\0l\\0-\\0t\\0b\\0\'\\0]\\0,\\0 \\0.\\0K\\0B\\0A\\0u\\0t\\0h\\0o\\0r\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0C\\0o\\0n\\0t\\0i\\0n\\0u\\0e\\0d\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0h\\0o\\0r\\0i\\0z\\0o\\0n\\0t\\0a\\0l\\0-\\0t\\0b\\0\'\\0]\\0 \\0{\\0 \\0b\\0o\\0r\\0d\\0e\\0r\\0-\\0b\\0o\\0t\\0t\\0o\\0m\\0:\\0 \\02\\0p\\0x\\0 \\0d\\0o\\0t\\0t\\0e\\0d\\0 \\0b\\0l\\0a\\0c\\0k\\0 \\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0 \\0}\\0 \\0\\t\\0`, `A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0C\\0o\\0n\\0t\\0i\\0n\\0u\\0e\\0d\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0h\\0o\\0r\\0i\\0z\\0o\\0n\\0t\\0a\\0l\\0-\\0t\\0b\\0\'\\0]\\0{\\0b\\0o\\0r\\0d\\0e\\0r\\0-\\0b\\0o\\0t\\0t\\0o\\0m\\0:\\02\\0p\\0x\\0 \\0d\\0o\\0t\\0t\\0e\\0d\\0 \\0b\\0l\\0a\\0c\\0k\\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0}\\0.\\0K\\0B\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0h\\0o\\0r\\0i\\0z\\0o\\0n\\0t\\0a\\0l\\0-\\0t\\0b\\0\'\\0]\\0,\\0.\\0K\\0B\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0C\\0o\\0n\\0t\\0i\\0n\\0u\\0e\\0d\\0[\\0w\\0`
#
replace_string = 058A, `.\\0K\\0B\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0h\\0o\\0r\\0i\\0z\\0o\\0n\\0t\\0a\\0l\\0-\\0t\\0b\\0\'\\0]\\0,\\0 \\0.\\0K\\0B\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0C\\0o\\0n\\0t\\0i\\0n\\0u\\0e\\0d\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0h\\0o\\0r\\0i\\0z\\0o\\0n\\0t\\0a\\0l\\0-\\0t\\0b\\0\'\\0]\\0 \\0{\\0 \\0b\\0o\\0r\\0d\\0e\\0r\\0-\\0b\\0o\\0t\\0t\\0o\\0m\\0:\\0 \\02\\0p\\0x\\0 \\0s\\0o\\0l\\0i\\0d\\0 \\0b\\0l\\0a\\0c\\0k\\0 \\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0 \\0}\\0 \\0`, `r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\"\\0h\\0o\\0r\\0i\\0z\\0o\\0n\\0t\\0a\\0l\\0-\\0t\\0b\\0\"\\0]\\0{\\0b\\0o\\0r\\0d\\0e\\0r\\0-\\0b\\0o\\0t\\0t\\0o\\0m\\0:\\02\\0p\\0x\\0 \\0s\\0o\\0l\\0i\\0d\\0 \\0b\\0l\\0a\\0c\\0k\\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0}\\0d\\0i\\0v\\0#\\0b\\0o\\0o\\0k\\0-\\0c\\0o\\0l\\0u\\0m\\0n\\0s\\0{\\0p\\0a\\0d\\0d\\0i\\0n\\0g\\0-\\0l\\0e\\0f\\0t\\0:\\0.\\02\\0e\\0m\\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0p\\0a\\0d\\0d\\0i\\0n\\0g\\0-\\0r\\0i\\0g\\0h\\0t\\0:\\0 \\0.\\02\\0e\\0m\\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0}\\0`
#
# Fix typo in annotations styles: KBAuthorAnnotation --> .KBAuthorAnnotation
replace_string = 00E2, `\\x20`, `.`
#
# Choose padding size: 1 = 0.1em, 2 = 0.2em, etc.
replace_string = 0650, `2`, `2`
replace_string = 068C, `2`, `2`
#
#
# **1** Choose to fix bug for Type1 kepubs only, or both Type1 and Type2 kepubs.
# Default fixes the bug for Type 1 kepubs and has no effect on type 2 kepubs.
#
# Uncomment the following replace_string line to fix the bug for both types,
# but beware there can be undesirable side effects for some Type 2 kepubs:
#replace_string = 0612, `d\\0i\\0v\\0#\\0b\\0o\\0o\\0k\\0-\\0c\\0o\\0l\\0u\\0m\\0n\\0s\\0`, `b\\0o\\0d\\0y\\0>\\0*\\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0`
#
#
# **2** Choose padding location to suit text direction of your kepubs.
# Default is left/right padding (suits horizontal text directions only.)
#
# Either uncomment the following two replace_string lines for top/bottom
# padding (suits vertical text directions only) ...
#replace_string = 0644, `l\\0e\\0f\\0t\\0:\\0`, `t\\0o\\0p\\0:\\0 \\0`
#replace_string = 067C, `r\\0i\\0g\\0h\\0t\\0:\\0 \\0`, `b\\0o\\0t\\0t\\0o\\0m\\0:\\0`
#
# ... or else uncomment the following two replace_string lines for top/bottom
# and left/right padding (suits both horizontal and vertical text directions,
# but may have some undesirable side effects on the layout of Type 2 kepubs,
# such as extra spece between paragraphs.)
#replace_string = 0642, `-\\0l\\0e\\0f\\0t\\0:\\0`, `:\\0 \\0 \\0 \\0 \\0 \\0`
#replace_string = 0656, `!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0p\\0a\\0d\\0d\\0i\\0n\\0g\\0-\\0r\\0i\\0g\\0h\\0t\\0:\\0`, `\\x20\\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0`
#
</Patch>


<Patch>
patch_name = `KePub zero body margin/padding`
patch_enable = `no`
# Multi-version patch: 3.12.0 - 3.13.1+
#
# This patch adds the following to the built-in KePub stylesheet:
#
# body{margin:0!important;padding:0!important}
#
# which solves the problem with the text of some KePubs being shifted to the
# right and cut off at the right margin in full-screen reading mode.
#
find_base_address = `\\t\\0.\\0K\\0B\\0S\\0t\\0a\\0c\\0k\\0K\\0e\\0y\\0w\\0o\\0r\\0d\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0v\\0e\\0r\\0t\\0i\\0c\\0a\\0l\\0-\\0r\\0l\\0\'\\0]\\0`
#
replace_string = 0000, `\\t\\0.\\0K\\0B\\0S\\0t\\0a\\0c\\0k\\0K\\0e\\0y\\0w\\0o\\0r\\0d\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0v\\0e\\0r\\0t\\0i\\0c\\0a\\0l\\0-\\0r\\0l\\0\'\\0]\\0 \\0a\\0 \\0{\\0 \\0b\\0o\\0r\\0d\\0e\\0r\\0-\\0r\\0i\\0g\\0h\\0t\\0:\\0 \\01\\0p\\0x\\0 \\0s\\0o\\0l\\0i\\0d\\0 \\0b\\0l\\0a\\0c\\0k\\0 \\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0 \\0}\\0 \\0\\t\\0`, `.\\0K\\0B\\0S\\0t\\0a\\0c\\0k\\0K\\0e\\0y\\0w\\0o\\0r\\0d\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0v\\0e\\0r\\0t\\0i\\0c\\0a\\0l\\0-\\0r\\0l\\0\'\\0]\\0 \\0a\\0{\\0b\\0o\\0r\\0d\\0e\\0r\\0-\\0r\\0i\\0g\\0h\\0t\\0:\\01\\0p\\0x\\0 \\0s\\0o\\0l\\0i\\0d\\0 \\0b\\0l\\0a\\0c\\0k\\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0}\\0.\\0K\\0B\\0A\\0u\\0t\\0h\\0o\\0r\\0`
#
replace_string = 00BA, `.\\0K\\0B\\0A\\0u\\0t\\0h\\0o\\0r\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0v\\0e\\0r\\0t\\0i\\0c\\0a\\0l\\0-\\0r\\0l\\0\'\\0]\\0,\\0 \\0.\\0K\\0B\\0A\\0u\\0t\\0h\\0o\\0r\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0C\\0o\\0n\\0t\\0i\\0n\\0u\\0e\\0d\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0v\\0e\\0r\\0t\\0i\\0c\\0a\\0l\\0-\\0r\\0l\\0\'\\0]\\0 \\0{\\0 \\0b\\0o\\0r\\0d\\0e\\0r\\0-\\0r\\0i\\0g\\0h\\0t\\0:\\0 \\02\\0p\\0x\\0 \\0d\\0o\\0t\\0t\\0e\\0d\\0 \\0b\\0l\\0a\\0c\\0k\\0 \\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0 \\0}\\0 \\0\\t\\0`, `A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0v\\0e\\0r\\0t\\0i\\0c\\0a\\0l\\0-\\0r\\0l\\0\'\\0]\\0,\\0.\\0K\\0B\\0A\\0u\\0t\\0h\\0o\\0r\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0C\\0o\\0n\\0t\\0i\\0n\\0u\\0e\\0d\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0v\\0e\\0r\\0t\\0i\\0c\\0a\\0l\\0-\\0r\\0l\\0\'\\0]\\0{\\0b\\0o\\0r\\0d\\0e\\0r\\0-\\0r\\0i\\0g\\0h\\0t\\0:\\02\\0p\\0x\\0 \\0d\\0o\\0t\\0t\\0e\\0d\\0 \\0b\\0l\\0a\\0c\\0k\\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0}\\0.\\0K\\0B\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0[\\0w\\0r\\0i\\0t\\0`
#
replace_string = 01EA, `.\\0K\\0B\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0v\\0e\\0r\\0t\\0i\\0c\\0a\\0l\\0-\\0r\\0l\\0\'\\0]\\0,\\0 \\0.\\0K\\0B\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0C\\0o\\0n\\0t\\0i\\0n\\0u\\0e\\0d\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0v\\0e\\0r\\0t\\0i\\0c\\0a\\0l\\0-\\0r\\0l\\0\'\\0]\\0 \\0{\\0 \\0b\\0o\\0r\\0d\\0e\\0r\\0-\\0r\\0i\\0g\\0h\\0t\\0:\\0 \\02\\0p\\0x\\0 \\0s\\0o\\0l\\0i\\0d\\0 \\0b\\0l\\0a\\0c\\0k\\0 \\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0 \\0}\\0 \\0\\t\\0`, `i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\"\\0v\\0e\\0r\\0t\\0i\\0c\\0a\\0l\\0-\\0r\\0l\\0\"\\0]\\0,\\0.\\0K\\0B\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0C\\0o\\0n\\0t\\0i\\0n\\0u\\0e\\0d\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0v\\0e\\0r\\0t\\0i\\0c\\0a\\0l\\0-\\0r\\0l\\0\'\\0]\\0{\\0b\\0o\\0r\\0d\\0e\\0r\\0-\\0r\\0i\\0g\\0h\\0t\\0:\\02\\0p\\0x\\0 \\0s\\0o\\0l\\0i\\0d\\0 \\0b\\0l\\0a\\0c\\0k\\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0}\\0.\\0K\\0B\\0S\\0t\\0a\\0c\\0k\\0K\\0e\\0y\\0w\\0o\\0r\\0d\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0`
#
replace_string = 0300, `.\\0K\\0B\\0S\\0t\\0a\\0c\\0k\\0K\\0e\\0y\\0w\\0o\\0r\\0d\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0v\\0e\\0r\\0t\\0i\\0c\\0a\\0l\\0-\\0l\\0r\\0\'\\0]\\0 \\0a\\0 \\0{\\0 \\0b\\0o\\0r\\0d\\0e\\0r\\0-\\0l\\0e\\0f\\0t\\0:\\0 \\01\\0p\\0x\\0 \\0s\\0o\\0l\\0i\\0d\\0 \\0b\\0l\\0a\\0c\\0k\\0 \\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0 \\0}\\0 \\0\\t\\0`, `=\\0\"\\0v\\0e\\0r\\0t\\0i\\0c\\0a\\0l\\0-\\0l\\0r\\0\"\\0]\\0 \\0a\\0{\\0b\\0o\\0r\\0d\\0e\\0r\\0-\\0l\\0e\\0f\\0t\\0:\\01\\0p\\0x\\0 \\0s\\0o\\0l\\0i\\0d\\0 \\0b\\0l\\0a\\0c\\0k\\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0}\\0.\\0K\\0B\\0A\\0u\\0t\\0h\\0o\\0r\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0v\\0e\\0`
#
replace_string = 03B6, `.\\0K\\0B\\0A\\0u\\0t\\0h\\0o\\0r\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0v\\0e\\0r\\0t\\0i\\0c\\0a\\0l\\0-\\0l\\0r\\0\'\\0]\\0,\\0 \\0.\\0K\\0B\\0A\\0u\\0t\\0h\\0o\\0r\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0C\\0o\\0n\\0t\\0i\\0n\\0u\\0e\\0d\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0v\\0e\\0r\\0t\\0i\\0c\\0a\\0l\\0-\\0l\\0r\\0\'\\0]\\0 \\0{\\0 \\0b\\0o\\0r\\0d\\0e\\0r\\0-\\0l\\0e\\0f\\0t\\0:\\0 \\02\\0p\\0x\\0 \\0d\\0o\\0t\\0t\\0e\\0d\\0 \\0b\\0l\\0a\\0c\\0k\\0 \\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0 \\0}\\0 \\0\\t\\0`, `r\\0t\\0i\\0c\\0a\\0l\\0-\\0l\\0r\\0\"\\0]\\0,\\0.\\0K\\0B\\0A\\0u\\0t\\0h\\0o\\0r\\0A\\0n\\0n\\0o\\0t\\0a\\0t\\0i\\0o\\0n\\0C\\0o\\0n\\0t\\0i\\0n\\0u\\0e\\0d\\0[\\0w\\0r\\0i\\0t\\0i\\0n\\0g\\0M\\0o\\0d\\0e\\0=\\0\'\\0v\\0e\\0r\\0t\\0i\\0c\\0a\\0l\\0-\\0l\\0r\\0\'\\0]\\0{\\0b\\0o\\0r\\0d\\0e\\0r\\0-\\0l\\0e\\0f\\0t\\0:\\02\\0p\\0x\\0 \\0d\\0o\\0t\\0t\\0e\\0d\\0 \\0b\\0l\\0a\\0c\\0k\\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0}\\0b\\0o\\0d\\0y\\0{\\0m\\0a\\0r\\0g\\0i\\0n\\0:\\00\\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0p\\0a\\0d\\0d\\0i\\0n\\0g\\0:\\00\\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0}\\0`
#
# The body rule inserted above takes effect in normal reading mode too, which
# interferes with another rule used to set the user margins in normal reading
# mode. To prevent that happening, the following change is made to increase the
# priority of the user margin setting rule:
#
# body { margin: 0px %1% 0px %2% ! important;}\\n
# --> html body{margin:0px %1% 0px %2%!important;}\\n
#
find_base_address = `b\\0o\\0d\\0y\\0 \\0{\\0 \\0m\\0a\\0r\\0g\\0i\\0n\\0:\\0 \\00\\0p\\0x\\0 \\0%\\01\\0%\\0`
#
replace_string = 0000, `b\\0o\\0d\\0y\\0 \\0{\\0 \\0m\\0a\\0r\\0g\\0i\\0n\\0:\\0 \\00\\0p\\0x\\0 \\0%\\01\\0%\\0 \\00\\0p\\0x\\0 \\0%\\02\\0%\\0 \\0!\\0 \\0i\\0`, `h\\0t\\0m\\0l\\0 \\0b\\0o\\0d\\0y\\0{\\0m\\0a\\0r\\0g\\0i\\0n\\0:\\00\\0p\\0x\\0 \\0%\\01\\0%\\0 \\00\\0p\\0x\\0 \\0%\\02\\0%\\0!\\0i\\0`
</Patch>


<Patch>
patch_name = `Force user line spacing in KePubs`
patch_enable = `no`
# Multi-version patch: 3.3.0 - 3.13.1+
#
# This patch will allow the line spacing set by the slider to take effect
# in some problem KePub books with fixed linespacing (ones where the publisher
# has used <div> instead of <p> for pararaphs.) However it might also override
# some line spacing that would better be left fixed.
#
# body, p { line-height: %1 ... } --> body,div,p{line-height:%1 ... }
find_base_address = `b\\0o\\0d\\0y\\0,\\0 \\0p\\0 \\0{\\0 \\0l\\0i\\0n\\0e\\0-\\0h\\0e\\0i\\0g\\0h\\0t\\0:\\0 \\0%`
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>


#
# The following two patches are alternatives, don\'t enable both.
#
# `Enforce user line spacing and justification in ePubs`
# `Enforce user line spacing in ePubs`
#

<Patch>
patch_name = `Enforce user line spacing and justification in ePubs`
patch_enable = `yes`
#
# This patch causes the line spacing AND justification settings selected from
# the reading settings (Aa) menu to be applied at body and paragraph level,
# instead of just at body level. This will result in the settings taking effect
# for some books where they wouldn\'t before, but there will still be some books
# where they won\'t take effect, and there may also be some books where they do
# take effect when they shouldn\'t. (The only way to get perfect results is to
# edit the epub and fix the problems at source.)
#
replace_string = BA70B4, `b\\0o\\0d\\0y\\0 \\0{\\0\\n\\0`, `b\\0o\\0d\\0y\\0,\\0p\\0{\\0`
#
# Comment out the following replace_string line if the
# `ePub fixed/adjustable top/bottom margins` patch is enabled.
#
replace_string = BA7172, `p\\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 \\0b\\0o\\0d\\0y\\0 \\0{\\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0\\n\\0`
</Patch>


<Patch>
patch_name = `Enforce user line spacing in ePubs`
patch_enable = `no`
#
# Disable the `Unitless ePub line height` patch before enabling this patch.
# (This patch includes the effect of the `Unitless ePub line height` patch.)
#
# This patch causes the line spacing setting selected from the reading settings
# (Aa) menu to be applied at body and paragraph level, instead of just at body
# level. This will result in the line spacing setting taking effect for some
# books where it wouldn\'t before, but there may still be some books where it
# won\'t take effect (such as those where the publisher has used <div> instead
# of <p> for paragraphs), and there may also be some books where it does take
# effect when it shouldn\'t (such as those where the publisher has used <p>
# instead of <h1>, <h2>, etc. for headings). The only way to get perfect
# results is to edit the epub and fix the problems at source.
#
replace_string = BA7120, `\\x20\\0l\\0i\\0n\\0e\\0-\\0h\\0e\\0i\\0g\\0h\\0t\\0:\\0 \\0%\\01\\0e\\0m\\0 \\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0t\\0;\\0\\n\\0`, `}\\0b\\0o\\0d\\0y\\0,\\0p\\0{\\0l\\0i\\0n\\0e\\0-\\0h\\0e\\0i\\0g\\0h\\0t\\0:\\0%\\01\\0!\\0i\\0m\\0p\\0o\\0r\\0t\\0a\\0n\\0`
replace_string = BA7170, `\\x20\\0`, `t\\0`
#
# Comment out the following replace_string line if the
# `ePub fixed/adjustable top/bottom margins` patch is enabled.
#
replace_string = BA7172, `p\\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 \\0b\\0o\\0d\\0y\\0 \\0{\\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0\\n\\0`
</Patch>


<Patch>
patch_name = `ePub fixed font sharpness`
patch_enable = `yes`
# Multi-version patch: 3.3.0 - 3.13.1+
#
# This patch causes a fixed value for font sharpness to be used in epub books,
# 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.
# This patch allows one of three fixed values: 0.0, 0.1, or 0.2.
#
# -kobo-font-sharpness: %1; --> -kobo-font-sharpness:0.0
#
find_base_address = `\\x10\\0\\0\\0 \\0-\\0k\\0o\\0b\\0o\\0-\\0f\\0o\\0n\\0t\\0-\\0s\\0h\\0`
replace_string = 0030, `\\x20\\0%\\01\\0`, `0\\0.\\00\\0`
#
# Replacement sharpness value: `0` = 0.0, `1` = 0.1, `2` = 0.2.
replace_string = 0034, `0`, `2`
</Patch>


<Patch>
patch_name = `KePub fixed font sharpness`
patch_enable = `no`
# Multi-version patch: 3.11.0 - 3.13.1+
#
# This patch causes a fixed value for font sharpness to be used in kepub books,
# 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.
# This patch allows one of three fixed values: 0.0, 0.1, or 0.2.
#
# body { -kobo-font-sharpness: %1; -kobo-font-thickness: %2; }\\n
# --> body{-kobo-font-sharpness:0.0/*%1*/;-kobo-font-thickness:%2}\\n
#
find_base_address = `b\\0o\\0d\\0y\\0 \\0{\\0 \\0-\\0k\\0o\\0b\\0o\\0-\\0f\\0o\\0n\\0t\\0-\\0s\\0h\\0`
replace_string = 0000, `b\\0o\\0d\\0y\\0 \\0{\\0 \\0-\\0k\\0o\\0b\\0o\\0-\\0f\\0o\\0n\\0t\\0-\\0s\\0h\\0a\\0r\\0p\\0n\\0e\\0s\\0s\\0:\\0 \\0%\\01\\0;\\0 \\0-\\0k\\0o\\0b\\0o\\0-\\0f\\0o\\0n\\0t\\0-\\0t\\0h\\0i\\0c\\0k\\0n\\0e\\0s\\0s\\0:\\0 \\0%\\02\\0;\\0 \\0}\\0\\n\\0`, `b\\0o\\0d\\0y\\0{\\0-\\0k\\0o\\0b\\0o\\0-\\0f\\0o\\0n\\0t\\0-\\0s\\0h\\0a\\0r\\0p\\0n\\0e\\0s\\0s\\0:\\00\\0.\\00\\0/\\0*\\0%\\01\\0*\\0/\\0;\\0-\\0k\\0o\\0b\\0o\\0-\\0f\\0o\\0n\\0t\\0-\\0t\\0h\\0i\\0c\\0k\\0n\\0e\\0s\\0s\\0:\\0%\\02\\0}\\0\\n\\0`
#
# Replacement sharpness value: `0` = 0.0, `1` = 0.1, `2` = 0.2.
#
replace_string = 0038, `0`, `2`
</Patch>


<Patch>
patch_name = `Un-force font-family override p tags (std epubs)`
patch_enable = `no`

hier abgekürzt, sollte keine Rolle mehr spielen.
</Patch>
 
Oben