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

Go Back   MobileRead Forums > E-Book Readers > Amazon Kindle > Kindle Developer's Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 01-07-2017, 08:59 AM   #1
Analogus
Fanatic
Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.
 
Analogus's Avatar
 
Posts: 568
Karma: 2170348
Join Date: Apr 2011
Device: 2x Sony PRS-350; PRS-300 (†), Paperwhite (†), Voyage
Changing configuration of MARGINS and FONT SIZES - possible?

Hi all!

I'm searching for a way to change the steps für the font-sizes and page margins for the Kindle Voyage.

Reason:
I want to alter this ridiculous wide page margins and smaller steps for changing the size of the fonts.

I have:
  • Kindle Voyage firmware 5.8.7
  • searched the forum without luck
  • jailbreaked
  • access to the root of the reader over FTP-Client
  • no idea what next...


I would guess, that there should be a config-file which allows to change numbers to get other step-wides für font-sizes and page margins.
Any ideas where to search?

Every help is most welcome!


Edit 10-jan-2017:

Solved: font-sizes (look next post by KNC1) for AZW3-books.
Solved: page-margins
Personal project finished - I'm happy with the solution.

Have a look at the following 3 pages for solution if interested.

Edit 11-jan-2017:
Attachement:
Hacked JAR-files for german and english language to reduce page margins
But be aware: this is only (testet) on/for firmware 5.8.7 for Kindle Voyage. Not using it on other versions is higly recommendet.
Attached Files
File Type: zip ReaderSDK-impl.zip (181.7 KB, 294 views)

Last edited by Analogus; 01-11-2017 at 05:59 PM.
Analogus is offline   Reply With Quote
Old 01-07-2017, 02:24 PM   #2
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Thread:
https://www.mobileread.com/forums/sho...d.php?t=256969

Search thread for:
FONT_RAMP

Last edited by knc1; 01-07-2017 at 06:04 PM.
knc1 is offline   Reply With Quote
Old 01-07-2017, 10:54 PM   #3
Analogus
Fanatic
Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.
 
Analogus's Avatar
 
Posts: 568
Karma: 2170348
Join Date: Apr 2011
Device: 2x Sony PRS-350; PRS-300 (†), Paperwhite (†), Voyage
Thanks!

I obviously overlooked this thread.

Problem 1 solved (font sizes).
Problem 2 still open (margins).

