mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Generate covers: Fix & in the series causing incorrect formatting of series number. Fixes #1638759 [Cover Generator Format](https://bugs.launchpad.net/calibre/+bug/1638759)
This commit is contained in:
parent
d3602de25e
commit
7003a4e90b
@ -105,7 +105,7 @@ def parse_text_formatting(text):
|
|||||||
if tag in {'b', 'strong', 'i', 'em'}:
|
if tag in {'b', 'strong', 'i', 'em'}:
|
||||||
open_ranges.append([tag, offset, -1])
|
open_ranges.append([tag, offset, -1])
|
||||||
else:
|
else:
|
||||||
offset += len(tok)
|
offset += len(tok.replace('&', '&'))
|
||||||
text.append(tok)
|
text.append(tok)
|
||||||
text = ''.join(text)
|
text = ''.join(text)
|
||||||
formats = []
|
formats = []
|
||||||
@ -718,16 +718,18 @@ def generate_masthead(title, output_path=None, width=600, height=60, as_qimage=F
|
|||||||
|
|
||||||
|
|
||||||
def test(scale=0.25):
|
def test(scale=0.25):
|
||||||
from PyQt5.Qt import QLabel, QApplication, QPixmap, QMainWindow, QWidget, QScrollArea, QGridLayout
|
from PyQt5.Qt import QLabel, QPixmap, QMainWindow, QWidget, QScrollArea, QGridLayout
|
||||||
app = QApplication([])
|
from calibre.gui2 import Application
|
||||||
|
app = Application([])
|
||||||
mi = Metadata('Unknown', ['Kovid Goyal', 'John & Doe', 'Author'])
|
mi = Metadata('Unknown', ['Kovid Goyal', 'John & Doe', 'Author'])
|
||||||
mi.series = 'A series of styles'
|
mi.series = 'A series & styles'
|
||||||
m = QMainWindow()
|
m = QMainWindow()
|
||||||
sa = QScrollArea(m)
|
sa = QScrollArea(m)
|
||||||
w = QWidget(m)
|
w = QWidget(m)
|
||||||
sa.setWidget(w)
|
sa.setWidget(w)
|
||||||
l = QGridLayout(w)
|
l = QGridLayout(w)
|
||||||
w.setLayout(l), l.setSpacing(30)
|
w.setLayout(l), l.setSpacing(30)
|
||||||
|
scale *= w.devicePixelRatioF()
|
||||||
labels = []
|
labels = []
|
||||||
for r, color in enumerate(sorted(default_color_themes)):
|
for r, color in enumerate(sorted(default_color_themes)):
|
||||||
for c, style in enumerate(sorted(all_styles())):
|
for c, style in enumerate(sorted(all_styles())):
|
||||||
@ -736,6 +738,7 @@ def test(scale=0.25):
|
|||||||
prefs = override_prefs(cprefs, override_color_theme=color, override_style=style)
|
prefs = override_prefs(cprefs, override_color_theme=color, override_style=style)
|
||||||
scale_cover(prefs, scale)
|
scale_cover(prefs, scale)
|
||||||
img = generate_cover(mi, prefs=prefs, as_qimage=True)
|
img = generate_cover(mi, prefs=prefs, as_qimage=True)
|
||||||
|
img.setDevicePixelRatio(w.devicePixelRatioF())
|
||||||
la = QLabel()
|
la = QLabel()
|
||||||
la.setPixmap(QPixmap.fromImage(img))
|
la.setPixmap(QPixmap.fromImage(img))
|
||||||
l.addWidget(la, r, c)
|
l.addWidget(la, r, c)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user