1from fontTools.ttLib import TTFont 2from fontTools.ttLib.tables.DefaultTable import DefaultTable 3 4font_path = "myfont.ttf" 5output_path = "myfont_patched.ttf" 6 7table_tag = "DSIG" 8 9 10# Get raw table data from the source font 11 12font = TTFont(font_path) 13raw_data = font.getTableData(table_tag) 14 15 16# Do something with the raw table data 17# This example just sets an empty DSIG table. 18 19raw_data = b"\0\0\0\1\0\0\0\0" 20 21 22# Write the data back to the font 23 24# We could re-use the existing table when the source and target font are 25# identical, but let's make a new empty table to be more universal. 26table = DefaultTable(table_tag) 27table.data = raw_data 28 29# Add the new table back into the source font and save under a new name. 30font[table_tag] = table 31font.save(output_path) 32