Visual TrueType Private Tables
TSI0
: Glyph Program Text Indices
TSI{0,1,2,3,5} are private tables used by Microsoft Visual TrueType (VTT) tool to store its hinting source data.
TSI0 is the index table containing the lengths and offsets for the glyph programs and ‘extra’ programs (‘fpgm’, ‘prep’, and ‘cvt’) that are contained in the TSI1 table.
TSI1
: Glyph Program Text UTF-8 Text Dump
TSI{0,1,2,3,5} are private tables used by Microsoft Visual TrueType (VTT) tool to store its hinting source data.
TSI1 contains the text of the glyph programs in the form of low-level assembly code, as well as the ‘extra’ programs ‘fpgm’, ‘ppgm’ (i.e. ‘prep’), and ‘cvt’.
TSI2
: VTT Talk Text Indices
TSI{0,1,2,3,5} are private tables used by Microsoft Visual TrueType (VTT) tool to store its hinting source data.
TSI2 is the index table containing the lengths and offsets for the glyph programs that are contained in the TSI3 table. It uses the same format as the TSI0 table.
TSI3
: VTT Talk UTF-8 Text Dump
TSI{0,1,2,3,5} are private tables used by Microsoft Visual TrueType (VTT) tool to store its hinting source data.
TSI3 contains the text of the glyph programs in the form of ‘VTTTalk’ code.
- class fontTools.ttLib.tables.T_S_I__3.table_T_S_I__3(tag=None)[source]
- compile(ttFont)
- decompile(data, ttFont)
- dependencies = []
- extras = {65530: 'reserved0', 65531: 'reserved1', 65532: 'reserved2', 65533: 'reserved3'}
- fromXML(name, attrs, content, ttFont)
- indextable = 'TSI2'
- property log
- merge(m, tables)
- toXML(writer, ttFont)
TSI5
: VTT Character Group Flag
TSI{0,1,2,3,5} are private tables used by Microsoft Visual TrueType (VTT) tool to store its hinting source data.
TSI5 contains the VTT character groups.
TSIB
TSIC
: VTT Variation CVT Window Source
- class fontTools.ttLib.tables.T_S_I_C_.table_T_S_I_C_(tag=None)[source]
- compile(font)
Create a top-level OTTableWriter for the GPOS/GSUB table. Call the compile method for the the table
- for each ‘converter’ record in the table converter list
- call converter’s write method for each item in the value.
For simple items, the write method adds a string to the
writer’s self.items list. - For Struct/Table/Subtable items, it add first adds new writer to the to the writer’s self.items, then calls the item’s compile method. This creates a tree of writers, rooted at the GUSB/GPOS writer, with each writer representing a table, and the writer.items list containing the child data strings and writers.
- call the getAllData method
call _doneWriting, which removes duplicates call _gatherTables. This traverses the tables, adding unique occurences to a flat list of tables Traverse the flat list of tables, calling getDataLength on each to update their position Traverse the flat list of tables again, calling getData each get the data in the table, now that pos’s and offset are known.
If a lookup subtable overflows an offset, we have to start all over.
- decompile(data, font)
- dependencies = []
- fromXML(name, attrs, content, font)
- merge(m, tables)
- toXML(writer, font)