After hours of searching and learning (opening jar-files, editing java-class-files) I struggle finding the right file (I guess it's ReaderSDK-impl-en.jar) and inside the file ReaderResources_en.class.

But I cannot fathom out where to find the line with the values to change.
I use JavaBytcodeEditor für opening class-files and they are looking like this:

Code:
ush 286
iconst_2
anewarray java/lang/Object
iconst_1
dup
pop2
dup
iconst_0
ldc_w "reader.content.leftMargin"
aastore
dup
iconst_1
new java/lang/Integer
dup
ldc_w 16.98
invokestatic com/amazon/ebook/booklet/reader/resources/ReaderResources_de/pixVal(F)I
invokespecial java/lang/Integer/<init>(I)V
aastore
aastore
dup
sipush 287
iconst_2
anewarray java/lang/Object
iconst_1
dup
pop2
dup
iconst_0
ldc_w "reader.content.rightMargin"
aastore
dup
iconst_1
new java/lang/Integer
dup

Where are the values?
Any ideas?
Analogus is offline   Reply With Quote
Old 01-07-2017, 11:47 PM   #4
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Try Procyon to get a better view of the code.
https://bitbucket.org/mstrobel/procy...a%20Decompiler
It can output the jar file as raw (which you see now), as an AST, or as Java.

(IIRC, JBE uses the Procyon library internally)

Another one which is suppose to be good is CFR:
http://www.benf.org/other/cfr/
But I haven't used it (yet) myself.
The cvm on your Kindle (since at least firmware 5.6.x) is a Java8 vm, but I don't think there is a lot of J8 features used in the code (yet).

Last edited by knc1; 01-07-2017 at 11:54 PM.
knc1 is offline   Reply With Quote
Old 01-08-2017, 08:13 AM   #5
Analogus
Fanatic
Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.
 
Analogus's Avatar
 
Posts: 568
Karma: 2170348
Join Date: Apr 2011
Device: 2x Sony PRS-350; PRS-300 (†), Paperwhite (†), Voyage
Thanks!

Best combination seems to be
- BytecodeViewer with
- plugin: procyon

Build no°: 5.8.7 (3095600028)

CFR does not decompile properly. But:

Looking at something like this (procyon & BytecodeViewer)

Code:
 package com.amazon.ebook.booklet.reader.resources;

import com.amazon.ebook.util.*;
import com.amazon.ebook.util.text.*;
import java.text.*;
import com.amazon.agui.swing.*;
import javax.swing.border.*;
import java.awt.*;
import com.amazon.agui.swing.plaf.kindle.*;

public class ReaderResources_en_GB extends KindleResourceBundle
{
    private static final Insets y;
    private static final Insets s;
    private static final Insets F;
    private static final Insets k;
    private static final Insets h;
    private static final Insets a;
    private static final Insets j;
    private static final EmptyBorder E;
    private static final EmptyBorder d;
    private static final EmptyBorder D;
    private static final EmptyBorder C;
    private static final EmptyBorder L;
    private static final EmptyBorder m;
    private static final EmptyBorder K;
    private static final EmptyBorder G;
    private static final EmptyBorder f;
    private static final EmptyBorder I;
    private static final EmptyBorder i;
    private static final EmptyBorder g;
    private static final EmptyBorder M;
    private static final EmptyBorder J;
    private static final EmptyBorder A;
    private static final EmptyBorder b;
    private static final EmptyBorder c;
    private static final EmptyBorder l;
    private static final EmptyBorder e;
    private static final EmptyBorder B;
    private static final EmptyBorder H;
    
    public ReaderResources_en_GB() {
        final int n = 119;
        final Object[][] contents_DEFAULT = new Object[n][];
        contents_DEFAULT[0] = new Object[] { "menu.dialog.title", "Menu" };
        contents_DEFAULT[1] = new Object[] { "menu.dialog.rows.portrait", new Integer(10) };
        final int n2 = 2;
        final Object[] array = new Object[n2];
        array[0] = "menu.dialog.rows.landscape";
        array[1] = new Integer(6);
        contents_DEFAULT[n2] = array;
        contents_DEFAULT[3] = new Object[] { "menu.button.text", "Menu" };
        contents_DEFAULT[4] = new Object[] { "toolbar.button.same_width", Boolean.FALSE };
        contents_DEFAULT[5] = new Object[] { "menu.button.store.text", "Shop in Kindle Store" };
        contents_DEFAULT[6] = new Object[] { "menu.button.buy.text", "Buy This Book Now" };
        contents_DEFAULT[7] = new Object[] { "menu.button.details.text", "Book Description" };
        contents_DEFAULT[8] = new Object[] { "menu.button.viewstore.text", "View in Store" };
        contents_DEFAULT[9] = new Object[] { "menu.button.settings.text", "Settings" };
        final int n3 = 10;
        final Object[] array2 = { "mobireader.default.font.size.list", null };
        final int[] array3 = new int[18];
        array3[0] = 7;
        final int n4 = 1;
        array3[n4] = 8;
        array3[2] = 9;
        array3[3] = 11;
        array3[4] = 13;
        array3[5] = 14;
        array3[6] = 16;
        array3[7] = 17;
        array3[8] = 19;
        array3[9] = 20;
        array3[10] = 25;
        array3[11] = 27;
        array3[12] = 28;
        array3[13] = 30;
        array3[14] = 37;
        array3[15] = 39;
        array3[16] = 40;
        array3[17] = 43;
        array2[n4] = array3;
        contents_DEFAULT[n3] = array2;
        contents_DEFAULT[11] = new Object[] { "font.menu.title", "Fonts" };
        contents_DEFAULT[12] = new Object[] { "font.menu.title.pdf", "PDF Display Settings" };
        contents_DEFAULT[13] = new Object[] { "font.toggle.contrast", "Contrast" };
        contents_DEFAULT[14] = new Object[] { "font.action.cancel", "Cancel" };
        contents_DEFAULT[15] = new Object[] { "font.action.ok", "OK" };
        contents_DEFAULT[16] = new Object[] { "font.button.text", "Aa" };
        contents_DEFAULT[17] = new Object[] { "font.menu.text", "Aa" };
        contents_DEFAULT[18] = new Object[] { "font.menu.family", "serif" };
        contents_DEFAULT[19] = new Object[] { "font.menu.style", new Integer(0) };
        contents_DEFAULT[20] = new Object[] { "font.menu.label.embedded", "Publisher Font" };
        contents_DEFAULT[21] = new Object[] { "font.menu.label.linespacing", "Line spacing" };
        contents_DEFAULT[22] = new Object[] { "font.menu.label.wordsperline", "Margins" };
        final int n5 = 23;
        final Object[] array4 = { "font.menu.size.list", null };
        final int n6 = 1;
        final int[][] array5 = new int[n6][];
        final int[] array6 = new int[8];
        final int n7 = 0;
        array6[n7] = 7;
        array6[1] = 8;
        array6[2] = 9;
        array6[3] = 11;
        array6[4] = 13;
        array6[5] = 16;
        array6[6] = 25;
        array6[7] = 37;
        array5[n7] = array6;
        array4[n6] = array5;
        contents_DEFAULT[n5] = array4;
        contents_DEFAULT[24] = new Object[] { "font.menu.size.default", new Integer(3) };
        final int n8 = 25;
        final Object[] array7 = { "font.linespacing.default", null };
        final int n9 = 1;
        array7[n9] = new Integer(n9);
        contents_DEFAULT[n8] = array7;
        final int n10 = 26;
        final Object[] array8 = { "font.default.linespacing.values", null };
        final int[] array9 = { 1, 0, 0 };
        final int n11 = 1;
        array9[array9[n11] = 2] = 3;
        array8[n11] = array9;
        contents_DEFAULT[n10] = array8;
        final int n12 = 27;
        final Object[] array10 = { "font.html.linespacing.values", null };
        final int[] array11 = { 1, 0, 0 };
        final int n13 = 1;
        array11[array11[n13] = 2] = 3;
        array10[n13] = array11;
        contents_DEFAULT[n12] = array10;
        final int n14 = 28;
        final Object[] array12 = { "font.topaz.linespacing.values", null };
        final int[] array13 = new int[3];
        final int n15 = 0;
        array13[n15] = n15;
        final int n16 = 1;
        array13[n16] = 1;
        final int n17 = 2;
        array13[n17] = n17;
        array12[n16] = array13;
        contents_DEFAULT[n14] = array12;
        final int n18 = 29;
        final Object[] array14 = { "font.mobi.linespacing.values", null };
        final int[] array15 = { 1, 0, 0 };
        final int n19 = 1;
        array15[array15[n19] = 2] = 3;
        array14[n19] = array15;
        contents_DEFAULT[n18] = array14;
        contents_DEFAULT[30] = new Object[] { "font.wordsperline.default", new Integer(2) };
        contents_DEFAULT[31] = new Object[] { "font.contrast.list", { "lightest", "lighter", "default", "darker", "darkest" } };
        final int n20 = 32;
        final Object[] array16 = { "font.contrast.value.list", null };
        final int[] array17 = new int[5];
        array17[0] = 2;
        final int n21 = 1;
        array17[n21] = 1;
        array17[2] = 0;
        array17[3] = -1;
        array17[4] = -2;
        array16[n21] = array17;
        contents_DEFAULT[n20] = array16;
        contents_DEFAULT[33] = new Object[] { "font.contrast.default", new Integer(2) };
        contents_DEFAULT[34] = new Object[] { "font.radio.button.size", new Integer(8) };
        contents_DEFAULT[35] = new Object[] { "goto.dialog.title", "Go To" };
        contents_DEFAULT[36] = new Object[] { "goto.dialog.toc.title", "Table of Contents" };
        contents_DEFAULT[37] = new Object[] { "goto.menu.text", "Go to..." };
        contents_DEFAULT[38] = new Object[] { "goto.menu.toc.text", "Table of Contents..." };
        contents_DEFAULT[39] = new Object[] { "goto.menu.button.text", "Go To" };
        final int n22 = 40;
        final Object[] array18 = { "goto.menu.label.font", null };
        final z uda = z.UDA();
        final String s = "Serif";
        final int n23 = 1;
        array18[n23] = uda.QUc(s, n23, 8);
        contents_DEFAULT[n22] = array18;
        contents_DEFAULT[41] = new Object[] { "goto.menu.action.cover", "Cover" };
        contents_DEFAULT[42] = new Object[] { "goto.menu.action.beginning", "Beginning" };
        contents_DEFAULT[43] = new Object[] { "goto.menu.action.toc", "Table of Contents" };
        contents_DEFAULT[44] = new Object[] { "goto.menu.action.ending", "End" };
        contents_DEFAULT[45] = new Object[] { "goto.menu.action.input.title", "Go to Page or Location" };
        contents_DEFAULT[46] = new Object[] { "goto.menu.action.input", "Page or Location" };
        contents_DEFAULT[47] = new Object[] { "goto.menu.action.button.same_width", Boolean.TRUE };
        contents_DEFAULT[48] = new Object[] { "goto.menu.action.page", "Page " };
        contents_DEFAULT[49] = new Object[] { "goto.menu.action.location", "Location" };
        contents_DEFAULT[50] = new Object[] { "goto.menu.action.cancel", "Cancel" };
        contents_DEFAULT[51] = new Object[] { "goto.menu.input.label.pagerange_location", "Enter a page ({0}) or location ({1} - {2})" };
        contents_DEFAULT[52] = new Object[] { "goto.menu.input.label.pagemax_location", "Enter a page (1 - {0}) or location ({1} - {2})" };
        contents_DEFAULT[53] = new Object[] { "goto.menu.input.label.pageempty_location", "Enter a page or location ({1} - {2})" };
        contents_DEFAULT[54] = new Object[] { "goto.menu.input.label.pagerange", "Enter a page ({0})" };
        contents_DEFAULT[55] = new Object[] { "goto.menu.input.label.pagemax", "Enter a page (1 - {0})" };
        contents_DEFAULT[56] = new Object[] { "goto.menu.input.label.pageempty", "Enter a page" };
        contents_DEFAULT[57] = new Object[] { "goto.menu.input.label.location", "Enter a location ({0} - {1})" };
        contents_DEFAULT[58] = new Object[] { "reader.text.ellipses", new Character('\u2026') };
        final int n24 = 59;
        final Object[] array19 = { "reader.progressbar.font", null };
        final z uda2 = z.UDA();
        final String s2 = "dialog";
        final int n25 = 1;
        array19[n25] = uda2.QUc(s2, n25, 6);
        contents_DEFAULT[n24] = array19;
        contents_DEFAULT[60] = new Object[] { "reader.progressbar.percentage", NumberFormat.getPercentInstance() };
        contents_DEFAULT[61] = new Object[] { "reader.progressbar.short.location", "Loc {0}" };
        contents_DEFAULT[62] = new Object[] { "reader.progressbar.short.pagename", "Page {0}" };
        contents_DEFAULT[63] = new Object[] { "reader.progressbar.short.max.location", "Loc {0} of {1}" };
        contents_DEFAULT[64] = new Object[] { "reader.progressbar.short.max.page", "Page {0} of {1}" };
        contents_DEFAULT[65] = new Object[] { "reader.progressbar.color.background", KindleColor.white };
        contents_DEFAULT[66] = new Object[] { "reader.progressbar.scrubber.text", "\u25b2" };
        final int n26 = 67;
        final Object[] array20 = { "snippet.widget.font", null };
        final z uda3 = z.UDA();
        final String s3 = "Serif";
        final int n27 = 1;
        array20[n27] = uda3.QUc(s3, n27, 8);
        contents_DEFAULT[n26] = array20;
        contents_DEFAULT[68] = new Object[] { "snippet.widget.snippet.font", z.UDA().QUc("Palatino", 0, 7) };
        contents_DEFAULT[69] = new Object[] { "snippet.widget.snippet.linespacing", new Integer(0) };
        contents_DEFAULT[70] = new Object[] { "reader.content.font_size_index", new Integer(3) };
        contents_DEFAULT[71] = new Object[] { "reader.content.font_family", "Caecilia Regular" };
        final int n28 = 72;
        final Object[] array21 = { "reader.content.line_spacing", null };
        final int n29 = 1;
        array21[n29] = new Integer(n29);
        contents_DEFAULT[n28] = array21;
        contents_DEFAULT[73] = new Object[] { "reader.content.contrastLevel", new Integer(0) };
        final int n30 = 74;
        final Object[] array22 = { "reader.content.justification", null };
        final int n31 = 1;
        array22[n31] = new Integer(n31);
        contents_DEFAULT[n30] = array22;
        contents_DEFAULT[75] = new Object[] { "reader.content.zeroMargin.leftMargin", new Integer(0) };
        contents_DEFAULT[76] = new Object[] { "reader.content.zeroMargin.rightMargin", new Integer(0) };
        contents_DEFAULT[77] = new Object[] { "reader.content.zeroMargin.topMargin", new Integer(0) };
        contents_DEFAULT[78] = new Object[] { "reader.content.zeroMargin.bottomMargin", new Integer(0) };
        contents_DEFAULT[79] = new Object[] { "topaz.line.spacing.default", new Integer(0) };
        contents_DEFAULT[80] = new Object[] { "select.command.button.same_width", Boolean.TRUE };
        contents_DEFAULT[81] = new Object[] { "select.more.label", "More" };
        contents_DEFAULT[82] = new Object[] { "select.more.dialog.title", "More Options" };
        contents_DEFAULT[83] = new Object[] { "select.note.label", "Add Note" };
        contents_DEFAULT[84] = new Object[] { "select.note.view", "View Note" };
        contents_DEFAULT[85] = new Object[] { "select.note.edit", "Edit Note" };
        contents_DEFAULT[86] = new Object[] { "select.note.delete", "Delete Note" };
        contents_DEFAULT[87] = new Object[] { "select.highlight.label", "Highlight" };
        contents_DEFAULT[88] = new Object[] { "select.highlight.remove", "Delete" };
        contents_DEFAULT[89] = new Object[] { "select.dialog.maxtabs", new Integer(3) };
        contents_DEFAULT[90] = new Object[] { "sync.lpr.menu.text", "{0,select,mrpr{Sync to Most Recent Page Read} other{Sync to Furthest Page Read}}" };
        contents_DEFAULT[91] = new Object[] { "sync.lpr.button.text", "Sync" };
        contents_DEFAULT[92] = new Object[] { "passworddialog.panel.title.isprotected", "Password-Protected" };
        contents_DEFAULT[93] = new Object[] { "passworddialog.panel.title.incorrectpassword", "Incorrect Password" };
        contents_DEFAULT[94] = new Object[] { "passworddialog.prompt.isprotected", "This PDF is password-protected." };
        contents_DEFAULT[95] = new Object[] { "passworddialog.prompt.incorrectpassword", "Incorrect password. Please try again." };
        contents_DEFAULT[96] = new Object[] { "passworddialog.prompt.enterpassword", "Enter password: " };
        contents_DEFAULT[97] = new Object[] { "passworddialog.prompt.border", new LineBorder(Color.BLACK) };
        contents_DEFAULT[98] = new Object[] { "passworddialog.buttontext.cancel", "Cancel" };
        contents_DEFAULT[99] = new Object[] { "passworddialog.buttontext.submit", "Submit" };
        contents_DEFAULT[100] = new Object[] { "passworddialog.enterpasswordfield.length", new Integer(10) };
        contents_DEFAULT[101] = new Object[] { "noteeditor.button.same_width", Boolean.TRUE };
        contents_DEFAULT[102] = new Object[] { "noteeditor.title", "Note" };
        contents_DEFAULT[103] = new Object[] { "noteeditor.save", "Save" };
        contents_DEFAULT[104] = new Object[] { "noteeditor.cancel", "Cancel" };
        contents_DEFAULT[105] = new Object[] { "noteeditor.delete", "Delete" };
        contents_DEFAULT[106] = new Object[] { "reader.state.global", "reader.glb" };
        contents_DEFAULT[107] = new Object[] { "menu.common.action.rotation.lock.text", "Lock Rotation" };
        contents_DEFAULT[108] = new Object[] { "menu.common.action.rotation.unlock.text", "Unlock Rotation" };
        contents_DEFAULT[109] = new Object[] { "pdf.lightest.text", "Lightest" };
        contents_DEFAULT[110] = new Object[] { "pdf.darkest.text", "Darkest" };
        contents_DEFAULT[111] = new Object[] { "pdf.normal.text", "Normal" };
        contents_DEFAULT[112] = new Object[] { "pdf.makeDarker.text", "+" };
        contents_DEFAULT[113] = new Object[] { "pdf.makeLighter.text", "\u2012" };
        contents_DEFAULT[114] = new Object[] { "gui.alert.low_disk_space_for_annotation.text", "There is not enough Kindle memory to add or edit notes or marks on this document. Please make more Kindle memory available by removing content from the Home screen." };
        contents_DEFAULT[115] = new Object[] { "gui.alert.low_disk_space_for_annotation.title", "Low Memory" };
        contents_DEFAULT[116] = new Object[] { "gui.alert.low_disk_space_for_annotation.log.dnt", "CannotAddOrEditNotesOrMarksLowMemory" };
        contents_DEFAULT[117] = new Object[] { "sharing.dialog.button.text", "Share" };
        contents_DEFAULT[118] = new Object[] { "sharing.dialog.title", "Shared Notes & Highlights" };
        this.CONTENTS_DEFAULT = contents_DEFAULT;
        final Object[][] contents_DPI_167 = new Object[106][];
        contents_DPI_167[0] = new Object[] { "menu.button.horizontal.margin", new Integer(10) };
        contents_DPI_167[1] = new Object[] { "menu.button.icon.margin", ReaderResources_en_GB.s };
        final int n32 = 2;
        final Object[] array23 = new Object[n32];
        array23[0] = "menu.settings.enable";
        array23[1] = new Boolean(false);
        contents_DPI_167[n32] = array23;
        final int n33 = 3;
        final Object[] array24 = { "menu.wifi.enable", null };
        final int n34 = 1;
        array24[n34] = new Boolean(n34 != 0);
        contents_DPI_167[n33] = array24;
        contents_DPI_167[4] = new Object[] { "platform.screen.dpi", new Integer(167) };
        contents_DPI_167[5] = new Object[] { "font.menu.margin.hgap", new Integer(8) };
        contents_DPI_167[6] = new Object[] { "font.menu.margin.leftgap", new Integer(142) };
        contents_DPI_167[7] = new Object[] { "font.menu.margin.rightgap", new Integer(173) };
        contents_DPI_167[8] = new Object[] { "font.menu.panel.width", new Integer(520) };
        contents_DPI_167[9] = new Object[] { "font.menu.panel.border", ReaderResources_en_GB.f };
        contents_DPI_167[10] = new Object[] { "font.menu.horizontal.margin", new Integer(10) };
        contents_DPI_167[11] = new Object[] { "font.menu.vertical.margin", new Integer(8) };
        contents_DPI_167[12] = new Object[] { "font.menu.border.panel", ReaderResources_en_GB.L };
        contents_DPI_167[13] = new Object[] { "font.menu.border.spacing", ReaderResources_en_GB.D };
        contents_DPI_167[14] = new Object[] { "font.menu.border.button", ReaderResources_en_GB.C };
        contents_DPI_167[15] = new Object[] { "font.menu.panel.size.onlySize", new Rectangle(0, 55, 500, 150) };
        contents_DPI_167[16] = new Object[] { "font.menu.text.height", new Integer(72) };
        contents_DPI_167[17] = new Object[] { "font.menu.text.width", new Integer(46) };
        contents_DPI_167[18] = new Object[] { "font.menu.baseline.gap", new Integer(5) };
        contents_DPI_167[19] = new Object[] { "font.menu.image.margin", ReaderResources_en_GB.y };
        final int n35 = 20;
        final Object[] array25 = { "font.size.mapping.cjk", null };
        final float[] array26 = new float[8];
        array26[0] = 7.0f;
        final int n36 = 1;
        array26[n36] = 8.0f;
        array26[2] = 9.0f;
        array26[3] = 11.0f;
        array26[4] = 13.0f;
        array26[5] = 16.0f;
        array26[6] = 25.0f;
        array26[7] = 37.0f;
        array25[n36] = array26;
        contents_DPI_167[n35] = array25;
        final int n37 = 21;
        final Object[] array27 = { "font.size.mapping", null };
        final float[] array28 = new float[8];
        array28[0] = 7.0f;
        final int n38 = 1;
        array28[n38] = 8.0f;
        array28[2] = 9.0f;
        array28[3] = 11.0f;
        array28[4] = 13.0f;
        array28[5] = 16.0f;
        array28[6] = 25.0f;
        array28[7] = 37.0f;
        array27[n38] = array28;
        contents_DPI_167[n37] = array27;
        final int n39 = 22;
        final Object[] array29 = { "font.wordsperline.margin.list", null };
        final int[] array30 = { 30, 0, 0 };
        final int n40 = 1;
        array30[n40] = 20;
        array30[2] = 10;
        array29[n40] = array30;
        contents_DPI_167[n39] = array29;
        final int n41 = 23;
        final Object[] array31 = { "font.wordsperline.margin.list.pdf", null };
        final int[] array32 = { 30, 0, 0 };
        final int n42 = 1;
        array32[n42] = 20;
        array32[2] = 10;
        array31[n42] = array32;
        contents_DPI_167[n41] = array31;
        contents_DPI_167[24] = new Object[] { "font.embedded.button.border", ReaderResources_en_GB.E };
        contents_DPI_167[25] = new Object[] { "font.embedded.button.size", new Dimension(150, 50) };
        contents_DPI_167[26] = new Object[] { "font.linespacing.image.list", { "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshi/lineSpace_Small.png", "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshi/lineSpace_Medium.png", "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshi/lineSpace_Large.png" } };
        contents_DPI_167[27] = new Object[] { "font.wordsperline.image.list", { "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshi/margin_Fewest.png", "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshi/margin_Fewer.png", "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshi/margin_Default.png" } };
        final int n43 = 28;
        final Object[] array33 = { "goto.menu.panel.size", null };
        final int n44 = 1;
        final boolean b = false;
        array33[n44] = new Rectangle(b ? 1 : 0, b ? 1 : 0, 360, 460);
        contents_DPI_167[n43] = array33;
        final int n45 = 29;
        final Object[] array34 = { "goto.menu.panel.guide.size", null };
        final int n46 = 1;
        final boolean b2 = false;
        array34[n46] = new Rectangle(b2 ? 1 : 0, b2 ? 1 : 0, 480, 550);
        contents_DPI_167[n45] = array34;
        contents_DPI_167[30] = new Object[] { "goto.menu.panel.border", ReaderResources_en_GB.K };
        contents_DPI_167[31] = new Object[] { "goto.menu.label.border", ReaderResources_en_GB.d };
        final int n47 = 32;
        final Object[] array35 = { "goto.menu.input.panel.size", null };
        final int n48 = 1;
        final boolean b3 = false;
        array35[n48] = new Rectangle(b3 ? 1 : 0, b3 ? 1 : 0, 520, 280);
        contents_DPI_167[n47] = array35;
        contents_DPI_167[33] = new Object[] { "reader.progressbar.height", new Integer(16) };
        contents_DPI_167[34] = new Object[] { "reader.progressbar.footer.height", new Integer(16) };
        contents_DPI_167[35] = new Object[] { "reader.progressbar.gap", new Integer(10) };
        contents_DPI_167[36] = new Object[] { "reader.progressbar.margin", new Integer(20) };
        contents_DPI_167[37] = new Object[] { "reader.progressbar.padding", new Integer(15) };
        contents_DPI_167[38] = new Object[] { "reader.progressbar.filler", new Integer(97) };
        contents_DPI_167[39] = new Object[] { "reader.progressbar.page.margin", new Integer(200) };
        contents_DPI_167[40] = new Object[] { "reader.progressbar.name.margin", new Integer(100) };
        contents_DPI_167[41] = new Object[] { "scrubber.tap.width", new Integer(300) };
        contents_DPI_167[42] = new Object[] { "snippet.widget.label.height", new Integer(30) };
        contents_DPI_167[43] = new Object[] { "snippet.widget.gap", new Integer(20) };
        contents_DPI_167[44] = new Object[] { "snippet.widget.dialog.gap", new Integer(16) };
        contents_DPI_167[45] = new Object[] { "snippet.widget.margin", new Integer(30) };
        final int n49 = 46;
        final Object[] array36 = { "snippet.widget.gap.cjk", null };
        final int[] array37 = new int[8];
        array37[0] = 8;
        final int n50 = 1;
        array37[n50] = 8;
        array37[3] = (array37[2] = 8);
        array37[5] = (array37[4] = 12);
        array37[7] = (array37[6] = 16);
        array36[n50] = array37;
        contents_DPI_167[n49] = array36;
        contents_DPI_167[47] = new Object[] { "reader.content.leftMargin", new Integer(10) };
        contents_DPI_167[48] = new Object[] { "reader.content.leftMargin.pdf", new Integer(10) };
        contents_DPI_167[49] = new Object[] { "reader.content.rightMargin", new Integer(10) };
        contents_DPI_167[50] = new Object[] { "reader.content.rightMargin.pdf", new Integer(10) };
        contents_DPI_167[51] = new Object[] { "reader.content.topMargin", new Integer(10) };
        contents_DPI_167[52] = new Object[] { "reader.content.topMargin.pdf", new Integer(10) };
        contents_DPI_167[53] = new Object[] { "reader.content.topMarginOffset", new Integer(10) };
        contents_DPI_167[54] = new Object[] { "reader.content.bottomMargin", new Integer(16) };
        contents_DPI_167[55] = new Object[] { "reader.content.bottomMargin.pdf", new Integer(16) };
        contents_DPI_167[56] = new Object[] { "reader.content.yMargin", new Integer(16) };
        contents_DPI_167[57] = new Object[] { "select.insets", ReaderResources_en_GB.F };
        contents_DPI_167[58] = new Object[] { "select.minimum.height", new Integer(306) };
        contents_DPI_167[59] = new Object[] { "select.no.commandbar.border", ReaderResources_en_GB.m };
        contents_DPI_167[60] = new Object[] { "select.dialog.percentage", new Integer(70) };
        contents_DPI_167[61] = new Object[] { "select.dialog.handle.offset", new Integer(36) };
        contents_DPI_167[62] = new Object[] { "select.dialog.handle.offset.vertical", new Integer(18) };
        contents_DPI_167[63] = new Object[] { "select.dialog.padding", new Integer(3) };
        final int n51 = 64;
        final Object[] array38 = { "passworddialog.panel.size", null };
        final int n52 = 1;
        final boolean b4 = false;
        array38[n52] = new Rectangle(b4 ? 1 : 0, b4 ? 1 : 0, 540, 260);
        contents_DPI_167[n51] = array38;
        contents_DPI_167[65] = new Object[] { "passworddialog.panel.border", ReaderResources_en_GB.I };
        contents_DPI_167[66] = new Object[] { "passworddialog.panel.gap", new Integer(20) };
        contents_DPI_167[67] = new Object[] { "noteeditor.border", ReaderResources_en_GB.G };
        contents_DPI_167[68] = new Object[] { "noteeditor.gap", new Integer(10) };
        contents_DPI_167[69] = new Object[] { "noteeditor.panel.portrait.size", new Dimension(540, 400) };
        contents_DPI_167[70] = new Object[] { "noteeditor.panel.landscape.size", new Dimension(720, 300) };
        final int n53 = 71;
        final Object[] array39 = { "font.contrast.panel.size", null };
        final int n54 = 1;
        final boolean b5 = false;
        array39[n54] = new Rectangle(b5 ? 1 : 0, b5 ? 1 : 0, 510, 170);
        contents_DPI_167[n53] = array39;
        contents_DPI_167[72] = new Object[] { "pdfconrast.panel.border", ReaderResources_en_GB.B };
        final int n55 = 73;
        final Object[] array40 = { "pdf.marker.font", null };
        final z uda4 = z.UDA();
        final String s4 = "Serif";
        final int n56 = 1;
        array40[n56] = uda4.QUc(s4, n56, 16);
        contents_DPI_167[n55] = array40;
        contents_DPI_167[74] = new Object[] { "pdf.marker.border.insets", ReaderResources_en_GB.j };
        final int n57 = 75;
        final Object[] array41 = { "chrome.footer.insets", null };
        final int n58 = 1;
        final int n59 = 2;
        final boolean b6 = false;
        array41[n58] = new Insets(n59, b6 ? 1 : 0, b6 ? 1 : 0, b6 ? 1 : 0);
        contents_DPI_167[n57] = array41;
        contents_DPI_167[76] = new Object[] { "chrome.footer.border.thickness", new Integer(2) };
        contents_DPI_167[77] = new Object[] { "moremenu.icon.normal", "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshi/rightArrow.png" };
        contents_DPI_167[78] = new Object[] { "moremenu.icon.pressed", "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshi/rightSelectedArrow.png" };
        contents_DPI_167[79] = new Object[] { "moremenu.backbutton.iconchar", "<" };
        final int n60 = 80;
        final Object[] array42 = { "moremenu.backbutton.iconchar.font", null };
        final z uda5 = z.UDA();
        final String s5 = "dialog";
        final int n61 = 1;
        array42[n61] = uda5.QUc(s5, n61, 16);
        contents_DPI_167[n60] = array42;
        contents_DPI_167[81] = new Object[] { "moremenu.backbutton.width", new Integer(70) };
        final int n62 = 82;
        final Object[] array43 = { "moremenu.title.font", null };
        final z uda6 = z.UDA();
        final String s6 = "dialog";
        final int n63 = 1;
        array43[n63] = uda6.QUc(s6, n63, 10);
        contents_DPI_167[n62] = array43;
        final int n64 = 83;
        final Object[] array44 = { "moremenu.title.inner.border", null };
        final int n65 = 1;
        final int n66 = 3;
        final boolean b7 = false;
        array44[n65] = new EmptyBorder(b7 ? 1 : 0, n66, b7 ? 1 : 0, b7 ? 1 : 0);
        contents_DPI_167[n64] = array44;
        contents_DPI_167[84] = new Object[] { "moremenu.title.outer.border", new FragmentBorder(KindleColor.black, FragmentBorder.BOTTOM, pixVal(1.02f)) };
        contents_DPI_167[85] = new Object[] { "moremenu.back.button.icon.normal", "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshi/backArrow.png" };
        contents_DPI_167[86] = new Object[] { "moremenu.back.button.icon.pressed", "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshi/backArrow_XOR.png" };
        contents_DPI_167[87] = new Object[] { "tabbeddialog.tabbutton.height", new Integer(66) };
        contents_DPI_167[88] = new Object[] { "tabbeddialog.preffered.width", new Integer(0) };
        contents_DPI_167[89] = new Object[] { "tabbeddialog.preffered.height", new Integer(0) };
        contents_DPI_167[90] = new Object[] { "tabbeddialog.nonselectedborder.size", new Integer(2) };
        contents_DPI_167[91] = new Object[] { "tabbeddialog.selectedborder.size", new Integer(4) };
        contents_DPI_167[92] = new Object[] { "tabbeddialog.border.color", KindleColor.BLACK };
        contents_DPI_167[93] = new Object[] { "tabbeddialog.inactive.tab.color", KindleColor.GRAY_05 };
        contents_DPI_167[94] = new Object[] { "tabbeddialog.vertical.inset", new Integer(40) };
        contents_DPI_167[95] = new Object[] { "tabbeddialog.horizontal.inset", new Integer(10) };
        final int n67 = 96;
        final Object[] array45 = { "tabbeddialog.selected.font", null };
        final z uda7 = z.UDA();
        final String s7 = "dialog";
        final int n68 = 1;
        array45[n68] = uda7.QUc(s7, n68, 10);
        contents_DPI_167[n67] = array45;
        contents_DPI_167[97] = new Object[] { "tabbeddialog.unselected.font", z.UDA().QUc("dialog", 0, 10) };
        contents_DPI_167[98] = new Object[] { "launchmore.bar.height", new Integer(90) };
        final int n69 = 99;
        final Object[] array46 = { "launchmore.bar.border.size", null };
        final int n70 = 1;
        array46[n70] = new Integer(n70);
        contents_DPI_167[n69] = array46;
        final int n71 = 100;
        final Object[] array47 = { "launchmore.bar.inner.margin.border", null };
        final int n72 = 1;
        final boolean b8 = false;
        final int n73 = 3;
        array47[n72] = new EmptyBorder(n73, b8 ? 1 : 0, n73, 0);
        contents_DPI_167[n71] = array47;
        final int n74 = 101;
        final Object[] array48 = { "launchmore.bar.button.middle.margin.border", null };
        final int n75 = 1;
        final int n76 = 30;
        final boolean b9 = false;
        array48[n75] = new EmptyBorder(b9 ? 1 : 0, n76, b9 ? 1 : 0, 30);
        contents_DPI_167[n74] = array48;
        final int n77 = 102;
        final Object[] array49 = { "launchmore.bar.button.right.margin.border", null };
        final int n78 = 1;
        final int n79 = 30;
        final boolean b10 = false;
        array49[n78] = new EmptyBorder(b10 ? 1 : 0, n79, b10 ? 1 : 0, 10);
        contents_DPI_167[n77] = array49;
        final int n80 = 103;
        final Object[] array50 = { "launchmore.bar.button.left.margin.border", null };
        final int n81 = 1;
        final int n82 = 10;
        final boolean b11 = false;
        array50[n81] = new EmptyBorder(b11 ? 1 : 0, n82, b11 ? 1 : 0, 30);
        contents_DPI_167[n80] = array50;
        contents_DPI_167[104] = new Object[] { "launchmore.bar.empty.border", new FragmentBorder(KindleColor.WHITE, FragmentBorder.LEFT + FragmentBorder.RIGHT, 20) };
        final int n83 = 105;
        final Object[] array51 = { "launchmore.bar.font", null };
        final z uda8 = z.UDA();
        final String s8 = "dialog";
        final int n84 = 1;
        array51[n84] = uda8.QUc(s8, n84, 10);
        contents_DPI_167[n83] = array51;
        this.CONTENTS_DPI_167 = contents_DPI_167;
        final Object[][] contents_DPI_168 = new Object[106][];
        contents_DPI_168[0] = new Object[] { "menu.button.horizontal.margin", new Integer(13) };
        contents_DPI_168[1] = new Object[] { "menu.button.icon.margin", ReaderResources_en_GB.h };
        final int n85 = 2;
        final Object[] array52 = new Object[n85];
        array52[0] = "menu.settings.enable";
        final int n86 = 1;
        array52[n86] = new Boolean(n86 != 0);
        contents_DPI_168[n85] = array52;
        contents_DPI_168[3] = new Object[] { "menu.wifi.enable", new Boolean(false) };
        contents_DPI_168[4] = new Object[] { "platform.screen.dpi", new Integer(212) };
        contents_DPI_168[5] = new Object[] { "font.menu.margin.hgap", new Integer(10) };
        contents_DPI_168[6] = new Object[] { "font.menu.margin.leftgap", new Integer(180) };
        contents_DPI_168[7] = new Object[] { "font.menu.margin.rightgap", new Integer(220) };
        contents_DPI_168[8] = new Object[] { "font.menu.panel.width", new Integer(660) };
        contents_DPI_168[9] = new Object[] { "font.menu.panel.border", ReaderResources_en_GB.l };
        contents_DPI_168[10] = new Object[] { "font.menu.horizontal.margin", new Integer(13) };
        contents_DPI_168[11] = new Object[] { "font.menu.vertical.margin", new Integer(10) };
        contents_DPI_168[12] = new Object[] { "font.menu.border.panel", ReaderResources_en_GB.J };
        contents_DPI_168[13] = new Object[] { "font.menu.border.spacing", ReaderResources_en_GB.g };
        contents_DPI_168[14] = new Object[] { "font.menu.border.button", ReaderResources_en_GB.M };
        contents_DPI_168[15] = new Object[] { "font.menu.panel.size.onlySize", new Rectangle(0, 70, 635, 190) };
        contents_DPI_168[16] = new Object[] { "font.menu.text.height", new Integer(90) };
        contents_DPI_168[17] = new Object[] { "font.menu.text.width", new Integer(58) };
        contents_DPI_168[18] = new Object[] { "font.menu.baseline.gap", new Integer(6) };
        contents_DPI_168[19] = new Object[] { "font.menu.image.margin", ReaderResources_en_GB.k };
        final int n87 = 20;
        final Object[] array53 = { "font.size.mapping.cjk", null };
        final float[] array54 = new float[8];
        array54[0] = 7.13f;
        final int n88 = 1;
        array54[n88] = 8.15f;
        array54[2] = 8.83f;
        array54[3] = 9.51f;
        array54[4] = 10.19f;
        array54[5] = 11.88f;
        array54[6] = 16.98f;
        array54[7] = 29.2f;
        array53[n88] = array54;
        contents_DPI_168[n87] = array53;
        final int n89 = 21;
        final Object[] array55 = { "font.size.mapping", null };
        final float[] array56 = new float[8];
        array56[0] = 7.13f;
        final int n90 = 1;
        array56[n90] = 7.81f;
        array56[2] = 8.49f;
        array56[3] = 9.17f;
        array56[4] = 10.53f;
        array56[5] = 12.56f;
        array56[6] = 16.98f;
        array56[7] = 29.2f;
        array55[n90] = array56;
        contents_DPI_168[n89] = array55;
        final int n91 = 22;
        final Object[] array57 = { "font.wordsperline.margin.list", null };
        final int[] array58 = { 30, 0, 0 };
        final int n92 = 1;
        array58[n92] = 20;
        array58[2] = 10;
        array57[n92] = array58;
        contents_DPI_168[n91] = array57;
        final int n93 = 23;
        final Object[] array59 = { "font.wordsperline.margin.list.pdf", null };
        final int[] array60 = { 30, 0, 0 };
        final int n94 = 1;
        array60[n94] = 20;
        array60[2] = 10;
        array59[n94] = array60;
        contents_DPI_168[n93] = array59;
        contents_DPI_168[24] = new Object[] { "font.embedded.button.border", ReaderResources_en_GB.E };
        contents_DPI_168[25] = new Object[] { "font.embedded.button.size", new Dimension(190, 64) };
        contents_DPI_168[26] = new Object[] { "font.linespacing.image.list", { "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshime3/lineSpace_Small.png", "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshime3/lineSpace_Medium.png", "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshime3/lineSpace_Large.png" } };
        contents_DPI_168[27] = new Object[] { "font.wordsperline.image.list", { "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshime3/margin_Fewest.png", "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshime3/margin_Fewer.png", "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshime3/margin_Default.png" } };
        final int n95 = 28;
        final Object[] array61 = { "goto.menu.panel.size", null };
        final int n96 = 1;
        final boolean b12 = false;
        array61[n96] = new Rectangle(b12 ? 1 : 0, b12 ? 1 : 0, 460, 580);
        contents_DPI_168[n95] = array61;
        final int n97 = 29;
        final Object[] array62 = { "goto.menu.panel.guide.size", null };
        final int n98 = 1;
        final boolean b13 = false;
        array62[n98] = new Rectangle(b13 ? 1 : 0, b13 ? 1 : 0, 600, 700);
        contents_DPI_168[n97] = array62;
        contents_DPI_168[30] = new Object[] { "goto.menu.panel.border", ReaderResources_en_GB.b };
        contents_DPI_168[31] = new Object[] { "goto.menu.label.border", ReaderResources_en_GB.i };
        final int n99 = 32;
        final Object[] array63 = { "goto.menu.input.panel.size", null };
        final int n100 = 1;
        final boolean b14 = false;
        array63[n100] = new Rectangle(b14 ? 1 : 0, b14 ? 1 : 0, 660, 360);
        contents_DPI_168[n99] = array63;
        contents_DPI_168[33] = new Object[] { "reader.progressbar.height", new Integer(20) };
        contents_DPI_168[34] = new Object[] { "reader.progressbar.footer.height", new Integer(20) };
        contents_DPI_168[35] = new Object[] { "reader.progressbar.gap", new Integer(13) };
        contents_DPI_168[36] = new Object[] { "reader.progressbar.margin", new Integer(20) };
        contents_DPI_168[37] = new Object[] { "reader.progressbar.padding", new Integer(20) };
        contents_DPI_168[38] = new Object[] { "reader.progressbar.filler", new Integer(130) };
        contents_DPI_168[39] = new Object[] { "reader.progressbar.page.margin", new Integer(250) };
        contents_DPI_168[40] = new Object[] { "reader.progressbar.name.margin", new Integer(125) };
        contents_DPI_168[41] = new Object[] { "scrubber.tap.width", new Integer(300) };
        contents_DPI_168[42] = new Object[] { "snippet.widget.label.height", new Integer(40) };
        contents_DPI_168[43] = new Object[] { "snippet.widget.gap", new Integer(25) };
        contents_DPI_168[44] = new Object[] { "snippet.widget.dialog.gap", new Integer(20) };
        contents_DPI_168[45] = new Object[] { "snippet.widget.margin", new Integer(40) };
        final int n101 = 46;
        final Object[] array64 = { "snippet.widget.gap.cjk", null };
        final int[] array65 = new int[8];
        array65[0] = 10;
        final int n102 = 1;
        array65[n102] = 10;
        array65[3] = (array65[2] = 10);
        array65[5] = (array65[4] = 15);
        array65[7] = (array65[6] = 20);
        array64[n102] = array65;
        contents_DPI_168[n101] = array64;
        contents_DPI_168[47] = new Object[] { "reader.content.leftMargin", new Integer(10) };
        contents_DPI_168[48] = new Object[] { "reader.content.leftMargin.pdf", new Integer(10) };
        contents_DPI_168[49] = new Object[] { "reader.content.rightMargin", new Integer(10) };
        contents_DPI_168[50] = new Object[] { "reader.content.rightMargin.pdf", new Integer(10) };
        contents_DPI_168[51] = new Object[] { "reader.content.topMargin", new Integer(12) };
        contents_DPI_168[52] = new Object[] { "reader.content.topMargin.pdf", new Integer(12) };
        contents_DPI_168[53] = new Object[] { "reader.content.topMarginOffset", new Integer(12) };
        contents_DPI_168[54] = new Object[] { "reader.content.bottomMargin", new Integer(20) };
        contents_DPI_168[55] = new Object[] { "reader.content.bottomMargin.pdf", new Integer(20) };
        contents_DPI_168[56] = new Object[] { "reader.content.yMargin", new Integer(20) };
        contents_DPI_168[57] = new Object[] { "select.insets", ReaderResources_en_GB.a };
        contents_DPI_168[58] = new Object[] { "select.minimum.height", new Integer(390) };
        contents_DPI_168[59] = new Object[] { "select.no.commandbar.border", ReaderResources_en_GB.A };
        contents_DPI_168[60] = new Object[] { "select.dialog.percentage", new Integer(70) };
        contents_DPI_168[61] = new Object[] { "select.dialog.handle.offset", new Integer(40) };
        contents_DPI_168[62] = new Object[] { "select.dialog.handle.offset.vertical", new Integer(20) };
        contents_DPI_168[63] = new Object[] { "select.dialog.padding", new Integer(5) };
        final int n103 = 64;
        final Object[] array66 = { "passworddialog.panel.size", null };
        final int n104 = 1;
        final boolean b15 = false;
        array66[n104] = new Rectangle(b15 ? 1 : 0, b15 ? 1 : 0, 690, 330);
        contents_DPI_168[n103] = array66;
        contents_DPI_168[65] = new Object[] { "passworddialog.panel.border", ReaderResources_en_GB.e };
        contents_DPI_168[66] = new Object[] { "passworddialog.panel.gap", new Integer(25) };
        contents_DPI_168[67] = new Object[] { "noteeditor.border", ReaderResources_en_GB.c };
        contents_DPI_168[68] = new Object[] { "noteeditor.gap", new Integer(13) };
        contents_DPI_168[69] = new Object[] { "noteeditor.panel.portrait.size", new Dimension(700, 500) };
        contents_DPI_168[70] = new Object[] { "noteeditor.panel.landscape.size", new Dimension(900, 380) };
        final int n105 = 71;
        final Object[] array67 = { "font.contrast.panel.size", null };
        final int n106 = 1;
        final boolean b16 = false;
        array67[n106] = new Rectangle(b16 ? 1 : 0, b16 ? 1 : 0, 620, 220);
        contents_DPI_168[n105] = array67;
        contents_DPI_168[72] = new Object[] { "pdfconrast.panel.border", ReaderResources_en_GB.B };
        final int n107 = 73;
        final Object[] array68 = { "pdf.marker.font", null };
        final z uda9 = z.UDA();
        final String s9 = "Serif";
        final int n108 = 1;
        array68[n108] = uda9.QUc(s9, n108, 16);
        contents_DPI_168[n107] = array68;
        contents_DPI_168[74] = new Object[] { "pdf.marker.border.insets", ReaderResources_en_GB.j };
        final int n109 = 75;
        final Object[] array69 = { "chrome.footer.insets", null };
        final int n110 = 1;
        final int n111 = 2;
        final boolean b17 = false;
        array69[n110] = new Insets(n111, b17 ? 1 : 0, b17 ? 1 : 0, b17 ? 1 : 0);
        contents_DPI_168[n109] = array69;
        contents_DPI_168[76] = new Object[] { "chrome.footer.border.thickness", new Integer(2) };
        contents_DPI_168[77] = new Object[] { "moremenu.icon.normal", "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshime3/rightArrow.png" };
        contents_DPI_168[78] = new Object[] { "moremenu.icon.pressed", "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshime3/rightSelectedArrow.png" };
        contents_DPI_168[79] = new Object[] { "moremenu.backbutton.iconchar", "<" };
        final int n112 = 80;
        final Object[] array70 = { "moremenu.backbutton.iconchar.font", null };
        final z uda10 = z.UDA();
        final String s10 = "dialog";
        final int n113 = 1;
        array70[n113] = uda10.QUc(s10, n113, 16);
        contents_DPI_168[n112] = array70;
        contents_DPI_168[81] = new Object[] { "moremenu.backbutton.width", new Integer(70) };
        final int n114 = 82;
        final Object[] array71 = { "moremenu.title.font", null };
        final z uda11 = z.UDA();
        final String s11 = "dialog";
        final int n115 = 1;
        array71[n115] = uda11.QUc(s11, n115, 10);
        contents_DPI_168[n114] = array71;
        final int n116 = 83;
        final Object[] array72 = { "moremenu.title.inner.border", null };
        final int n117 = 1;
        final int n118 = 3;
        final boolean b18 = false;
        array72[n117] = new EmptyBorder(b18 ? 1 : 0, n118, b18 ? 1 : 0, b18 ? 1 : 0);
        contents_DPI_168[n116] = array72;
        contents_DPI_168[84] = new Object[] { "moremenu.title.outer.border", new FragmentBorder(KindleColor.black, FragmentBorder.BOTTOM, pixVal(1.02f)) };
        contents_DPI_168[85] = new Object[] { "moremenu.back.button.icon.normal", "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshime3/backArrow.png" };
        contents_DPI_168[86] = new Object[] { "moremenu.back.button.icon.pressed", "/com/amazon/ebook/booklet/reader/impl/ui/resources/assets/yoshime3/backArrow_XOR.png" };
        contents_DPI_168[87] = new Object[] { "tabbeddialog.tabbutton.height", new Integer(66) };
        contents_DPI_168[88] = new Object[] { "tabbeddialog.preffered.width", new Integer(0) };
        contents_DPI_168[89] = new Object[] { "tabbeddialog.preffered.height", new Integer(0) };
        contents_DPI_168[90] = new Object[] { "tabbeddialog.nonselectedborder.size", new Integer(2) };
        contents_DPI_168[91] = new Object[] { "tabbeddialog.selectedborder.size", new Integer(4) };
        contents_DPI_168[92] = new Object[] { "tabbeddialog.border.color", KindleColor.BLACK };
        contents_DPI_168[93] = new Object[] { "tabbeddialog.inactive.tab.color", KindleColor.GRAY_05 };
        contents_DPI_168[94] = new Object[] { "tabbeddialog.vertical.inset", new Integer(40) };
        contents_DPI_168[95] = new Object[] { "tabbeddialog.horizontal.inset", new Integer(10) };
        final int n119 = 96;
        final Object[] array73 = { "tabbeddialog.selected.font", null };
        final z uda12 = z.UDA();
        final String s12 = "dialog";
        final int n120 = 1;
        array73[n120] = uda12.QUc(s12, n120, 10);
        contents_DPI_168[n119] = array73;
        contents_DPI_168[97] = new Object[] { "tabbeddialog.unselected.font", z.UDA().QUc("dialog", 0, 10) };
        contents_DPI_168[98] = new Object[] { "launchmore.bar.height", new Integer(90) };
        final int n121 = 99;
        final Object[] array74 = { "launchmore.bar.border.size", null };
        final int n122 = 1;
        array74[n122] = new Integer(n122);
        contents_DPI_168[n121] = array74;
        final int n123 = 100;
        final Object[] array75 = { "launchmore.bar.inner.margin.border", null };
        final int n124 = 1;
        final boolean b19 = false;
        final int n125 = 3;
        array75[n124] = new EmptyBorder(n125, b19 ? 1 : 0, n125, 0);
        contents_DPI_168[n123] = array75;
        final int n126 = 101;
        final Object[] array76 = { "launchmore.bar.button.middle.margin.border", null };
        final int n127 = 1;
        final int n128 = 30;
        final boolean b20 = false;
        array76[n127] = new EmptyBorder(b20 ? 1 : 0, n128, b20 ? 1 : 0, 30);
        contents_DPI_168[n126] = array76;
        final int n129 = 102;
        final Object[] array77 = { "launchmore.bar.button.right.margin.border", null };
        final int n130 = 1;
        final int n131 = 30;
        final boolean b21 = false;
        array77[n130] = new EmptyBorder(b21 ? 1 : 0, n131, b21 ? 1 : 0, 10);
        contents_DPI_168[n129] = array77;
        final int n132 = 103;
        final Object[] array78 = { "launchmore.bar.button.left.margin.border", null };
        final int n133 = 1;
        final int n134 = 10;
        final boolean b22 = false;
        array78[n133] = new EmptyBorder(b22 ? 1 : 0, n134, b22 ? 1 : 0, 30);
        contents_DPI_168[n132] = array78;
        contents_DPI_168[104] = new Object[] { "launchmore.bar.empty.border", new FragmentBorder(KindleColor.WHITE, FragmentBorder.LEFT + FragmentBorder.RIGHT, 20) };
        final int n135 = 105;
        final Object[] array79 = { "launchmore.bar.font", null };
        final z uda13 = z.UDA();
        final String s13 = "dialog";
        final int n136 = 1;
        array79[n136] = uda13.QUc(s13, n136, 10);
        contents_DPI_168[n135] = array79;
        this.CONTENTS_DPI_212 = contents_DPI_168;
    }
    
    static {
        final int n = 10;
        final boolean b2 = false;
        y = new Insets(n, n, b2 ? 1 : 0, b2 ? 1 : 0);
        final int n2 = 12;
        s = new Insets(n2, n2, n2, n2);
        final int n3 = 20;
        F = new Insets(n3, n3, n3, n3);
        final int n4 = 13;
        final boolean b3 = false;
        k = new Insets(n4, n4, b3 ? 1 : 0, b3 ? 1 : 0);
        final int n5 = 15;
        h = new Insets(n5, n5, n5, n5);
        final int n6 = 25;
        a = new Insets(n6, n6, n6, n6);
        final boolean b4 = false;
        final int n7 = 10;
        j = new Insets(b4 ? 1 : 0, n7, n7, n7);
        final boolean b5 = false;
        E = new EmptyBorder(b5 ? 1 : 0, b5 ? 1 : 0, b5 ? 1 : 0, b5 ? 1 : 0);
        final int n8 = 6;
        final int n9 = 4;
        d = new EmptyBorder(n9, n8, n9, 0);
        final int n10 = 6;
        final boolean b6 = false;
        D = new EmptyBorder(n10, b6 ? 1 : 0, b6 ? 1 : 0, b6 ? 1 : 0);
        final boolean b7 = false;
        final int n11 = 6;
        C = new EmptyBorder(n11, b7 ? 1 : 0, n11, 0);
        final int n12 = 12;
        final boolean b8 = false;
        L = new EmptyBorder(n12, b8 ? 1 : 0, b8 ? 1 : 0, b8 ? 1 : 0);
        final int n13 = 20;
        final boolean b9 = false;
        m = new EmptyBorder(b9 ? 1 : 0, b9 ? 1 : 0, n13, b9 ? 1 : 0);
        final int n14 = 10;
        K = new EmptyBorder(n14, n14, n14, n14);
        final boolean b10 = false;
        final int n15 = 24;
        G = new EmptyBorder(n15, n15, b10 ? 1 : 0, n15);
        final boolean b11 = false;
        final int n16 = 6;
        final int n17 = 20;
        f = new EmptyBorder(b11 ? 1 : 0, n17, n16, n17);
        final int n18 = 20;
        I = new EmptyBorder(n18, n18, n18, n18);
        final int n19 = 8;
        final int n20 = 5;
        i = new EmptyBorder(n20, n19, n20, 0);
        final int n21 = 8;
        final boolean b12 = false;
        g = new EmptyBorder(n21, b12 ? 1 : 0, b12 ? 1 : 0, b12 ? 1 : 0);
        final boolean b13 = false;
        final int n22 = 8;
        M = new EmptyBorder(n22, b13 ? 1 : 0, n22, 0);
        final int n23 = 15;
        final boolean b14 = false;
        J = new EmptyBorder(n23, b14 ? 1 : 0, b14 ? 1 : 0, b14 ? 1 : 0);
        final int n24 = 25;
        final boolean b15 = false;
        A = new EmptyBorder(b15 ? 1 : 0, b15 ? 1 : 0, n24, b15 ? 1 : 0);
        final int n25 = 13;
        b = new EmptyBorder(n25, n25, n25, n25);
        final boolean b16 = false;
        final int n26 = 30;
        c = new EmptyBorder(n26, n26, b16 ? 1 : 0, n26);
        final boolean b17 = false;
        final int n27 = 8;
        final int n28 = 25;
        l = new EmptyBorder(b17 ? 1 : 0, n28, n27, n28);
        final int n29 = 25;
        e = new EmptyBorder(n29, n29, n29, n29);
        B = new EmptyBorder(20, 5, 10, 0);
        final int n30 = 30;
        H = new EmptyBorder(n30, n30, n30, n30);
    }
}
does not make me happy. Any ideas?
In procyon it leads to over 800 lines -better than over 6000 lines in other decompilers.
I do not want to brick my reader...

I attached the original JAR-File and the decompiled class which ist obviously responsible for setting margins. Any help welcome!


Greetings from Austria

PS: I am not any kind of developer
Attached Files
File Type: zip ReaderSDK-impl-en_GB.zip (245.0 KB, 159 views)

Last edited by Analogus; 01-08-2017 at 09:42 AM.
Analogus is offline   Reply With Quote
Old 01-08-2017, 08:36 AM   #6
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
That combination is durn near readable.
Understanding, that is another matter, it has been nearly 20 years since I wrote anything in Java.

I agree with you -
Margins are no longer set in the same jar file as older posts indicate.
Unless the 'margin' is now considered part of what they are calling a 'border'.
It could be they changed their terminology.

They have certainly done over-kill on setting the da.. borders in that version.
(Which is what broke Collections Manager until most recently fixed.)

Note:
The Amazon/Lab126 build system re-obfuscates the code with each build, not each firmware version, not each device/firmware pair, each BUILD!
On your 'device info' panel, the 'build' is the number in parans: (build number) following the firmware version.

So when dealing with anything Kindle/Java - please mention the "firmware version - (build number)" being discussed.

Last time I checked, there where about 646 classes -
The margins are set in one of the other 645.

Sorry, that is a non-answer.
Anybody else solved this yet?

Last edited by knc1; 01-08-2017 at 08:44 AM.
knc1 is offline   Reply With Quote
Old 01-08-2017, 09:49 AM   #7
Analogus
Fanatic
Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.
 
Analogus's Avatar
 
Posts: 568
Karma: 2170348
Join Date: Apr 2011
Device: 2x Sony PRS-350; PRS-300 (†), Paperwhite (†), Voyage
Thanks!

Unless somebody can solve this riddle I will not touch this one more time to avoid bricking the Voyage which I love very much.

What I cannot understand is Amazon. Why do they make readers with sensless options?
Margins eating up 50% of the small reading-area is somehow idiotic. Who would want this?
Analogus is offline   Reply With Quote
Old 01-08-2017, 10:49 AM   #8
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Quote:
Originally Posted by Analogus View Post
Thanks!

Unless somebody can solve this riddle I will not touch this one more time to avoid bricking the Voyage which I love very much.

What I cannot understand is Amazon. Why do they make readers with sensless options?
Margins eating up 50% of the small reading-area is somehow idiotic. Who would want this?
Are you using alternate fonts?
I.E: Something that might not be handled by all of that 'set border' code.

If your firmware version supports it, try their new 'Ember' font.
Or at least try one of the Amazon provided fonts, see is the margins (?borders?) are sane.
knc1 is offline   Reply With Quote
Old 01-08-2017, 10:58 AM   #9
Analogus
Fanatic
Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.
 
Analogus's Avatar
 
Posts: 568
Karma: 2170348
Join Date: Apr 2011
Device: 2x Sony PRS-350; PRS-300 (†), Paperwhite (†), Voyage
Thanks!

I have not tried anything directly on the Voyage concerning MARGINS due to the risk of bricking it. Just played with the files on my PC/MAC.

Alternate fonts: not now - tried it but without luck (it does not work at all)
Ember font: yes, on board. But no difference.

Last edited by Analogus; 01-08-2017 at 11:15 AM.
Analogus is offline   Reply With Quote
Old 01-08-2017, 11:29 AM   #10
Cinisajoy
Just a Yellow Smiley.
Cinisajoy ought to be getting tired of karma fortunes by now.Cinisajoy ought to be getting tired of karma fortunes by now.Cinisajoy ought to be getting tired of karma fortunes by now.Cinisajoy ought to be getting tired of karma fortunes by now.Cinisajoy ought to be getting tired of karma fortunes by now.Cinisajoy ought to be getting tired of karma fortunes by now.Cinisajoy ought to be getting tired of karma fortunes by now.Cinisajoy ought to be getting tired of karma fortunes by now.Cinisajoy ought to be getting tired of karma fortunes by now.Cinisajoy ought to be getting tired of karma fortunes by now.Cinisajoy ought to be getting tired of karma fortunes by now.
 
Cinisajoy's Avatar
 
Posts: 19,161
Karma: 83862859
Join Date: Jul 2015
Location: Texas
Device: K4, K5, fire, kobo, galaxy
Quote:
Originally Posted by Analogus View Post
Thanks!

Unless somebody can solve this riddle I will not touch this one more time to avoid bricking the Voyage which I love very much.

What I cannot understand is Amazon. Why do they make readers with sensless options?
Margins eating up 50% of the small reading-area is somehow idiotic. Who would want this?
Just a curiosity, what font and font size are you using? I have never seen that big of a margin.
I should also ask what type of file and how did you put it on kindle?
Cinisajoy is offline   Reply With Quote
Old 01-08-2017, 12:05 PM   #11
Analogus
Fanatic
Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.
 
Analogus's Avatar
 
Posts: 568
Karma: 2170348
Join Date: Apr 2011
Device: 2x Sony PRS-350; PRS-300 (†), Paperwhite (†), Voyage
Hi!

I think, nothing special here. But have a look at the screenshot. Nearly half of the AREA ist white(margins) if you sum up all 4 sides and compare it with the area filled with text.


In my opinion a maximum of say 5mm - 7mm is ok. That's the case for example in Koreader.

And to demonstrate it (yes, I've too much time today...):


This should demonstrate how rediculous this options are, esp. on a 6-inch-reader.

Last edited by Analogus; 01-08-2017 at 12:37 PM.
Analogus is offline   Reply With Quote
Old 01-08-2017, 12:25 PM   #12
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
That looks like one of the margin options from the Aa font menu.
At least it was on 7th gen. devices in the days of 5.6.x firmware.

But on the newer menu setup (5.8.5 and newer) -
Open book -
Open top menu bar -
Pick the "Aa" menu -
now titled: "Display Settings"
Note that it is a tabbed panel, with three tabs, default is Font
Pick "page" -
On that tab, you can set 'spacing', 'margins', 'orientation'

Your pick looks like it is set on the middle (default) margin choice.
Pick the narrow margin choice -
Dismiss the panel

I don't have anything running 5.8.7 to verify if that is the way things are or if they changed things again.
knc1 is offline   Reply With Quote
Old 01-08-2017, 12:32 PM   #13
Analogus
Fanatic
Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.
 
Analogus's Avatar
 
Posts: 568
Karma: 2170348
Join Date: Apr 2011
Device: 2x Sony PRS-350; PRS-300 (†), Paperwhite (†), Voyage
To clarify that:

This setting is of course the MAXIMUM you can select in your mentioned settings (I do use it of course). But even the most narrow setting ist the absolut maximum I want to use.

So it would be fine to have more choices. Have a look on my avatar. This demonstrates how I want to have margins. This is not possible with Kindle even with most narrow spaces.

Last edited by Analogus; 01-08-2017 at 12:39 PM.
Analogus is offline   Reply With Quote
Old 01-08-2017, 12:40 PM   #14
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Quote:
Originally Posted by Analogus View Post
To clarify that:

This setting is of course the MAXIMUM you can select in your mentioned settings (I do use it of course). But even the most narrow setting ist the absolut maximum a want to use.

So it would be fine to have more choices. Have a look on my avatar. This demonstrates how I want to have margins. This is not possible with Kindle even with most narrow spaces.
No offense intended.
Since Amazon re-designed the menus, I had to ask if you had checked the margins in their new (hidden) menu.

What sort of document is that in your posted thumbnail?
Would it be a PDF perhaps?
If so, you are probably looking at an image of a page rather than a typographic page.
In that case, you solution is K2pdfopt listed at top of index page, first entry below the sticky section.
knc1 is offline   Reply With Quote
Old 01-08-2017, 12:50 PM   #15
Analogus
Fanatic
Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.Analogus ought to be getting tired of karma fortunes by now.
 
Analogus's Avatar
 
Posts: 568
Karma: 2170348
Join Date: Apr 2011
Device: 2x Sony PRS-350; PRS-300 (†), Paperwhite (†), Voyage
Hi!

Of course not a PDF. PDF & EREADER --> PROBLEM ;-)
At least if you do not have one of the old Sony-readers. They have had abolutely stunning PDF-reflow which really worked.

It's a normal reflowing AZW-file in the pictures above, without something special concerning layout. Just as it is and was in 99% of all books.

My Voyage ist Kindle number two and firmware number 'a lot of'. Layout has always been this way. With JBPatch it was possible to change margins and override Amazons 'idea' of what is a good layout.

But not any more as You know I presume.

Last edited by Analogus; 01-08-2017 at 12:56 PM.
Analogus 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
Edit jars on 5.6.1.0.5 (margins, font sizes) -- and non-jb fonthack ecostin Kindle Developer's Corner 228 06-15-2017 08:28 AM
Calibre Font Configuration Plug in aterry13 Plugins 4 03-03-2013 10:14 PM
Repost - Kobo reboots when changing font sizes meandher57 Kobo Reader 1 10-04-2011 03:34 PM
Changing default font styles and sizes p3aul Calibre 26 07-12-2009 01:40 AM
Font changing sizes... rixte Bookeen 5 12-19-2007 05:58 PM


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


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