2015-06-25 18:17:04 -07:00
|
|
|
from __future__ import print_function, absolute_import
|
|
|
|
from fontTools.misc.py23 import *
|
|
|
|
from fontTools import ttLib
|
|
|
|
import unittest
|
2017-01-15 21:45:57 +00:00
|
|
|
from fontTools.ttLib.tables._k_e_r_n import KernTable_format_0
|
2015-06-25 18:17:04 -07:00
|
|
|
|
|
|
|
class MockFont(object):
|
|
|
|
|
|
|
|
def getGlyphOrder(self):
|
|
|
|
return ["glyph00000", "glyph00001", "glyph00002", "glyph00003"]
|
|
|
|
|
|
|
|
def getGlyphName(self, glyphID):
|
|
|
|
return "glyph%.5d" % glyphID
|
|
|
|
|
|
|
|
class KernTable_format_0_Test(unittest.TestCase):
|
|
|
|
|
|
|
|
def test_decompileBadGlyphId(self):
|
|
|
|
subtable = KernTable_format_0()
|
|
|
|
subtable.apple = False
|
|
|
|
subtable.decompile( b'\x00' * 6
|
|
|
|
+ b'\x00' + b'\x02' + b'\x00' * 6
|
|
|
|
+ b'\x00' + b'\x01' + b'\x00' + b'\x03' + b'\x00' + b'\x01'
|
|
|
|
+ b'\x00' + b'\x01' + b'\xFF' + b'\xFF' + b'\x00' + b'\x02',
|
|
|
|
MockFont())
|
|
|
|
self.assertEqual(subtable[("glyph00001", "glyph00003")], 1)
|
|
|
|
self.assertEqual(subtable[("glyph00001", "glyph65535")], 2)
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
2017-01-11 13:05:35 +00:00
|
|
|
import sys
|
|
|
|
sys.exit(unittest.main())
|