From 5f716088cd6de959e568f35381ea82044e5c4dfc Mon Sep 17 00:00:00 2001 From: Alex Xu Date: Thu, 15 Oct 2026 15:44:52 -0700 Subject: [PATCH 1/6] rename to Rmk 1/2/Pure --- kindlecomicconverter/KCC_gui.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/kindlecomicconverter/KCC_gui.py b/kindlecomicconverter/KCC_gui.py index 22c6d412..01ad3a85 100644 --- a/kindlecomicconverter/KCC_gui.py +++ b/kindlecomicconverter/KCC_gui.py @@ -1649,10 +1649,8 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow): 'Label': 'KoS'}, "Kobo Elipsa": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 1, 'DefaultUpscale': True, 'ForceColor': False, 'Label': 'KoE'}, - "reMarkable 1": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 3, 'DefaultUpscale': True, 'ForceColor': False, + "reMarkable 1/2/Pure": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 3, 'DefaultUpscale': True, 'ForceColor': False, 'Label': 'Rmk1'}, - "reMarkable 2": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 3, 'DefaultUpscale': True, 'ForceColor': False, - 'Label': 'Rmk2'}, "reMarkable Paper Pro": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 3, 'DefaultUpscale': True, 'ForceColor': True, 'Label': 'RmkPP'}, "reMarkable Paper Pro Move": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 3, 'DefaultUpscale': True, 'ForceColor': True, @@ -1678,10 +1676,9 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow): "Kobo Elipsa", "Kobo Nia", "Separator", - "reMarkable 1", - "reMarkable 2", - "reMarkable Paper Pro", "reMarkable Paper Pro Move", + "reMarkable Paper Pro", + "reMarkable 1/2/Pure", "Separator", "Other", "Separator", From faa10db4288341b0793ecec2b03df7345c1fde65 Mon Sep 17 00:00:00 2001 From: Alex Xu Date: Thu, 15 Oct 2026 15:45:27 -0700 Subject: [PATCH 2/6] move Kobo Nia down --- kindlecomicconverter/KCC_gui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kindlecomicconverter/KCC_gui.py b/kindlecomicconverter/KCC_gui.py index 01ad3a85..90d704c2 100644 --- a/kindlecomicconverter/KCC_gui.py +++ b/kindlecomicconverter/KCC_gui.py @@ -1674,7 +1674,6 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow): "Kobo Libra 2", "Kobo Libra Colour", "Kobo Elipsa", - "Kobo Nia", "Separator", "reMarkable Paper Pro Move", "reMarkable Paper Pro", @@ -1708,6 +1707,7 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow): "Kobo Glo", "Kobo Libra H2O", "Kobo Mini/Touch", + "Kobo Nia", ] # 这些多为约定俗成的缩写,翻译时可保留原文 From a6784f4d1a5edb5637a82a694f0ade4e326960b3 Mon Sep 17 00:00:00 2001 From: Alex Xu Date: Fri, 16 Oct 2026 10:11:56 -0700 Subject: [PATCH 3/6] re-arrange order of kindles --- kindlecomicconverter/KCC_gui.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/kindlecomicconverter/KCC_gui.py b/kindlecomicconverter/KCC_gui.py index 90d704c2..8bbbdac6 100644 --- a/kindlecomicconverter/KCC_gui.py +++ b/kindlecomicconverter/KCC_gui.py @@ -1661,12 +1661,11 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow): profilesGUI = [ "Kindle Scribe Colorsoft", "Kindle Scribe 3", + "Kindle Scribe 1/2", "Kindle Colorsoft", "Kindle Paperwhite 12", - "Kindle Scribe 1/2", "Kindle Paperwhite 11", "Kindle 11", - "Kindle Oasis 9/10", "Separator", "Kobo Clara 2E/BW", "Kobo Clara Colour", @@ -1685,11 +1684,12 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow): "Kindle 1920x1920", "Kindle 1860x1920", "Kindle 1240x1860", - "Kindle 8/10", - "Kindle Oasis 8", "Kindle Paperwhite 7/10", - "Kindle Voyage", "Kindle Paperwhite 5/6", + "Kindle Oasis 9/10", + "Kindle Oasis 8", + "Kindle Voyage", + "Kindle 8/10", "Kindle 4/5/7", "Kindle Touch", "Kindle Keyboard", From f08928500db2723b30c7b7464a520e1dda59c257 Mon Sep 17 00:00:00 2001 From: Alex Xu Date: Fri, 16 Oct 2026 10:34:58 -0700 Subject: [PATCH 4/6] add 2026 kindles --- README.md | 4 ++-- kindlecomicconverter/KCC_gui.py | 10 +++++----- kindlecomicconverter/image.py | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index cac66620..38900937 100644 --- a/README.md +++ b/README.md @@ -224,7 +224,7 @@ sudo apt-get install python3 p7zip-full python3-pil python3-psutil python3-slugi ``` 'K1': ("Kindle 1", (600, 670), Palette4, 1.0), 'K2': ("Kindle 2", (600, 670), Palette15, 1.0), - 'K11': ("Kindle 11", (1072, 1448), Palette16, 1.0), + 'K11': ("Kindle 11/2026", (1072, 1448), Palette16, 1.0), 'K34': ("Kindle Keyboard/Touch", (600, 800), Palette16, 1.0), 'K57': ("Kindle 5/7", (600, 800), Palette16, 1.0), 'K810': ("Kindle 8/10", (600, 800), Palette16, 1.0), @@ -233,7 +233,7 @@ sudo apt-get install python3 p7zip-full python3-pil python3-psutil python3-slugi 'KV': ("Kindle Voyage", (1072, 1448), Palette16, 1.0), 'KPW34': ("Kindle Paperwhite 3/4", (1072, 1448), Palette16, 1.0), 'KPW5': ("Kindle Paperwhite 5/Signature Edition", (1236, 1648), Palette16, 1.0), - 'KPW6': ("Kindle Paperwhite 6", (1272, 1696), Palette16, 1.0), + 'KPW6': ("Kindle Paperwhite 6/2026", (1272, 1696), Palette16, 1.0), 'KO': ("Kindle Oasis 2/3", (1264, 1680), Palette16, 1.0), 'KCS': ("Kindle Colorsoft", (1272, 1696), Palette16, 1.0), 'KS1860': ("Kindle 1860", (1860, 1920), Palette16, 1.0), diff --git a/kindlecomicconverter/KCC_gui.py b/kindlecomicconverter/KCC_gui.py index 8bbbdac6..567b79ba 100644 --- a/kindlecomicconverter/KCC_gui.py +++ b/kindlecomicconverter/KCC_gui.py @@ -1498,7 +1498,7 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow): GUI.easyLabel.hide() # default is Kindle Paperwhite 12th Gen - self.lastDevice = self.settings.value('lastDevice', 3, type=int) + self.lastDevice = self.settings.value('lastDevice', 4, type=int) self.currentFormat = self.settings.value('currentFormat', 0, type=int) self.startNumber = self.settings.value('startNumber', 0, type=int) @@ -1587,13 +1587,13 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow): "Kindle Scribe Colorsoft": { 'PVOptions': True, 'ForceExpert': False, 'DefaultFormat': 4, 'DefaultUpscale': False, 'ForceColor': True, 'Label': 'KSCS', }, - "Kindle 11": { + "Kindle 11/2026": { 'PVOptions': True, 'ForceExpert': False, 'DefaultFormat': 0, 'DefaultUpscale': True, 'ForceColor': False, 'Label': 'K11', }, "Kindle Paperwhite 11": { 'PVOptions': True, 'ForceExpert': False, 'DefaultFormat': 0, 'DefaultUpscale': True, 'ForceColor': False, 'Label': 'KPW5', }, - "Kindle Paperwhite 12": { + "Kindle Paperwhite 12/2026": { 'PVOptions': True, 'ForceExpert': False, 'DefaultFormat': 0, 'DefaultUpscale': True, 'ForceColor': False, 'Label': 'KPW6', }, "Kindle Colorsoft": { @@ -1663,9 +1663,9 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow): "Kindle Scribe 3", "Kindle Scribe 1/2", "Kindle Colorsoft", - "Kindle Paperwhite 12", + "Kindle Paperwhite 12/2026", "Kindle Paperwhite 11", - "Kindle 11", + "Kindle 11/2026", "Separator", "Kobo Clara 2E/BW", "Kobo Clara Colour", diff --git a/kindlecomicconverter/image.py b/kindlecomicconverter/image.py index 3b08ae8f..d2af2a67 100755 --- a/kindlecomicconverter/image.py +++ b/kindlecomicconverter/image.py @@ -98,9 +98,9 @@ class ProfileData: 'KPW34': ("Kindle Paperwhite 3/4/Oasis", (1072, 1448), Palette16, 1.0), 'K810': ("Kindle 8/10", (600, 800), Palette16, 1.0), 'KO': ("Kindle Oasis 2/3", (1264, 1680), Palette16, 1.0), - 'K11': ("Kindle 11", (1072, 1448), Palette16, 1.0), + 'K11': ("Kindle 11/2026", (1072, 1448), Palette16, 1.0), 'KPW5': ("Kindle Paperwhite 5/Signature Edition", (1236, 1648), Palette16, 1.0), - 'KPW6': ("Kindle Paperwhite 6", (1272, 1696), Palette16, 1.0), + 'KPW6': ("Kindle Paperwhite 6/2026", (1272, 1696), Palette16, 1.0), 'KS1860': ("Kindle 1860", (1860, 1920), Palette16, 1.0), 'KS1920': ("Kindle 1920", (1920, 1920), Palette16, 1.0), 'KS1240': ("Kindle 1240", (1240, 1860), Palette16, 1.0), From 69ddfb484113dd64157280e368dd2c973258cb40 Mon Sep 17 00:00:00 2001 From: Alex Xu Date: Fri, 16 Oct 2026 10:47:22 -0700 Subject: [PATCH 5/6] move scribe landscape profiles down --- kindlecomicconverter/KCC_gui.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kindlecomicconverter/KCC_gui.py b/kindlecomicconverter/KCC_gui.py index 567b79ba..919f786f 100644 --- a/kindlecomicconverter/KCC_gui.py +++ b/kindlecomicconverter/KCC_gui.py @@ -1680,10 +1680,6 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow): "Separator", "Other", "Separator", - "Kindle 1324x1986", - "Kindle 1920x1920", - "Kindle 1860x1920", - "Kindle 1240x1860", "Kindle Paperwhite 7/10", "Kindle Paperwhite 5/6", "Kindle Oasis 9/10", @@ -1696,6 +1692,10 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow): "Kindle DX", "Kindle 2", "Kindle 1", + "Kindle 1324x1986", + "Kindle 1920x1920", + "Kindle 1860x1920", + "Kindle 1240x1860", "Separator", "Kobo Aura", "Kobo Aura ONE", From 1f15bfd5c5bb84f5ae190c94408f8721b392b075 Mon Sep 17 00:00:00 2001 From: Alex Xu Date: Fri, 16 Oct 2026 13:09:28 -0700 Subject: [PATCH 6/6] add custom fixed resolutions --- README.md | 4 +++- kindlecomicconverter/KCC_gui.py | 17 ++++++++++++----- kindlecomicconverter/comic2ebook.py | 2 +- kindlecomicconverter/image.py | 20 ++++++++++++++++++++ 4 files changed, 36 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 38900937..fc779c33 100644 --- a/README.md +++ b/README.md @@ -275,7 +275,9 @@ MANDATORY: MAIN: -p PROFILE, --profile PROFILE - Device profile (Available options: K1, K2, K34, K578, KDX, KPW, KPW5, KV, KO, K11, KS, KoMT, KoG, KoGHD, KoA, KoAHD, KoAH2O, KoAO, KoN, KoC, KoCC, KoL, KoLC, KoF, KoS, KoE) + Device profile (Available options: K1, K2, KDX, K34, K57, KPW, KV, KPW34, K810, KO, K11, KPW5, KPW6, KS1860, KS1920, + KS1240, KS1324, KS, KCS, KS3, KSCS, KoMT, KoG, KoGHD, KoA, KoAHD, KoAH2O, KoAO, KoN, KoC, KoCC, KoL, KoLC, KoF, KoS, KoE, + Rmk1, Rmk2, RmkPP, RmkPPMove, OTHER, 1072x1448, 1264x1680, 1404x1872, 1536x2048, 1650x2200, 1860x2480, 2400x3200) [Default=KV] -m, --manga-style Manga style (right-to-left reading and splitting) --lightnovel Only resize images and preserve original file structure. diff --git a/kindlecomicconverter/KCC_gui.py b/kindlecomicconverter/KCC_gui.py index 919f786f..0c1c7b89 100644 --- a/kindlecomicconverter/KCC_gui.py +++ b/kindlecomicconverter/KCC_gui.py @@ -47,6 +47,7 @@ from PIL.Image import Dither from .KCC_spread_label import LabelSpreadsDialog from .shared import HTMLStripper, sanitizeTrace, walkLevel +from .image import ProfileData from .comicarchive import SEVENZIP, TAR, available_archive_tools from .comic2ebook import OS_SORT_KEY, KF7_KINDLES, flattenTree, getWorkFolder, removeNonImages, sanitizeTree, detectKindleGen from . import __version__ @@ -1649,15 +1650,20 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow): 'Label': 'KoS'}, "Kobo Elipsa": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 1, 'DefaultUpscale': True, 'ForceColor': False, 'Label': 'KoE'}, - "reMarkable 1/2/Pure": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 3, 'DefaultUpscale': True, 'ForceColor': False, + "reMarkable 1/2/Pure": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 4, 'DefaultUpscale': True, 'ForceColor': False, 'Label': 'Rmk1'}, - "reMarkable Paper Pro": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 3, 'DefaultUpscale': True, 'ForceColor': True, + "reMarkable Paper Pro": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 4, 'DefaultUpscale': True, 'ForceColor': True, 'Label': 'RmkPP'}, - "reMarkable Paper Pro Move": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 3, 'DefaultUpscale': True, 'ForceColor': True, + "reMarkable Paper Pro Move": {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 4, 'DefaultUpscale': True, 'ForceColor': True, 'Label': 'RmkPPMove'}, - "Other": {'PVOptions': False, 'ForceExpert': True, 'DefaultFormat': 1, 'DefaultUpscale': False, 'ForceColor': False, + "Other": {'PVOptions': False, 'ForceExpert': True, 'DefaultFormat': 2, 'DefaultUpscale': False, 'ForceColor': False, 'Label': 'OTHER'}, } + + for s in ProfileData.FIXED_RES_STRINGS: + self.profiles[s] = {'PVOptions': False, 'ForceExpert': False, 'DefaultFormat': 2, 'DefaultUpscale': False, 'ForceColor': False, + 'Label': s} + profilesGUI = [ "Kindle Scribe Colorsoft", "Kindle Scribe 3", @@ -1679,6 +1685,7 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow): "reMarkable 1/2/Pure", "Separator", "Other", + *ProfileData.FIXED_RES_STRINGS, "Separator", "Kindle Paperwhite 7/10", "Kindle Paperwhite 5/6", @@ -1795,7 +1802,7 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow): self.modeChange(1) for profile in profilesGUI: - if profile == "Other": + if profile == "Other" or profile in ProfileData.FIXED_RES_STRINGS: GUI.deviceBox.addItem(self.icons.deviceOther, profile) elif profile == "Separator": GUI.deviceBox.insertSeparator(GUI.deviceBox.count() + 1) diff --git a/kindlecomicconverter/comic2ebook.py b/kindlecomicconverter/comic2ebook.py index 28d88a22..9ad6472b 100755 --- a/kindlecomicconverter/comic2ebook.py +++ b/kindlecomicconverter/comic2ebook.py @@ -1698,7 +1698,7 @@ def checkOptions(options): options.white_borders = True options.bordersColor = 'white' # Disable all Kindle features for other e-readers - if options.profile == 'OTHER': + if options.profile == 'OTHER' or options.profile in image.ProfileData.FIXED_RES_STRINGS: options.panelview = False options.hq = False if 'Ko' in options.profile: diff --git a/kindlecomicconverter/image.py b/kindlecomicconverter/image.py index d2af2a67..322f4b5c 100755 --- a/kindlecomicconverter/image.py +++ b/kindlecomicconverter/image.py @@ -141,11 +141,31 @@ class ProfileData: 'RmkPPMove': ("reMarkable Paper Pro Move", (954, 1696), Palette16, 1.0), } + FIXED_RESOLUTIONS = [ + (1072, 1448), + (1264, 1680), + (1404, 1872), + (1536, 2048), + (1650, 2200), + (1860, 2480), + (2400, 3200), + ] + + FIXED_RESOLUTIONS.reverse() + + FIXED_RES_STRINGS = [f'{w}x{h}' for w, h in FIXED_RESOLUTIONS] + + ProfilesFixed = {} + for res, s in zip(FIXED_RESOLUTIONS, FIXED_RES_STRINGS): + w, h = res + ProfilesFixed[s] = (s, res, Palette16, 1.0) + Profiles = { **ProfilesKindle, **ProfilesKobo, **ProfilesRemarkable, 'OTHER': ("Other", (0, 0), Palette16, 1.0), + **ProfilesFixed }