def test_write_new_fields(): tempfh = tempfile.NamedTemporaryFile(prefix='ttname-test-write-new-', suffix='.ttf', delete=False) tempfn = tempfh.name t = TTNameTable(_testfile) newfields = (7, 9, 10, 12, 150) for platID in (1, 3): #windows is funky of course platEncID = 1 if platID == 3 else 0 langID = 1033 if platID == 3 else 0 for i in newfields: t.getName(i, platID, platEncID, langID, True).string = 'Cake' t.save(tempfh) tempfh.close() new_t = TTNameTable(tempfn) for i in newfields: assert new_t.getName(i, 1, 0, 0).string == 'Cake' os.unlink(tempfn)
def test_write_existing_fields(): tempfh = tempfile.NamedTemporaryFile(prefix='ttname-test-write-existing-', suffix='.ttf', delete=False) tempfn = tempfh.name t = TTNameTable(_testfile) for platID in (1, 3): #windows is funky of course platEncID = 1 if platID == 3 else 0 langID = 1033 if platID == 3 else 0 for nameID in (1, 3, 4, 16): t.getName(nameID, platID, platEncID, langID).string = 'Potato Sans' t.getName(6, platID, platEncID, langID).string = 'PotatoSans' t.save(tempfh) tempfh.close() new_t = TTNameTable(tempfn) for i in (1, 3, 4, 16): assert new_t.getName(i, 1, 0, 0).string == 'Potato Sans' fc = get_fontconfig_data(tempfn) assert fc['family'] == 'Potato Sans' assert fc['style'] == 'Book' assert fc['fullname'] == 'Potato Sans' assert fc['postscriptname'] == 'PotatoSans' os.unlink(tempfn)