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.

fontTools.ttLib.tables.T_S_I__0.fixlongs(glyphID, textLength, textOffset)[source]
class fontTools.ttLib.tables.T_S_I__0.table_T_S_I__0(tag=None)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = ['TSI1']
fromXML(name, attrs, content, ttFont)
merge(m, tables)
set(indices, extra_indices)[source]
toXML(writer, ttFont)[source]

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’.

class fontTools.ttLib.tables.T_S_I__1.table_T_S_I__1(tag=None)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = []
extras = {65530: 'ppgm', 65531: 'cvt', 65532: 'reserved', 65533: 'fpgm'}
fromXML(name, attrs, content, ttFont)[source]
indextable = 'TSI0'
property log
merge(m, tables)
toXML(writer, ttFont)[source]

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.

class fontTools.ttLib.tables.T_S_I__2.table_T_S_I__2(tag=None)[source]
compile(ttFont)
decompile(data, ttFont)
dependencies = ['TSI3']
fromXML(name, attrs, content, ttFont)
merge(m, tables)
set(indices, extra_indices)
toXML(writer, ttFont)

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.

class fontTools.ttLib.tables.T_S_I__5.table_T_S_I__5(tag=None)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = []
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
toXML(writer, ttFont)[source]

TSIB

class fontTools.ttLib.tables.T_S_I_B_.table_T_S_I_B_(tag=None)[source]
compile(ttFont)
decompile(data, ttFont)
dependencies = []
fromXML(name, attrs, content, ttFont)
merge(m, tables)
toXML(writer, ttFont)

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)

TSID: VTT GDEF Table Text Source

class fontTools.ttLib.tables.T_S_I_D_.table_T_S_I_D_(tag=None)[source]
compile(ttFont)
decompile(data, ttFont)
dependencies = []
fromXML(name, attrs, content, ttFont)
merge(m, tables)
toXML(writer, ttFont)

TSIJ: VTT JSTF Table Text Source

class fontTools.ttLib.tables.T_S_I_J_.table_T_S_I_J_(tag=None)[source]
compile(ttFont)
decompile(data, ttFont)
dependencies = []
fromXML(name, attrs, content, ttFont)
merge(m, tables)
toXML(writer, ttFont)

TSIP: VTT GPOS Table Text Source

class fontTools.ttLib.tables.T_S_I_P_.table_T_S_I_P_(tag=None)[source]
compile(ttFont)
decompile(data, ttFont)
dependencies = []
fromXML(name, attrs, content, ttFont)
merge(m, tables)
toXML(writer, ttFont)

TSIS: VTT GSUB Table Text Source

class fontTools.ttLib.tables.T_S_I_S_.table_T_S_I_S_(tag=None)[source]
compile(ttFont)
decompile(data, ttFont)
dependencies = []
fromXML(name, attrs, content, ttFont)
merge(m, tables)
toXML(writer, ttFont)

TSIV

class fontTools.ttLib.tables.T_S_I_V_.table_T_S_I_V_(tag=None)[source]
compile(ttFont)
decompile(data, ttFont)
dependencies = []
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
toXML(writer, ttFont)[source]