# 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)

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

## `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)
  compile(ttFont)
  decompile(data, ttFont)
  dependencies = []
  extras = {65530: 'ppgm', 65531: 'cvt', 65532: 'reserved', 65533: 'fpgm'}
  fromXML(name, attrs, content, ttFont)
  indextable = 'TSI0'
  property log
  merge(m, tables)
  toXML(writer, ttFont)

## `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)
  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)
  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)
  compile(ttFont)
  decompile(data, ttFont)
  dependencies = []
  fromXML(name, attrs, content, ttFont)
  merge(m, tables)
  toXML(writer, ttFont)

## `TSIB`

class fontTools.ttLib.tables.T_S_I_B_.table_T_S_I_B_(tag=None)
  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)
  compile(font)

    Compiles the table into binary. Called automatically on save.

  decompile(data, font)

    Create an object from the binary data. Called automatically on access.

  dependencies = []
  ensureDecompiled(recurse=True)
  fromXML(name, attrs, content, font)
  merge(m, tables)
  toXML(writer, font)
  tryPackingFontTools(writer)
  tryPackingHarfbuzz(writer, hb_first_error_logged)
  tryResolveOverflow(font, e, lastOverflowRecord)

## `TSID`: VTT GDEF Table Text Source

class fontTools.ttLib.tables.T_S_I_D_.table_T_S_I_D_(tag=None)
  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)
  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)
  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)
  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)
  compile(ttFont)
  decompile(data, ttFont)
  dependencies = []
  fromXML(name, attrs, content, ttFont)
  merge(m, tables)
  toXML(writer, ttFont)