diff options
Diffstat (limited to 'Lib/fontTools/fontBuilder.py')
-rw-r--r-- | Lib/fontTools/fontBuilder.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/Lib/fontTools/fontBuilder.py b/Lib/fontTools/fontBuilder.py index 8854c164..ef14b045 100644 --- a/Lib/fontTools/fontBuilder.py +++ b/Lib/fontTools/fontBuilder.py @@ -21,6 +21,7 @@ that works: fb.setupHorizontalHeader() fb.setupNameTable(...) fb.setupOS2() + fb.addOpenTypeFeatures(...) fb.setupPost() fb.save(...) @@ -100,9 +101,10 @@ charString = pen.getCharString() charStrings = {".notdef": charString, "A": charString, "a": charString, ".null": charString} fb.setupCFF(nameStrings['psName'], {"FullName": nameStrings['psName']}, charStrings, {}) +lsb = {gn: cs.calcBounds(None)[0] for gn, cs in charStrings.items()} metrics = {} for gn, advanceWidth in advanceWidths.items(): - metrics[gn] = (advanceWidth, 100) # XXX lsb from glyph + metrics[gn] = (advanceWidth, lsb[gn]) fb.setupHorizontalMetrics(metrics) fb.setupHorizontalHeader(ascent=824, descent=200) @@ -298,7 +300,7 @@ _OS2Defaults = dict( sCapHeight = 0, usDefaultChar = 0, # .notdef usBreakChar = 32, # space - usMaxContext = 2, # just kerning + usMaxContext = 0, usLowerOpticalPointSize = 0, usUpperOpticalPointSize = 0, ) @@ -690,8 +692,9 @@ class FontBuilder(object): """Create a new `post` table and initialize it with default values, which can be overridden by keyword arguments. """ + isCFF2 = 'CFF2' in self.font postTable = self._initTableWithValues("post", _postDefaults, values) - if self.isTTF and keepGlyphNames: + if (self.isTTF or isCFF2) and keepGlyphNames: postTable.formatType = 2.0 postTable.extraNames = [] postTable.mapping = {} |