From 49ee941c6dea83cc1fae21dca39e7274a75f1971 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 17 Jan 2019 20:11:21 +0530 Subject: [PATCH] PDF Output: Fix conversion failing when fonts with non-English names are used. Fixes #1812218 [convert to pdf failed](https://bugs.launchpad.net/calibre/+bug/1812218) --- src/calibre/ebooks/pdf/render/fonts.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/calibre/ebooks/pdf/render/fonts.py b/src/calibre/ebooks/pdf/render/fonts.py index 48b48fe919..19acaa8dc9 100644 --- a/src/calibre/ebooks/pdf/render/fonts.py +++ b/src/calibre/ebooks/pdf/render/fonts.py @@ -108,6 +108,10 @@ class CMap(Stream): for m in maps: meat = '\n'.join('%s %s'%(k, v) for k, v in m.iteritems()) mapping.append('%d beginbfchar\n%s\nendbfchar'%(len(m), meat)) + try: + name = name.encode('ascii').decode('ascii') + except Exception: + name = uuid4() self.write(self.skeleton.format(name=name, mapping='\n'.join(mapping)))