mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
PDF Output: Dont abort when non-sfnt fonts are used, instead draw the text as outlines
This commit is contained in:
parent
ee1a933a92
commit
6bce49960c
@ -240,14 +240,17 @@ class PdfEngine(QPaintEngine):
|
|||||||
@store_error
|
@store_error
|
||||||
def drawTextItem(self, point, text_item):
|
def drawTextItem(self, point, text_item):
|
||||||
# super(PdfEngine, self).drawTextItem(point, text_item)
|
# super(PdfEngine, self).drawTextItem(point, text_item)
|
||||||
self.apply_graphics_state()
|
|
||||||
gi = self.qt_hack.get_glyphs(point, text_item)
|
gi = self.qt_hack.get_glyphs(point, text_item)
|
||||||
if not gi.indices:
|
if not gi.indices:
|
||||||
sip.delete(gi)
|
sip.delete(gi)
|
||||||
return
|
return
|
||||||
name = hash(bytes(gi.name))
|
name = hash(bytes(gi.name))
|
||||||
if name not in self.fonts:
|
if name not in self.fonts:
|
||||||
self.fonts[name] = self.create_sfnt(text_item)
|
try:
|
||||||
|
self.fonts[name] = self.create_sfnt(text_item)
|
||||||
|
except UnsupportedFont:
|
||||||
|
return super(PdfEngine, self).drawTextItem(point, text_item)
|
||||||
|
self.apply_graphics_state()
|
||||||
metrics = self.fonts[name]
|
metrics = self.fonts[name]
|
||||||
for glyph_id in gi.indices:
|
for glyph_id in gi.indices:
|
||||||
try:
|
try:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user