34 lines
987 B
Python
34 lines
987 B
Python
from __future__ import print_function, absolute_import
|
|
from fontTools.misc.py23 import *
|
|
from fontTools.ttLib.tables._k_e_r_n import KernTable_format_0
|
|
import pytest
|
|
|
|
|
|
class MockFont(object):
|
|
|
|
def getGlyphOrder(self):
|
|
return ["glyph00000", "glyph00001", "glyph00002", "glyph00003"]
|
|
|
|
def getGlyphName(self, glyphID):
|
|
return "glyph%.5d" % glyphID
|
|
|
|
|
|
class KernTable_format_0_Test(object):
|
|
|
|
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())
|
|
assert subtable[("glyph00001", "glyph00003")] == 1
|
|
assert subtable[("glyph00001", "glyph65535")] == 2
|
|
|
|
|
|
if __name__ == "__main__":
|
|
import sys
|
|
sys.exit(pytest.main(sys.argv))
|