def font(indextable): font = TTFont() # ['a', 'b', 'c', ...] ch = 0x61 n = len(indextable.indices) font.glyphOrder = [unichr(i) for i in range(ch, ch+n)] font['TSI0'] = indextable return font
def empty_font(): font = TTFont() font.glyphOrder = [] indextable = table_T_S_I__0() indextable.set([], [(0xFFFA, 0, 0), (0xFFFB, 0, 0), (0xFFFC, 0, 0), (0xFFFD, 0, 0)]) font['TSI0'] = indextable return font
def font(indextable): font = TTFont() # ['a', 'b', 'c', ...] ch = 0x61 n = len(indextable.indices) font.glyphOrder = [chr(i) for i in range(ch, ch + n)] font['TSI0'] = indextable return font
def makeFont(self, numGlyphs, numberOfMetrics): font = TTFont() maxp = font['maxp'] = newTable('maxp') maxp.numGlyphs = numGlyphs # from A to ... font.glyphOrder = [chr(i) for i in range(65, 65+numGlyphs)] headerTag = self.tableClass.headerTag font[headerTag] = newTable(headerTag) numberOfMetricsName = self.tableClass.numberOfMetricsName setattr(font[headerTag], numberOfMetricsName, numberOfMetrics) return font
def makeFont(self, numGlyphs, numberOfMetrics): font = TTFont() maxp = font['maxp'] = newTable('maxp') maxp.numGlyphs = numGlyphs # from A to ... font.glyphOrder = [chr(i) for i in range(65, 65 + numGlyphs)] headerTag = self.tableClass.headerTag font[headerTag] = newTable(headerTag) numberOfMetricsName = self.tableClass.numberOfMetricsName setattr(font[headerTag], numberOfMetricsName, numberOfMetrics) return font
def test_compile_no_header_table(self): font = TTFont() maxp = font['maxp'] = newTable('maxp') maxp.numGlyphs = 3 font.glyphOrder = [chr(i) for i in range(65, 68)] mtxTable = font[self.tag] = newTable(self.tag) mtxTable.metrics = { "A": (400, 30), "B": (400, 40), "C": (400, 50), } self.assertNotIn(self.tableClass.headerTag, font) data = mtxTable.compile(font) self.assertEqual(data, deHexStr("0190 001E 0190 0028 0190 0032"))
def test_decompile_no_header_table(self): font = TTFont() maxp = font['maxp'] = newTable('maxp') maxp.numGlyphs = 3 font.glyphOrder = ["A", "B", "C"] self.assertNotIn(self.tableClass.headerTag, font) data = deHexStr("0190 001E 0190 0028 0190 0032") mtxTable = newTable(self.tag) mtxTable.decompile(data, font) self.assertEqual(mtxTable.metrics, { "A": (400, 30), "B": (400, 40), "C": (400, 50), })
def test_decompile_no_header_table(self): font = TTFont() maxp = font['maxp'] = newTable('maxp') maxp.numGlyphs = 3 font.glyphOrder = ["A", "B", "C"] self.assertNotIn(self.tableClass.headerTag, font) data = deHexStr("0190 001E 0190 0028 0190 0032") mtxTable = newTable(self.tag) mtxTable.decompile(data, font) self.assertEqual( mtxTable.metrics, { "A": (400, 30), "B": (400, 40), "C": (400, 50), } )