Пример #1
0
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
Пример #2
0
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
Пример #3
0
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
Пример #4
0
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
Пример #5
0
 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
Пример #6
0
 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
Пример #7
0
    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"))
Пример #8
0
    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"))
Пример #9
0
    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),
        })
Пример #10
0
    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),
            }
        )