diff --git a/src/calibre/utils/fonts/sfnt/cff/writer.py b/src/calibre/utils/fonts/sfnt/cff/writer.py index 6f77dc4b98..0e229c8938 100644 --- a/src/calibre/utils/fonts/sfnt/cff/writer.py +++ b/src/calibre/utils/fonts/sfnt/cff/writer.py @@ -124,10 +124,11 @@ class Subset(object): charsets = Charsets(strings) charsets.extend(cff.charset[1:]) # .notdef is not included + endchar_operator = bytes(bytearray([14])) for i in xrange(self.cff.num_glyphs): cname = self.cff.charset.safe_lookup(i) ok = cname in keep_charnames - cs = self.cff.char_strings[i] if ok else b'' + cs = self.cff.char_strings[i] if ok else endchar_operator char_strings.append(cs) if ok: self.charname_map[cname] = i diff --git a/src/calibre/utils/fonts/sfnt/subset.py b/src/calibre/utils/fonts/sfnt/subset.py index c0dac76e30..1f675a73ba 100644 --- a/src/calibre/utils/fonts/sfnt/subset.py +++ b/src/calibre/utils/fonts/sfnt/subset.py @@ -96,12 +96,7 @@ def subset(raw, individual_chars, ranges=()): subset_truetype(sfnt, character_map) elif b'CFF ' in sfnt: # PostScript Outlines - from calibre.utils.config_base import tweaks - if tweaks['subset_cff_table']: - subset_postscript(sfnt, character_map) - else: - raise UnsupportedFont('This font contains PostScript outlines, ' - 'subsetting not supported') + subset_postscript(sfnt, character_map) else: raise UnsupportedFont('This font does not contain TrueType ' 'or PostScript outlines')