tables

This folder is a subpackage of fontTools.ttLib. Each module here is a specialized TT/OT table converter: they can convert raw data to Python objects and vice versa. Usually you don’t need to use the modules directly: they are imported and used automatically when needed by fontTools.ttLib.

If you are writing you own table converter the following is important.

The modules here have pretty strange names: this is due to the fact that we need to map TT table tags (which are case sensitive) to filenames (which on Mac and Win aren’t case sensitive) as well as to Python identifiers. The latter means it can only contain [A-Za-z0-9_] and cannot start with a number.

fontTools.ttLib provides functions to expand a tag into the format used here:

>>> from fontTools import ttLib
>>> ttLib.tagToIdentifier("FOO ")
'F_O_O_'
>>> ttLib.tagToIdentifier("cvt ")
'_c_v_t'
>>> ttLib.tagToIdentifier("OS/2")
'O_S_2f_2'
>>> ttLib.tagToIdentifier("glyf")
'_g_l_y_f'
>>>

And vice versa:

>>> ttLib.identifierToTag("F_O_O_")
'FOO '
>>> ttLib.identifierToTag("_c_v_t")
'cvt '
>>> ttLib.identifierToTag("O_S_2f_2")
'OS/2'
>>> ttLib.identifierToTag("_g_l_y_f")
'glyf'
>>>

Eg. the ‘glyf’ table converter lives in a Python file called:

_g_l_y_f.py

The converter itself is a class, named “table_” + expandedtag. Eg:

class table__g_l_y_f:
        etc.

Note that if you _do_ need to use such modules or classes manually, there are two convenient API functions that let you find them by tag:

>>> ttLib.getTableModule('glyf')
<module 'ttLib.tables._g_l_y_f'>
>>> ttLib.getTableClass('glyf')
<class ttLib.tables._g_l_y_f.table__g_l_y_f at 645f400>
>>

You must subclass from fontTools.ttLib.tables.DefaultTable.DefaultTable. It provides some default behavior, as well as a constructor method (__init__) that you don’t need to override.

Your converter should minimally provide two methods:

class table_F_O_O_(DefaultTable.DefaultTable): # converter for table 'FOO '

    def decompile(self, data, ttFont):
        # 'data' is the raw table data. Unpack it into a
        # Python data structure.
        # 'ttFont' is a ttLib.TTfile instance, enabling you to
        # refer to other tables. Do ***not*** keep a reference to
        # it: it will cause a circular reference (ttFont saves
        # a reference to us), and that means we'll be leaking
        # memory. If you need to use it in other methods, just
        # pass it around as a method argument.

    def compile(self, ttFont):
        # Return the raw data, as converted from the Python
        # data structure.
        # Again, 'ttFont' is there so you can access other tables.
        # Same warning applies.

If you want to support TTX import/export as well, you need to provide two additional methods:

def toXML(self, writer, ttFont):
        # XXX

def fromXML(self, (name, attrs, content), ttFont):
        # XXX

_a_n_k_r

class fontTools.ttLib.tables._a_n_k_r.table__a_n_k_r(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)
subset_glyphs(s)
toXML(writer, font)

_a_v_a_r

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

_b_s_l_n

class fontTools.ttLib.tables._b_s_l_n.table__b_s_l_n(tag=None)[source]
closure_glyphs(s)
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)
subset_glyphs(s)
toXML(writer, font)

_c_i_d_g

class fontTools.ttLib.tables._c_i_d_g.table__c_i_d_g(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)

_c_m_a_p

class fontTools.ttLib.tables._c_m_a_p.CmapSubtable(format)[source]
decompileHeader(data, ttFont)[source]
getEncoding(default=None)[source]

Returns the Python encoding name for this cmap subtable based on its platformID, platEncID, and language. If encoding for these values is not known, by default None is returned. That can be overriden by passing a value to the default argument.

Note that if you want to choose a “preferred” cmap subtable, most of the time self.isUnicode() is what you want as that one only returns true for the modern, commonly used, Unicode-compatible triplets, not the legacy ones.

static getSubtableClass(format)[source]

Return the subtable class for a format.

isSymbol()[source]
isUnicode()[source]
static newSubtable(format)[source]

Return a new instance of a subtable for format.

toXML(writer, ttFont)[source]
class fontTools.ttLib.tables._c_m_a_p.SubHeader[source]
class fontTools.ttLib.tables._c_m_a_p.cmap_format_0(format)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
decompileHeader(data, ttFont)
fromXML(name, attrs, content, ttFont)[source]
getEncoding(default=None)

Returns the Python encoding name for this cmap subtable based on its platformID, platEncID, and language. If encoding for these values is not known, by default None is returned. That can be overriden by passing a value to the default argument.

Note that if you want to choose a “preferred” cmap subtable, most of the time self.isUnicode() is what you want as that one only returns true for the modern, commonly used, Unicode-compatible triplets, not the legacy ones.

static getSubtableClass(format)

Return the subtable class for a format.

isSymbol()
isUnicode()
static newSubtable(format)

Return a new instance of a subtable for format.

toXML(writer, ttFont)
class fontTools.ttLib.tables._c_m_a_p.cmap_format_12(format=12)[source]
compile(ttFont)
decompile(data, ttFont)
decompileHeader(data, ttFont)
fromXML(name, attrs, content, ttFont)
getEncoding(default=None)

Returns the Python encoding name for this cmap subtable based on its platformID, platEncID, and language. If encoding for these values is not known, by default None is returned. That can be overriden by passing a value to the default argument.

Note that if you want to choose a “preferred” cmap subtable, most of the time self.isUnicode() is what you want as that one only returns true for the modern, commonly used, Unicode-compatible triplets, not the legacy ones.

static getSubtableClass(format)

Return the subtable class for a format.

isSymbol()
isUnicode()
static newSubtable(format)

Return a new instance of a subtable for format.

toXML(writer, ttFont)
class fontTools.ttLib.tables._c_m_a_p.cmap_format_12_or_13(format)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
decompileHeader(data, ttFont)[source]
fromXML(name, attrs, content, ttFont)[source]
getEncoding(default=None)

Returns the Python encoding name for this cmap subtable based on its platformID, platEncID, and language. If encoding for these values is not known, by default None is returned. That can be overriden by passing a value to the default argument.

Note that if you want to choose a “preferred” cmap subtable, most of the time self.isUnicode() is what you want as that one only returns true for the modern, commonly used, Unicode-compatible triplets, not the legacy ones.

static getSubtableClass(format)

Return the subtable class for a format.

isSymbol()
isUnicode()
static newSubtable(format)

Return a new instance of a subtable for format.

toXML(writer, ttFont)[source]
class fontTools.ttLib.tables._c_m_a_p.cmap_format_13(format=13)[source]
compile(ttFont)
decompile(data, ttFont)
decompileHeader(data, ttFont)
fromXML(name, attrs, content, ttFont)
getEncoding(default=None)

Returns the Python encoding name for this cmap subtable based on its platformID, platEncID, and language. If encoding for these values is not known, by default None is returned. That can be overriden by passing a value to the default argument.

Note that if you want to choose a “preferred” cmap subtable, most of the time self.isUnicode() is what you want as that one only returns true for the modern, commonly used, Unicode-compatible triplets, not the legacy ones.

static getSubtableClass(format)

Return the subtable class for a format.

isSymbol()
isUnicode()
static newSubtable(format)

Return a new instance of a subtable for format.

toXML(writer, ttFont)
class fontTools.ttLib.tables._c_m_a_p.cmap_format_14(format)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
decompileHeader(data, ttFont)[source]
fromXML(name, attrs, content, ttFont)[source]
getEncoding(default=None)

Returns the Python encoding name for this cmap subtable based on its platformID, platEncID, and language. If encoding for these values is not known, by default None is returned. That can be overriden by passing a value to the default argument.

Note that if you want to choose a “preferred” cmap subtable, most of the time self.isUnicode() is what you want as that one only returns true for the modern, commonly used, Unicode-compatible triplets, not the legacy ones.

static getSubtableClass(format)

Return the subtable class for a format.

isSymbol()
isUnicode()
static newSubtable(format)

Return a new instance of a subtable for format.

toXML(writer, ttFont)[source]
class fontTools.ttLib.tables._c_m_a_p.cmap_format_2(format)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
decompileHeader(data, ttFont)
fromXML(name, attrs, content, ttFont)[source]
getEncoding(default=None)

Returns the Python encoding name for this cmap subtable based on its platformID, platEncID, and language. If encoding for these values is not known, by default None is returned. That can be overriden by passing a value to the default argument.

Note that if you want to choose a “preferred” cmap subtable, most of the time self.isUnicode() is what you want as that one only returns true for the modern, commonly used, Unicode-compatible triplets, not the legacy ones.

static getSubtableClass(format)

Return the subtable class for a format.

isSymbol()
isUnicode()
static newSubtable(format)

Return a new instance of a subtable for format.

setIDDelta(subHeader)[source]
toXML(writer, ttFont)
class fontTools.ttLib.tables._c_m_a_p.cmap_format_4(format)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
decompileHeader(data, ttFont)
fromXML(name, attrs, content, ttFont)[source]
getEncoding(default=None)

Returns the Python encoding name for this cmap subtable based on its platformID, platEncID, and language. If encoding for these values is not known, by default None is returned. That can be overriden by passing a value to the default argument.

Note that if you want to choose a “preferred” cmap subtable, most of the time self.isUnicode() is what you want as that one only returns true for the modern, commonly used, Unicode-compatible triplets, not the legacy ones.

static getSubtableClass(format)

Return the subtable class for a format.

isSymbol()
isUnicode()
static newSubtable(format)

Return a new instance of a subtable for format.

toXML(writer, ttFont)
class fontTools.ttLib.tables._c_m_a_p.cmap_format_6(format)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
decompileHeader(data, ttFont)
fromXML(name, attrs, content, ttFont)[source]
getEncoding(default=None)

Returns the Python encoding name for this cmap subtable based on its platformID, platEncID, and language. If encoding for these values is not known, by default None is returned. That can be overriden by passing a value to the default argument.

Note that if you want to choose a “preferred” cmap subtable, most of the time self.isUnicode() is what you want as that one only returns true for the modern, commonly used, Unicode-compatible triplets, not the legacy ones.

static getSubtableClass(format)

Return the subtable class for a format.

isSymbol()
isUnicode()
static newSubtable(format)

Return a new instance of a subtable for format.

toXML(writer, ttFont)
class fontTools.ttLib.tables._c_m_a_p.cmap_format_unknown(format)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
decompileHeader(data, ttFont)[source]
fromXML(name, attrs, content, ttFont)[source]
getEncoding(default=None)

Returns the Python encoding name for this cmap subtable based on its platformID, platEncID, and language. If encoding for these values is not known, by default None is returned. That can be overriden by passing a value to the default argument.

Note that if you want to choose a “preferred” cmap subtable, most of the time self.isUnicode() is what you want as that one only returns true for the modern, commonly used, Unicode-compatible triplets, not the legacy ones.

static getSubtableClass(format)

Return the subtable class for a format.

isSymbol()
isUnicode()
static newSubtable(format)

Return a new instance of a subtable for format.

toXML(writer, ttFont)[source]
fontTools.ttLib.tables._c_m_a_p.cvtFromUVS(val)[source]
fontTools.ttLib.tables._c_m_a_p.cvtToUVS(threeByteString)[source]
fontTools.ttLib.tables._c_m_a_p.splitRange(startCode, endCode, cmap)[source]
class fontTools.ttLib.tables._c_m_a_p.table__c_m_a_p(tag=None)[source]
buildReversed()[source]

Returns a reverse cmap such as {‘one’:{0x31}, ‘A’:{0x41,0x391}}.

The values are sets of Unicode codepoints because some fonts map different codepoints to the same glyph. For example, U+0041 LATIN CAPITAL LETTER A and U+0391 GREEK CAPITAL LETTER ALPHA are sometimes the same glyph.

closure_glyphs(s)
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = []
fromXML(name, attrs, content, ttFont)[source]
getBestCmap(cmapPreferences=((3, 10), (0, 6), (0, 4), (3, 1), (0, 3), (0, 2), (0, 1), (0, 0)))[source]

Return the ‘best’ unicode cmap dictionary available in the font, or None, if no unicode cmap subtable is available.

By default it will search for the following (platformID, platEncID) pairs:

(3, 10), (0, 6), (0, 4), (3, 1), (0, 3), (0, 2), (0, 1), (0, 0)

This can be customized via the cmapPreferences argument.

getcmap(platformID, platEncID)[source]
merge(m, tables)
prune_pre_subset(font, options)
subset_glyphs(s)
toXML(writer, ttFont)[source]

_c_v_a_r

class fontTools.ttLib.tables._c_v_a_r.table__c_v_a_r(tag=None)[source]
compile(ttFont, useSharedPoints=False)[source]
decompile(data, ttFont)[source]
dependencies = ['cvt ', 'fvar']
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
toXML(writer, ttFont)[source]

_c_v_t

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

_f_e_a_t

class fontTools.ttLib.tables._f_e_a_t.table__f_e_a_t(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)

_f_p_g_m

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

_f_v_a_r

class fontTools.ttLib.tables._f_v_a_r.Axis[source]
compile()[source]
decompile(data)[source]
fromXML(name, _attrs, content, ttFont)[source]
toXML(writer, ttFont)[source]
class fontTools.ttLib.tables._f_v_a_r.NamedInstance[source]
compile(axisTags, includePostScriptName)[source]
decompile(data, axisTags)[source]
fromXML(name, attrs, content, ttFont)[source]
toXML(writer, ttFont)[source]
class fontTools.ttLib.tables._f_v_a_r.table__f_v_a_r(tag=None)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = ['name']
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
toXML(writer, ttFont)[source]

_g_a_s_p

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

_g_c_i_d

class fontTools.ttLib.tables._g_c_i_d.table__g_c_i_d(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)

_g_l_y_f

_g_l_y_f.py – Converter classes for the ‘glyf’ table.

class fontTools.ttLib.tables._g_l_y_f.CompositeMaxpValues(nPoints, nContours, maxComponentDepth)
count(value, /)

Return number of occurrences of value.

index(value, start=0, stop=9223372036854775807, /)

Return first index of value.

Raises ValueError if the value is not present.

maxComponentDepth

Alias for field number 2

nContours

Alias for field number 1

nPoints

Alias for field number 0

class fontTools.ttLib.tables._g_l_y_f.Glyph(data='')[source]
compact(glyfTable, recalcBBoxes=True)[source]
compile(glyfTable, recalcBBoxes=True)[source]
compileComponents(glyfTable)[source]
compileCoordinates()[source]
compileDeltasGreedy(flags, deltas)[source]
compileDeltasOptimal(flags, deltas)[source]
decompileComponents(data, glyfTable)[source]
decompileCoordinates(data)[source]
decompileCoordinatesRaw(nCoordinates, data)[source]
draw(pen, glyfTable, offset=0)[source]
drawPoints(pen, glyfTable, offset=0)[source]

Draw the glyph using the supplied pointPen. Opposed to Glyph.draw(), this will not change the point indices.

expand(glyfTable)[source]
fromXML(name, attrs, content, ttFont)[source]
getComponentNames(glyfTable)[source]
getCompositeMaxpValues(glyfTable, maxComponentDepth=1)[source]
getCoordinates(glyfTable)[source]
getMaxpValues()[source]
isComposite()[source]

Can be called on compact or expanded glyph.

recalcBounds(glyfTable)[source]
remapComponentsFast(glyphidmap)
removeHinting()[source]
toXML(writer, ttFont)[source]
trim(remove_hinting=False)[source]

Remove padding and, if requested, hinting, from a glyph. This works on both expanded and compacted glyphs, without expanding it.

class fontTools.ttLib.tables._g_l_y_f.GlyphComponent[source]
compile(more, haveInstructions, glyfTable)[source]
decompile(data, glyfTable)[source]
fromXML(name, attrs, content, ttFont)[source]
getComponentInfo()[source]

Return the base glyph name and a transform.

toXML(writer, ttFont)[source]
class fontTools.ttLib.tables._g_l_y_f.GlyphCoordinates(iterable=[], typecode='h')[source]
absoluteToRelative()[source]
append(p)[source]
property array
copy()[source]
extend(iterable)[source]
isFloat()[source]
relativeToAbsolute()[source]
scale(p)[source]
>>> GlyphCoordinates([(1,2)]).scale((.5,0))
toInt()[source]
transform(t)[source]
>>> GlyphCoordinates([(1,2)]).transform(((.5,0),(.2,.5)))
translate(p)[source]
>>> GlyphCoordinates([(1,2)]).translate((.5,0))
static zeros(count)[source]
fontTools.ttLib.tables._g_l_y_f.flagBest(x, y, onCurve)[source]

For a given x,y delta pair, returns the flag that packs this pair most efficiently, as well as the number of byte cost of such flag.

fontTools.ttLib.tables._g_l_y_f.flagEncodeCoord(flag, mask, coord, coordBytes)[source]
fontTools.ttLib.tables._g_l_y_f.flagEncodeCoords(flag, x, y, xBytes, yBytes)[source]
fontTools.ttLib.tables._g_l_y_f.flagFits(newFlag, oldFlag, mask)[source]
fontTools.ttLib.tables._g_l_y_f.flagSupports(newFlag, oldFlag)[source]
fontTools.ttLib.tables._g_l_y_f.reprflag(flag)[source]
class fontTools.ttLib.tables._g_l_y_f.table__g_l_y_f(tag=None)[source]
closure_glyphs(s)
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = []
fromXML(name, attrs, content, ttFont)[source]
getCoordinatesAndControls(glyphName, ttFont, defaultVerticalOrigin=None)[source]

Return glyph coordinates and controls as expected by “gvar” table.

The coordinates includes four “phantom points” for the glyph metrics, as mandated by the “gvar” spec.

The glyph controls is a namedtuple with the following attributes:
  • numberOfContours: -1 for composite glyphs.

  • endPts: list of indices of end points for each contour in simple

glyphs, or component indices in composite glyphs (used for IUP optimization). - flags: array of contour point flags for simple glyphs (None for composite glyphs). - components: list of base glyph names (str) for each component in composite glyphs (None for simple glyphs).

The “ttFont” and “defaultVerticalOrigin” args are used to compute the “phantom points” (see “getPhantomPoints” method).

Return None if the requested glyphName is not present.

getGlyphID(glyphName)[source]
getGlyphName(glyphID)[source]
getPhantomPoints(glyphName, ttFont, defaultVerticalOrigin=None)[source]

Compute the four “phantom points” for the given glyph from its bounding box and the horizontal and vertical advance widths and sidebearings stored in the ttFont’s “hmtx” and “vmtx” tables.

If the ttFont doesn’t contain a “vmtx” table, the hhea.ascent is used as the vertical origin, and the head.unitsPerEm as the vertical advance.

The “defaultVerticalOrigin” (Optional[int]) is needed when the ttFont contains neither a “vmtx” nor an “hhea” table, as may happen with ‘sparse’ masters. The value should be the hhea.ascent of the default master.

https://docs.microsoft.com/en-us/typography/opentype/spec/tt_instructing_glyphs#phantoms

has_key(glyphName)[source]
keys()[source]
merge(m, tables)
mergeMap = {'glyphOrder': <function sumLists>, 'glyphs': <function sumDicts>, 'tableTag': <function equal>}
padding = 1
prune_post_subset(font, options)
prune_pre_subset(font, options)
removeHinting()[source]
setCoordinates(glyphName, coord, ttFont)[source]

Set coordinates and metrics for the given glyph.

“coord” is an array of GlyphCoordinates which must include the “phantom points” as the last four coordinates.

Both the horizontal/vertical advances and left/top sidebearings in “hmtx” and “vmtx” tables (if any) are updated from four phantom points and the glyph’s bounding boxes.

setGlyphOrder(glyphOrder)[source]
subset_glyphs(s)
toXML(writer, ttFont, splitGlyphs=False)[source]

_g_v_a_r

fontTools.ttLib.tables._g_v_a_r.compileGlyph_(variations, pointCount, axisTags, sharedCoordIndices)[source]
fontTools.ttLib.tables._g_v_a_r.decompileGlyph_(pointCount, sharedTuples, axisTags, data)[source]
class fontTools.ttLib.tables._g_v_a_r.table__g_v_a_r(tag=None)[source]
compile(ttFont)[source]
compileGlyphs_(ttFont, axisTags, sharedCoordIndices)[source]
static compileOffsets_(offsets)[source]

Packs a list of offsets into a ‘gvar’ offset table.

Returns a pair (bytestring, tableFormat). Bytestring is the packed offset table. Format indicates whether the table uses short (tableFormat=0) or long (tableFormat=1) integers. The returned tableFormat should get packed into the flags field of the ‘gvar’ header.

decompile(data, ttFont)[source]
static decompileOffsets_(data, tableFormat, glyphCount)[source]
dependencies = ['fvar', 'glyf']
fromXML(name, attrs, content, ttFont)[source]
static getNumPoints_(glyph)[source]
merge(m, tables)
prune_pre_subset(font, options)
subset_glyphs(s)
toXML(writer, ttFont)[source]

_h_d_m_x

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

_h_e_a_d

class fontTools.ttLib.tables._h_e_a_d.table__h_e_a_d(tag=None)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = ['maxp', 'loca', 'CFF ', 'CFF2']
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
mergeMap = {'checkSumAdjustment': <function <lambda>>, 'created': <function current_time>, 'flags': <function mergeBits.<locals>.wrapper>, 'fontDirectionHint': <function <lambda>>, 'fontRevision': <built-in function max>, 'glyphDataFormat': <function equal>, 'indexToLocFormat': <function recalculate>, 'lowestRecPPEM': <built-in function max>, 'macStyle': <function first>, 'magicNumber': <function equal>, 'modified': <function current_time>, 'tableTag': <function equal>, 'tableVersion': <built-in function max>, 'unitsPerEm': <function equal>, 'xMax': <built-in function max>, 'xMin': <built-in function min>, 'yMax': <built-in function max>, 'yMin': <built-in function min>}
prune_post_subset(font, options)
toXML(writer, ttFont)[source]

_h_h_e_a

class fontTools.ttLib.tables._h_h_e_a.table__h_h_e_a(tag=None)[source]
property ascender
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = ['hmtx', 'glyf', 'CFF ', 'CFF2']
property descender
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
mergeMap = {'*': <function equal>, 'advanceWidthMax': <built-in function max>, 'ascent': <built-in function max>, 'caretOffset': <function first>, 'caretSlopeRise': <function first>, 'caretSlopeRun': <function first>, 'descent': <built-in function min>, 'lineGap': <built-in function max>, 'minLeftSideBearing': <built-in function min>, 'minRightSideBearing': <built-in function min>, 'numberOfHMetrics': <function recalculate>, 'tableTag': <function equal>, 'tableVersion': <built-in function max>, 'xMaxExtent': <built-in function max>}
recalc(ttFont)[source]
toXML(writer, ttFont)[source]

_h_m_t_x

class fontTools.ttLib.tables._h_m_t_x.table__h_m_t_x(tag=None)[source]
advanceName = 'width'
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = []
fromXML(name, attrs, content, ttFont)[source]
headerTag = 'hhea'
longMetricFormat = 'Hh'
merge(m, tables)
mergeMap = {'metrics': <function sumDicts>, 'tableTag': <function equal>}
numberOfMetricsName = 'numberOfHMetrics'
sideBearingName = 'lsb'
subset_glyphs(s)
toXML(writer, ttFont)[source]

_k_e_r_n

class fontTools.ttLib.tables._k_e_r_n.KernTable_format_0(apple=False)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
format = 0
fromXML(name, attrs, content, ttFont)[source]
toXML(writer, ttFont)[source]
version = 0
class fontTools.ttLib.tables._k_e_r_n.KernTable_format_unkown(format)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
fromXML(name, attrs, content, ttFont)[source]
toXML(writer, ttFont)[source]
class fontTools.ttLib.tables._k_e_r_n.table__k_e_r_n(tag=None)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = []
fromXML(name, attrs, content, ttFont)[source]
getkern(format)[source]
merge(m, tables)
prune_pre_subset(font, options)
subset_glyphs(s)
toXML(writer, ttFont)[source]

_l_c_a_r

class fontTools.ttLib.tables._l_c_a_r.table__l_c_a_r(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)
subset_glyphs(s)
toXML(writer, font)

_l_o_c_a

class fontTools.ttLib.tables._l_o_c_a.table__l_o_c_a(tag=None)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = ['glyf']
fromXML(name, attrs, content, ttFont)
merge(m, tables)
mergeMap = {'*': <function recalculate>, 'tableTag': <function equal>}
set(locations)[source]
toXML(writer, ttFont)[source]

_l_t_a_g

class fontTools.ttLib.tables._l_t_a_g.table__l_t_a_g(tag=None)[source]
addTag(tag)[source]

Add ‘tag’ to the list of langauge tags if not already there.

Returns the integer index of ‘tag’ in the list of all tags.

compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = []
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
toXML(writer, ttFont)[source]

_m_a_x_p

class fontTools.ttLib.tables._m_a_x_p.table__m_a_x_p(tag=None)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = ['glyf']
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
mergeMap = {'*': <built-in function max>, 'maxFunctionDefs': <function first>, 'maxInstructionDefs': <function first>, 'maxStorage': <function first>, 'numGlyphs': <built-in function sum>, 'tableTag': <function equal>, 'tableVersion': <function equal>}
prune_pre_subset(font, options)
recalc(ttFont)[source]

Recalculate the font bounding box, and most other maxp values except for the TT instructions values. Also recalculate the value of bit 1 of the flags field and the font bounding box of the ‘head’ table.

testrepr()[source]
toXML(writer, ttFont)[source]

_m_e_t_a

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

_m_o_r_t

class fontTools.ttLib.tables._m_o_r_t.table__m_o_r_t(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)

_m_o_r_x

class fontTools.ttLib.tables._m_o_r_x.table__m_o_r_x(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)

_n_a_m_e

class fontTools.ttLib.tables._n_a_m_e.NameRecord[source]
encodingIsUnicodeCompatible()[source]
fromXML(name, attrs, content, ttFont)[source]
getEncoding(default='ascii')[source]

Returns the Python encoding name for this name entry based on its platformID, platEncID, and langID. If encoding for these values is not known, by default ‘ascii’ is returned. That can be overriden by passing a value to the default argument.

isUnicode()[source]
toBytes(errors='strict')[source]

If self.string is a bytes object, return it; otherwise try encoding the Unicode string in self.string to bytes using the encoding of this entry as returned by self.getEncoding(); Note that self.getEncoding() returns ‘ascii’ if the encoding is unknown to the library.

If the Unicode string cannot be encoded to bytes in the chosen encoding, the error is handled according to the errors parameter to this function, which is passed to the underlying encode() function; by default it throws a UnicodeEncodeError exception.

toStr(errors='strict')

If self.string is a Unicode string, return it; otherwise try decoding the bytes in self.string to a Unicode string using the encoding of this entry as returned by self.getEncoding(); Note that self.getEncoding() returns ‘ascii’ if the encoding is unknown to the library.

Certain heuristics are performed to recover data from bytes that are ill-formed in the chosen encoding, or that otherwise look misencoded (mostly around bad UTF-16BE encoded bytes, or bytes that look like UTF-16BE but marked otherwise). If the bytes are ill-formed and the heuristics fail, the error is handled according to the errors parameter to this function, which is passed to the underlying decode() function; by default it throws a UnicodeDecodeError exception.

Note: The mentioned heuristics mean that roundtripping a font to XML and back to binary might recover some misencoded data whereas just loading the font and saving it back will not change them.

toUnicode(errors='strict')[source]

If self.string is a Unicode string, return it; otherwise try decoding the bytes in self.string to a Unicode string using the encoding of this entry as returned by self.getEncoding(); Note that self.getEncoding() returns ‘ascii’ if the encoding is unknown to the library.

Certain heuristics are performed to recover data from bytes that are ill-formed in the chosen encoding, or that otherwise look misencoded (mostly around bad UTF-16BE encoded bytes, or bytes that look like UTF-16BE but marked otherwise). If the bytes are ill-formed and the heuristics fail, the error is handled according to the errors parameter to this function, which is passed to the underlying decode() function; by default it throws a UnicodeDecodeError exception.

Note: The mentioned heuristics mean that roundtripping a font to XML and back to binary might recover some misencoded data whereas just loading the font and saving it back will not change them.

toXML(writer, ttFont)[source]
fontTools.ttLib.tables._n_a_m_e.makeName(string, nameID, platformID, platEncID, langID)[source]
class fontTools.ttLib.tables._n_a_m_e.table__n_a_m_e(tag=None)[source]
addMultilingualName(names, ttFont=None, nameID=None, windows=True, mac=True, minNameID=0)[source]

Add a multilingual name, returning its name ID

‘names’ is a dictionary with the name in multiple languages, such as {‘en’: ‘Pale’, ‘de’: ‘Blaß’, ‘de-CH’: ‘Blass’}. The keys can be arbitrary IETF BCP 47 language codes; the values are Unicode strings.

‘ttFont’ is the TTFont to which the names are added, or None. If present, the font’s ‘ltag’ table can get populated to store exotic language codes, which allows encoding names that otherwise cannot get encoded at all.

‘nameID’ is the name ID to be used, or None to let the library find an existing set of name records that match, or pick an unused name ID.

If ‘windows’ is True, a platformID=3 name record will be added. If ‘mac’ is True, a platformID=1 name record will be added.

If the ‘nameID’ argument is None, the created nameID will not be less than the ‘minNameID’ argument.

addName(string, platforms=((1, 0, 0), (3, 1, 1033)), minNameID=255)[source]

Add a new name record containing ‘string’ for each (platformID, platEncID, langID) tuple specified in the ‘platforms’ list.

The nameID is assigned in the range between ‘minNameID’+1 and 32767 (inclusive), following the last nameID in the name table. If no ‘platforms’ are specified, two English name records are added, one for the Macintosh (platformID=0), and one for the Windows platform (3).

The ‘string’ must be a Unicode string, so it can be encoded with different, platform-specific encodings.

Return the new nameID.

compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = ['ltag']
findMultilingualName(names, windows=True, mac=True, minNameID=0)[source]

Return the name ID of an existing multilingual name that matches the ‘names’ dictionary, or None if not found.

‘names’ is a dictionary with the name in multiple languages, such as {‘en’: ‘Pale’, ‘de’: ‘Blaß’, ‘de-CH’: ‘Blass’}. The keys can be arbitrary IETF BCP 47 language codes; the values are Unicode strings.

If ‘windows’ is True, the returned name ID is guaranteed exist for all requested languages for platformID=3 and platEncID=1. If ‘mac’ is True, the returned name ID is guaranteed to exist for all requested languages for platformID=1 and platEncID=0.

The returned name ID will not be less than the ‘minNameID’ argument.

fromXML(name, attrs, content, ttFont)[source]
getDebugName(nameID)[source]
getName(nameID, platformID, platEncID, langID=None)[source]
merge(m, tables)
mergeMap = {'names': <function first>, 'tableTag': <function equal>}
prune_pre_subset(font, options)
removeNames(nameID=None, platformID=None, platEncID=None, langID=None)[source]

Remove any name records identified by the given combination of ‘nameID’, ‘platformID’, ‘platEncID’ and ‘langID’.

setName(string, nameID, platformID, platEncID, langID)[source]

Set the ‘string’ for the name record identified by ‘nameID’, ‘platformID’, ‘platEncID’ and ‘langID’. If a record with that nameID doesn’t exist, create it and append to the name table.

‘string’ can be of type str (unicode in PY2) or bytes. In the latter case, it is assumed to be already encoded with the correct plaform-specific encoding identified by the (platformID, platEncID, langID) triplet. A warning is issued to prevent unexpected results.

toXML(writer, ttFont)[source]

_o_p_b_d

class fontTools.ttLib.tables._o_p_b_d.table__o_p_b_d(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)
subset_glyphs(s)
toXML(writer, font)

_p_o_s_t

fontTools.ttLib.tables._p_o_s_t.packPStrings(strings)[source]
class fontTools.ttLib.tables._p_o_s_t.table__p_o_s_t(tag=None)[source]
build_psNameMapping(ttFont)[source]
compile(ttFont)[source]
decode_format_1_0(data, ttFont)[source]
decode_format_2_0(data, ttFont)[source]
decode_format_3_0(data, ttFont)[source]
decode_format_4_0(data, ttFont)[source]
decompile(data, ttFont)[source]
dependencies = []
encode_format_2_0(ttFont)[source]
encode_format_4_0(ttFont)[source]
fromXML(name, attrs, content, ttFont)[source]
getGlyphOrder()[source]

This function will get called by a ttLib.TTFont instance. Do not call this function yourself, use TTFont().getGlyphOrder() or its relatives instead!

merge(m, tables)
mergeMap = {'*': <function first>, 'extraNames': <function <lambda>>, 'formatType': <built-in function max>, 'isFixedPitch': <built-in function min>, 'mapping': <function onlyExisting.<locals>.wrapper>, 'maxMemType1': <function <lambda>>, 'maxMemType42': <function <lambda>>, 'minMemType1': <built-in function max>, 'minMemType42': <built-in function max>, 'tableTag': <function equal>}
prune_pre_subset(font, options)
subset_glyphs(s)
toXML(writer, ttFont)[source]
fontTools.ttLib.tables._p_o_s_t.unpackPStrings(data)[source]

_p_r_e_p

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

_p_r_o_p

class fontTools.ttLib.tables._p_r_o_p.table__p_r_o_p(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)
subset_glyphs(s)
toXML(writer, font)

_s_b_i_x

class fontTools.ttLib.tables._s_b_i_x.sbixStrikeOffset[source]
class fontTools.ttLib.tables._s_b_i_x.table__s_b_i_x(tag=None)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = []
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
subset_glyphs(s)
toXML(xmlWriter, ttFont)[source]

_t_r_a_k

class fontTools.ttLib.tables._t_r_a_k.TrackData(initialdata={})[source]
clear() → None. Remove all items from D.
compile(offset)[source]
decompile(data, offset)[source]
fromXML(name, attrs, content, ttFont)[source]
get(k[, d]) → D[k] if k in D, else d. d defaults to None.
items() → a set-like object providing a view on D’s items
keys() → a set-like object providing a view on D’s keys[source]
pop(k[, d]) → v, remove specified key and return the corresponding value.

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem() → (k, v), remove and return some (key, value) pair

as a 2-tuple; but raise KeyError if D is empty.

setdefault(k[, d]) → D.get(k,d), also set D[k]=d if k not in D
sizes()[source]
toXML(writer, ttFont)[source]
tracks()

D.keys() -> a set-like object providing a view on D’s keys

update([E, ]**F) → None. Update D from mapping/iterable E and F.

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values() → an object providing a view on D’s values
class fontTools.ttLib.tables._t_r_a_k.TrackTableEntry(values={}, nameIndex=None)[source]
clear() → None. Remove all items from D.
fromXML(name, attrs, content, ttFont)[source]
get(k[, d]) → D[k] if k in D, else d. d defaults to None.
items() → a set-like object providing a view on D’s items
keys() → a set-like object providing a view on D’s keys[source]
pop(k[, d]) → v, remove specified key and return the corresponding value.

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem() → (k, v), remove and return some (key, value) pair

as a 2-tuple; but raise KeyError if D is empty.

setdefault(k[, d]) → D.get(k,d), also set D[k]=d if k not in D
sizes()

D.keys() -> a set-like object providing a view on D’s keys

toXML(writer, ttFont)[source]
update([E, ]**F) → None. Update D from mapping/iterable E and F.

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values() → an object providing a view on D’s values
class fontTools.ttLib.tables._t_r_a_k.table__t_r_a_k(tag=None)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = ['name']
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
toXML(writer, ttFont)[source]

_v_h_e_a

class fontTools.ttLib.tables._v_h_e_a.table__v_h_e_a(tag=None)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = ['vmtx', 'glyf', 'CFF ', 'CFF2']
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
mergeMap = {'*': <function equal>, 'advanceHeightMax': <built-in function max>, 'ascent': <built-in function max>, 'caretOffset': <function first>, 'caretSlopeRise': <function first>, 'caretSlopeRun': <function first>, 'descent': <built-in function min>, 'lineGap': <built-in function max>, 'minBottomSideBearing': <built-in function min>, 'minTopSideBearing': <built-in function min>, 'numberOfVMetrics': <function recalculate>, 'tableTag': <function equal>, 'tableVersion': <built-in function max>, 'yMaxExtent': <built-in function max>}
recalc(ttFont)[source]
property reserved0
toXML(writer, ttFont)[source]

_v_m_t_x

class fontTools.ttLib.tables._v_m_t_x.table__v_m_t_x(tag=None)[source]
advanceName = 'height'
compile(ttFont)
decompile(data, ttFont)
dependencies = []
fromXML(name, attrs, content, ttFont)
headerTag = 'vhea'
longMetricFormat = 'Hh'
merge(m, tables)
mergeMap = {'metrics': <function sumDicts>, 'tableTag': <function equal>}
numberOfMetricsName = 'numberOfVMetrics'
sideBearingName = 'tsb'
subset_glyphs(s)
toXML(writer, ttFont)

asciiTable

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

B_A_S_E

class fontTools.ttLib.tables.B_A_S_E_.table_B_A_S_E_(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)
mergeMap = {'table': <function mergeObjects>, 'tableTag': <function onlyExisting.<locals>.wrapper>}
toXML(writer, font)

BitmapGlyphMetrics

class fontTools.ttLib.tables.BitmapGlyphMetrics.BigGlyphMetrics[source]
binaryFormat = '\n > # big endian\n height: B\n width: B\n horiBearingX: b\n horiBearingY: b\n horiAdvance: B\n vertBearingX: b\n vertBearingY: b\n vertAdvance: B\n'
fromXML(name, attrs, content, ttFont)
toXML(writer, ttFont)
class fontTools.ttLib.tables.BitmapGlyphMetrics.BitmapGlyphMetrics[source]
fromXML(name, attrs, content, ttFont)[source]
toXML(writer, ttFont)[source]
class fontTools.ttLib.tables.BitmapGlyphMetrics.SmallGlyphMetrics[source]
binaryFormat = '\n > # big endian\n height: B\n width: B\n BearingX: b\n BearingY: b\n Advance: B\n'
fromXML(name, attrs, content, ttFont)
toXML(writer, ttFont)

C_B_D_T

class fontTools.ttLib.tables.C_B_D_T_.ColorBitmapGlyph(data, ttFont)[source]
fileExtension = '.png'
fromXML(name, attrs, content, ttFont)
getFormat()
readData(name, attrs, content, ttFont)
readMetrics(name, attrs, content, ttFont)
toXML(strikeIndex, glyphName, writer, ttFont)
writeData(strikeIndex, glyphName, writer, ttFont)
writeMetrics(writer, ttFont)
xmlDataFunctions = {'bitwise': (<function _writeBitwiseImageData>, <function _readBitwiseImageData>), 'extfile': (<function _writeExtFileImageData>, <function _readExtFileImageData>), 'raw': (<function _writeRawImageData>, <function _readRawImageData>)}
class fontTools.ttLib.tables.C_B_D_T_.cbdt_bitmap_format_17(data, ttFont)[source]
compile(ttFont)[source]
decompile()[source]
fileExtension = '.png'
fromXML(name, attrs, content, ttFont)
getFormat()
readData(name, attrs, content, ttFont)
readMetrics(name, attrs, content, ttFont)
toXML(strikeIndex, glyphName, writer, ttFont)
writeData(strikeIndex, glyphName, writer, ttFont)
writeMetrics(writer, ttFont)
xmlDataFunctions = {'bitwise': (<function _writeBitwiseImageData>, <function _readBitwiseImageData>), 'extfile': (<function _writeExtFileImageData>, <function _readExtFileImageData>), 'raw': (<function _writeRawImageData>, <function _readRawImageData>)}
class fontTools.ttLib.tables.C_B_D_T_.cbdt_bitmap_format_18(data, ttFont)[source]
compile(ttFont)[source]
decompile()[source]
fileExtension = '.png'
fromXML(name, attrs, content, ttFont)
getFormat()
readData(name, attrs, content, ttFont)
readMetrics(name, attrs, content, ttFont)
toXML(strikeIndex, glyphName, writer, ttFont)
writeData(strikeIndex, glyphName, writer, ttFont)
writeMetrics(writer, ttFont)
xmlDataFunctions = {'bitwise': (<function _writeBitwiseImageData>, <function _readBitwiseImageData>), 'extfile': (<function _writeExtFileImageData>, <function _readExtFileImageData>), 'raw': (<function _writeRawImageData>, <function _readRawImageData>)}
class fontTools.ttLib.tables.C_B_D_T_.cbdt_bitmap_format_19(data, ttFont)[source]
compile(ttFont)[source]
decompile()[source]
fileExtension = '.png'
fromXML(name, attrs, content, ttFont)
getFormat()
readData(name, attrs, content, ttFont)
readMetrics(name, attrs, content, ttFont)
toXML(strikeIndex, glyphName, writer, ttFont)
writeData(strikeIndex, glyphName, writer, ttFont)
writeMetrics(writer, ttFont)
xmlDataFunctions = {'bitwise': (<function _writeBitwiseImageData>, <function _readBitwiseImageData>), 'extfile': (<function _writeExtFileImageData>, <function _readExtFileImageData>), 'raw': (<function _writeRawImageData>, <function _readRawImageData>)}
class fontTools.ttLib.tables.C_B_D_T_.table_C_B_D_T_(tag=None)[source]
compile(ttFont)
decompile(data, ttFont)
dependencies = []
fromXML(name, attrs, content, ttFont)
getImageFormatClass(imageFormat)[source]
locatorName = 'CBLC'
merge(m, tables)
subset_glyphs(s)
toXML(writer, ttFont)

C_B_L_C

class fontTools.ttLib.tables.C_B_L_C_.table_C_B_L_C_(tag=None)[source]
compile(ttFont)
decompile(data, ttFont)
dependencies = ['CBDT']
fromXML(name, attrs, content, ttFont)
getIndexFormatClass(indexFormat)
merge(m, tables)
subset_glyphs(s)
toXML(writer, ttFont)

C_F_F

class fontTools.ttLib.tables.C_F_F_.table_C_F_F_(tag=None)[source]
closure_glyphs(s)
compile(otFont)[source]
decompile(data, otFont)[source]
dependencies = []
desubroutinize()
fromXML(name, attrs, content, otFont)[source]
getGlyphOrder()[source]
haveGlyphNames()[source]
merge(m, tables)
prune_post_subset(ttfFont, options)
prune_pre_subset(font, options)
remove_hints()
remove_unused_subroutines()
setGlyphOrder(glyphOrder)[source]
subset_glyphs(s)
toXML(writer, otFont)[source]

C_F_F__2

class fontTools.ttLib.tables.C_F_F__2.table_C_F_F__2(tag=None)[source]
closure_glyphs(s)
compile(otFont)[source]
decompile(data, otFont)[source]
dependencies = []
desubroutinize()
fromXML(name, attrs, content, otFont)
getGlyphOrder()
haveGlyphNames()
merge(m, tables)
prune_post_subset(ttfFont, options)
prune_pre_subset(font, options)
remove_hints()
remove_unused_subroutines()
setGlyphOrder(glyphOrder)
subset_glyphs(s)
toXML(writer, otFont)

C_O_L_R

class fontTools.ttLib.tables.C_O_L_R_.LayerRecord(name=None, colorID=None)[source]
fromXML(eltname, attrs, content, ttFont)[source]
toXML(writer, ttFont)[source]
class fontTools.ttLib.tables.C_O_L_R_.table_C_O_L_R_(tag=None)[source]

This table is structured so that you can treat it like a dictionary keyed by glyph name. ttFont[‘COLR’][<glyphName>] will return the color layers for any glyph ttFont[‘COLR’][<glyphName>] = <value> will set the color layers for any glyph.

closure_glyphs(s)
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = []
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
subset_glyphs(s)
toXML(writer, ttFont)[source]

C_P_A_L

class fontTools.ttLib.tables.C_P_A_L_.Color(blue, green, red, alpha)[source]
alpha

Alias for field number 3

blue

Alias for field number 0

count(value, /)

Return number of occurrences of value.

classmethod fromHex(value)[source]
classmethod fromRGBA(red, green, blue, alpha)[source]
green

Alias for field number 1

hex()[source]
index(value, start=0, stop=9223372036854775807, /)

Return first index of value.

Raises ValueError if the value is not present.

red

Alias for field number 2

toXML(writer, ttFont, index=None)[source]
class fontTools.ttLib.tables.C_P_A_L_.table_C_P_A_L_(tag=None)[source]
DEFAULT_PALETTE_TYPE = 0
NO_NAME_ID = 65535
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = []
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
prune_post_subset(font, options)
toXML(writer, ttFont)[source]

D_S_I_G

class fontTools.ttLib.tables.D_S_I_G_.SignatureRecord[source]
fromXML(name, attrs, content, ttFont)[source]
toXML(writer, ttFont)[source]
fontTools.ttLib.tables.D_S_I_G_.b64encode(b)[source]
fontTools.ttLib.tables.D_S_I_G_.pem_spam(l, spam={'': True, '-----BEGIN PKCS7-----': True, '-----END PKCS7-----': True})
class fontTools.ttLib.tables.D_S_I_G_.table_D_S_I_G_(tag=None)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = []
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
prune_pre_subset(font, options)
toXML(xmlWriter, ttFont)[source]

DefaultTable

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

E_B_D_T

class fontTools.ttLib.tables.E_B_D_T_.BitAlignedBitmapMixin[source]
getRow(row, bitDepth=1, metrics=None, reverseBytes=False)[source]
setRows(dataRows, bitDepth=1, metrics=None, reverseBytes=False)[source]
class fontTools.ttLib.tables.E_B_D_T_.BitmapGlyph(data, ttFont)[source]
fileExtension = '.bin'
fromXML(name, attrs, content, ttFont)[source]
getFormat()[source]
readData(name, attrs, content, ttFont)[source]
readMetrics(name, attrs, content, ttFont)[source]
toXML(strikeIndex, glyphName, writer, ttFont)[source]
writeData(strikeIndex, glyphName, writer, ttFont)[source]
writeMetrics(writer, ttFont)[source]
xmlDataFunctions = {'bitwise': (<function _writeBitwiseImageData>, <function _readBitwiseImageData>), 'extfile': (<function _writeExtFileImageData>, <function _readExtFileImageData>), 'raw': (<function _writeRawImageData>, <function _readRawImageData>), 'row': (<function _writeRowImageData>, <function _readRowImageData>)}
fontTools.ttLib.tables.E_B_D_T_.BitmapPlusBigMetricsMixin

alias of fontTools.ttLib.tables.E_B_D_T_._createBitmapPlusMetricsMixin.<locals>.BitmapPlusMetricsMixin

fontTools.ttLib.tables.E_B_D_T_.BitmapPlusSmallMetricsMixin

alias of fontTools.ttLib.tables.E_B_D_T_._createBitmapPlusMetricsMixin.<locals>.BitmapPlusMetricsMixin

class fontTools.ttLib.tables.E_B_D_T_.ByteAlignedBitmapMixin[source]
getRow(row, bitDepth=1, metrics=None, reverseBytes=False)[source]
setRows(dataRows, bitDepth=1, metrics=None, reverseBytes=False)[source]
class fontTools.ttLib.tables.E_B_D_T_.ComponentBitmapGlyph(data, ttFont)[source]
fileExtension = '.bin'
fromXML(name, attrs, content, ttFont)[source]
getFormat()
readData(name, attrs, content, ttFont)
readMetrics(name, attrs, content, ttFont)
toXML(strikeIndex, glyphName, writer, ttFont)[source]
writeData(strikeIndex, glyphName, writer, ttFont)
writeMetrics(writer, ttFont)
xmlDataFunctions = {'bitwise': (<function _writeBitwiseImageData>, <function _readBitwiseImageData>), 'extfile': (<function _writeExtFileImageData>, <function _readExtFileImageData>), 'raw': (<function _writeRawImageData>, <function _readRawImageData>), 'row': (<function _writeRowImageData>, <function _readRowImageData>)}
class fontTools.ttLib.tables.E_B_D_T_.EbdtComponent[source]
fromXML(name, attrs, content, ttFont)[source]
toXML(writer, ttFont)[source]
class fontTools.ttLib.tables.E_B_D_T_.ebdt_bitmap_format_1(data, ttFont)[source]
compile(ttFont)[source]
decompile()[source]
fileExtension = '.bin'
fromXML(name, attrs, content, ttFont)
getFormat()
getRow(row, bitDepth=1, metrics=None, reverseBytes=False)
readData(name, attrs, content, ttFont)
readMetrics(name, attrs, content, ttFont)
setRows(dataRows, bitDepth=1, metrics=None, reverseBytes=False)
toXML(strikeIndex, glyphName, writer, ttFont)
writeData(strikeIndex, glyphName, writer, ttFont)
writeMetrics(writer, ttFont)
xmlDataFunctions = {'bitwise': (<function _writeBitwiseImageData>, <function _readBitwiseImageData>), 'extfile': (<function _writeExtFileImageData>, <function _readExtFileImageData>), 'raw': (<function _writeRawImageData>, <function _readRawImageData>), 'row': (<function _writeRowImageData>, <function _readRowImageData>)}
class fontTools.ttLib.tables.E_B_D_T_.ebdt_bitmap_format_2(data, ttFont)[source]
compile(ttFont)[source]
decompile()[source]
fileExtension = '.bin'
fromXML(name, attrs, content, ttFont)
getFormat()
getRow(row, bitDepth=1, metrics=None, reverseBytes=False)
readData(name, attrs, content, ttFont)
readMetrics(name, attrs, content, ttFont)
setRows(dataRows, bitDepth=1, metrics=None, reverseBytes=False)
toXML(strikeIndex, glyphName, writer, ttFont)
writeData(strikeIndex, glyphName, writer, ttFont)
writeMetrics(writer, ttFont)
xmlDataFunctions = {'bitwise': (<function _writeBitwiseImageData>, <function _readBitwiseImageData>), 'extfile': (<function _writeExtFileImageData>, <function _readExtFileImageData>), 'raw': (<function _writeRawImageData>, <function _readRawImageData>), 'row': (<function _writeRowImageData>, <function _readRowImageData>)}
class fontTools.ttLib.tables.E_B_D_T_.ebdt_bitmap_format_5(data, ttFont)[source]
compile(ttFont)[source]
decompile()[source]
fileExtension = '.bin'
fromXML(name, attrs, content, ttFont)
getFormat()
getRow(row, bitDepth=1, metrics=None, reverseBytes=False)
readData(name, attrs, content, ttFont)
readMetrics(name, attrs, content, ttFont)
setRows(dataRows, bitDepth=1, metrics=None, reverseBytes=False)
toXML(strikeIndex, glyphName, writer, ttFont)
writeData(strikeIndex, glyphName, writer, ttFont)
writeMetrics(writer, ttFont)
xmlDataFunctions = {'bitwise': (<function _writeBitwiseImageData>, <function _readBitwiseImageData>), 'extfile': (<function _writeExtFileImageData>, <function _readExtFileImageData>), 'raw': (<function _writeRawImageData>, <function _readRawImageData>), 'row': (<function _writeRowImageData>, <function _readRowImageData>)}
class fontTools.ttLib.tables.E_B_D_T_.ebdt_bitmap_format_6(data, ttFont)[source]
compile(ttFont)[source]
decompile()[source]
fileExtension = '.bin'
fromXML(name, attrs, content, ttFont)
getFormat()
getRow(row, bitDepth=1, metrics=None, reverseBytes=False)
readData(name, attrs, content, ttFont)
readMetrics(name, attrs, content, ttFont)
setRows(dataRows, bitDepth=1, metrics=None, reverseBytes=False)
toXML(strikeIndex, glyphName, writer, ttFont)
writeData(strikeIndex, glyphName, writer, ttFont)
writeMetrics(writer, ttFont)
xmlDataFunctions = {'bitwise': (<function _writeBitwiseImageData>, <function _readBitwiseImageData>), 'extfile': (<function _writeExtFileImageData>, <function _readExtFileImageData>), 'raw': (<function _writeRawImageData>, <function _readRawImageData>), 'row': (<function _writeRowImageData>, <function _readRowImageData>)}
class fontTools.ttLib.tables.E_B_D_T_.ebdt_bitmap_format_7(data, ttFont)[source]
compile(ttFont)[source]
decompile()[source]
fileExtension = '.bin'
fromXML(name, attrs, content, ttFont)
getFormat()
getRow(row, bitDepth=1, metrics=None, reverseBytes=False)
readData(name, attrs, content, ttFont)
readMetrics(name, attrs, content, ttFont)
setRows(dataRows, bitDepth=1, metrics=None, reverseBytes=False)
toXML(strikeIndex, glyphName, writer, ttFont)
writeData(strikeIndex, glyphName, writer, ttFont)
writeMetrics(writer, ttFont)
xmlDataFunctions = {'bitwise': (<function _writeBitwiseImageData>, <function _readBitwiseImageData>), 'extfile': (<function _writeExtFileImageData>, <function _readExtFileImageData>), 'raw': (<function _writeRawImageData>, <function _readRawImageData>), 'row': (<function _writeRowImageData>, <function _readRowImageData>)}
class fontTools.ttLib.tables.E_B_D_T_.ebdt_bitmap_format_8(data, ttFont)[source]
compile(ttFont)[source]
decompile()[source]
fileExtension = '.bin'
fromXML(name, attrs, content, ttFont)
getFormat()
readData(name, attrs, content, ttFont)
readMetrics(name, attrs, content, ttFont)
toXML(strikeIndex, glyphName, writer, ttFont)
writeData(strikeIndex, glyphName, writer, ttFont)
writeMetrics(writer, ttFont)
xmlDataFunctions = {'bitwise': (<function _writeBitwiseImageData>, <function _readBitwiseImageData>), 'extfile': (<function _writeExtFileImageData>, <function _readExtFileImageData>), 'raw': (<function _writeRawImageData>, <function _readRawImageData>), 'row': (<function _writeRowImageData>, <function _readRowImageData>)}
class fontTools.ttLib.tables.E_B_D_T_.ebdt_bitmap_format_9(data, ttFont)[source]
compile(ttFont)[source]
decompile()[source]
fileExtension = '.bin'
fromXML(name, attrs, content, ttFont)
getFormat()
readData(name, attrs, content, ttFont)
readMetrics(name, attrs, content, ttFont)
toXML(strikeIndex, glyphName, writer, ttFont)
writeData(strikeIndex, glyphName, writer, ttFont)
writeMetrics(writer, ttFont)
xmlDataFunctions = {'bitwise': (<function _writeBitwiseImageData>, <function _readBitwiseImageData>), 'extfile': (<function _writeExtFileImageData>, <function _readExtFileImageData>), 'raw': (<function _writeRawImageData>, <function _readRawImageData>), 'row': (<function _writeRowImageData>, <function _readRowImageData>)}
class fontTools.ttLib.tables.E_B_D_T_.table_E_B_D_T_(tag=None)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = []
fromXML(name, attrs, content, ttFont)[source]
getImageFormatClass(imageFormat)[source]
locatorName = 'EBLC'
merge(m, tables)
subset_glyphs(s)
toXML(writer, ttFont)[source]

E_B_L_C

class fontTools.ttLib.tables.E_B_L_C_.BitmapSizeTable[source]
fromXML(name, attrs, content, ttFont)[source]
toXML(writer, ttFont)[source]
class fontTools.ttLib.tables.E_B_L_C_.EblcIndexSubTable(data, ttFont)[source]
compile(ttFont)[source]
fromXML(name, attrs, content, ttFont)[source]
padBitmapData(data)[source]
readMetrics(name, attrs, content, ttFont)[source]
removeSkipGlyphs()[source]
toXML(writer, ttFont)[source]
writeMetrics(writer, ttFont)[source]
class fontTools.ttLib.tables.E_B_L_C_.FixedSizeIndexSubTableMixin[source]
padBitmapData(data)[source]
readMetrics(name, attrs, content, ttFont)[source]
writeMetrics(writer, ttFont)[source]
class fontTools.ttLib.tables.E_B_L_C_.SbitLineMetrics[source]
fromXML(name, attrs, content, ttFont)[source]
toXML(name, writer, ttFont)[source]
class fontTools.ttLib.tables.E_B_L_C_.Strike[source]
fromXML(name, attrs, content, ttFont, locator)[source]
toXML(strikeIndex, writer, ttFont)[source]
class fontTools.ttLib.tables.E_B_L_C_.eblc_index_sub_table_1(data, ttFont)[source]
compile(ttFont)
decompile()
fromXML(name, attrs, content, ttFont)
padBitmapData(data)
readMetrics(name, attrs, content, ttFont)
removeSkipGlyphs()
toXML(writer, ttFont)
writeMetrics(writer, ttFont)
class fontTools.ttLib.tables.E_B_L_C_.eblc_index_sub_table_2(data, ttFont)[source]
compile(ttFont)[source]
decompile()[source]
fromXML(name, attrs, content, ttFont)
padBitmapData(data)
readMetrics(name, attrs, content, ttFont)
removeSkipGlyphs()
toXML(writer, ttFont)
writeMetrics(writer, ttFont)
class fontTools.ttLib.tables.E_B_L_C_.eblc_index_sub_table_3(data, ttFont)[source]
compile(ttFont)
decompile()
fromXML(name, attrs, content, ttFont)
padBitmapData(data)
readMetrics(name, attrs, content, ttFont)
removeSkipGlyphs()
toXML(writer, ttFont)
writeMetrics(writer, ttFont)
class fontTools.ttLib.tables.E_B_L_C_.eblc_index_sub_table_4(data, ttFont)[source]
compile(ttFont)[source]
decompile()[source]
fromXML(name, attrs, content, ttFont)
padBitmapData(data)
readMetrics(name, attrs, content, ttFont)
removeSkipGlyphs()
toXML(writer, ttFont)
writeMetrics(writer, ttFont)
class fontTools.ttLib.tables.E_B_L_C_.eblc_index_sub_table_5(data, ttFont)[source]
compile(ttFont)[source]
decompile()[source]
fromXML(name, attrs, content, ttFont)
padBitmapData(data)
readMetrics(name, attrs, content, ttFont)
removeSkipGlyphs()
toXML(writer, ttFont)
writeMetrics(writer, ttFont)
class fontTools.ttLib.tables.E_B_L_C_.table_E_B_L_C_(tag=None)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = ['EBDT']
fromXML(name, attrs, content, ttFont)[source]
getIndexFormatClass(indexFormat)[source]
merge(m, tables)
subset_glyphs(s)
toXML(writer, ttFont)[source]

F__e_a_t

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

F_F_T_M

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

G__l_a_t

class fontTools.ttLib.tables.G__l_a_t.table_G__l_a_t(tag=None)[source]

Support Graphite Glat tables

compile(ttFont)[source]
compileAttributes12(attrs, fmt)[source]
compileAttributes3(attrs)[source]
decompile(data, ttFont)[source]
decompileAttributes12(data, fmt)[source]
decompileAttributes3(data)[source]
dependencies = []
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
toXML(writer, ttFont)[source]

G__l_o_c

class fontTools.ttLib.tables.G__l_o_c.table_G__l_o_c(tag=None)[source]

Support Graphite Gloc tables

compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = ['Glat']
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
set(locations)[source]
toXML(writer, ttFont)[source]

G_D_E_F

class fontTools.ttLib.tables.G_D_E_F_.table_G_D_E_F_(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)
mergeMap = {'table': <function mergeObjects>, 'tableTag': <function onlyExisting.<locals>.wrapper>}
prune_post_subset(font, options)
subset_glyphs(s)
toXML(writer, font)

G_M_A_P

class fontTools.ttLib.tables.G_M_A_P_.GMAPRecord(uv=0, cid=0, gid=0, ggid=0, name='')[source]
compile(ttFont)[source]
fromXML(name, attrs, content, ttFont)[source]
toXML(writer, ttFont)[source]
class fontTools.ttLib.tables.G_M_A_P_.table_G_M_A_P_(tag=None)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = []
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
toXML(writer, ttFont)[source]

G_P_K_G

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

G_P_O_S

class fontTools.ttLib.tables.G_P_O_S_.table_G_P_O_S_(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)
mergeMap = {'table': <function mergeObjects>, 'tableTag': <function onlyExisting.<locals>.wrapper>}
neuter_lookups(lookup_indices)

Sets lookups not in lookup_indices to None.

prune_features()

Remove unreferenced features

prune_lookups(remap=True)

Remove (default) or neuter unreferenced lookups

prune_post_subset(font, options)
prune_pre_subset(font, options)
remove_redundant_langsys()
retain_empty_scripts()
subset_feature_tags(feature_tags)
subset_glyphs(s)
subset_lookups(lookup_indices)

Retains specified lookups, then removes empty features, language systems, and scripts.

subset_script_tags(tags)
toXML(writer, font)

G_S_U_B

class fontTools.ttLib.tables.G_S_U_B_.table_G_S_U_B_(tag=None)[source]
closure_glyphs(s)
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)
mergeMap = {'table': <function mergeObjects>, 'tableTag': <function onlyExisting.<locals>.wrapper>}
neuter_lookups(lookup_indices)

Sets lookups not in lookup_indices to None.

prune_features()

Remove unreferenced features

prune_lookups(remap=True)

Remove (default) or neuter unreferenced lookups

prune_post_subset(font, options)
prune_pre_subset(font, options)
remove_redundant_langsys()
retain_empty_scripts()
subset_feature_tags(feature_tags)
subset_glyphs(s)
subset_lookups(lookup_indices)

Retains specified lookups, then removes empty features, language systems, and scripts.

subset_script_tags(tags)
toXML(writer, font)

grUtils

fontTools.ttLib.tables.grUtils.bininfo(num, size=1)[source]
fontTools.ttLib.tables.grUtils.compress(scheme, data)[source]
fontTools.ttLib.tables.grUtils.decompress(data)[source]
fontTools.ttLib.tables.grUtils.entries(attributes, sameval=False)[source]
fontTools.ttLib.tables.grUtils.num2tag(n)[source]
fontTools.ttLib.tables.grUtils.tag2num(n)[source]

H_V_A_R

class fontTools.ttLib.tables.H_V_A_R_.table_H_V_A_R_(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)
subset_glyphs(s)
toXML(writer, font)

J_S_T_F

class fontTools.ttLib.tables.J_S_T_F_.table_J_S_T_F_(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)
mergeMap = {'table': <function mergeObjects>, 'tableTag': <function onlyExisting.<locals>.wrapper>}
toXML(writer, font)

L_T_S_H

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

M_A_T_H

class fontTools.ttLib.tables.M_A_T_H_.table_M_A_T_H_(tag=None)[source]
closure_glyphs(s)
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)
mergeMap = {'table': <function mergeObjects>, 'tableTag': <function onlyExisting.<locals>.wrapper>}
subset_glyphs(s)
toXML(writer, font)

M_E_T_A

class fontTools.ttLib.tables.M_E_T_A_.GlyphRecord[source]
compile(parentTable)[source]
fromXML(name, attrs, content, ttFont)[source]
toXML(writer, ttFont)[source]
class fontTools.ttLib.tables.M_E_T_A_.StringRecord[source]
compile(parentTable)[source]
fromXML(name, attrs, content, ttFont)[source]
toXML(writer, ttFont)[source]
fontTools.ttLib.tables.M_E_T_A_.getLabelString(labelID)[source]
fontTools.ttLib.tables.M_E_T_A_.mapUTF8toXML(string)[source]
fontTools.ttLib.tables.M_E_T_A_.mapXMLToUTF8(string)[source]
class fontTools.ttLib.tables.M_E_T_A_.table_M_E_T_A_(tag=None)[source]
compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = []
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
toXML(writer, ttFont)[source]

M_V_A_R

class fontTools.ttLib.tables.M_V_A_R_.table_M_V_A_R_(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)

O_S_2f_2

class fontTools.ttLib.tables.O_S_2f_2.Panose[source]
fromXML(name, attrs, content, ttFont)[source]
toXML(writer, ttFont)[source]
fontTools.ttLib.tables.O_S_2f_2.intersectUnicodeRanges(unicodes, inverse=False)[source]

Intersect a sequence of (int) Unicode codepoints with the Unicode block ranges defined in the OpenType specification v1.7, and return the set of ‘ulUnicodeRanges’ bits for which there is at least ONE intersection. If ‘inverse’ is True, return the the bits for which there is NO intersection.

>>> intersectUnicodeRanges([0x0410]) == {9}
True
>>> intersectUnicodeRanges([0x0410, 0x1F000]) == {9, 57, 122}
True
>>> intersectUnicodeRanges([0x0410, 0x1F000], inverse=True) == (
...     set(range(len(OS2_UNICODE_RANGES))) - {9, 57, 122})
True
class fontTools.ttLib.tables.O_S_2f_2.table_O_S_2f_2(tag=None)[source]

the OS/2 table

compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = ['head']
fromXML(name, attrs, content, ttFont)[source]
property fsFirstCharIndex
property fsLastCharIndex
getUnicodeRanges()[source]

Return the set of ‘ulUnicodeRange*’ bits currently enabled.

merge(m, tables)
mergeMap = {'*': <function first>, 'fsFirstCharIndex': <built-in function min>, 'fsLastCharIndex': <built-in function max>, 'fsType': <function mergeOs2FsType>, 'panose': <function first>, 'sCapHeight': <function onlyExisting.<locals>.wrapper>, 'sTypoAscender': <built-in function max>, 'sTypoDescender': <built-in function min>, 'sTypoLineGap': <built-in function max>, 'sxHeight': <function onlyExisting.<locals>.wrapper>, 'tableTag': <function equal>, 'ulCodePageRange1': <function onlyExisting.<locals>.wrapper>, 'ulCodePageRange2': <function onlyExisting.<locals>.wrapper>, 'ulUnicodeRange1': <function bitwise_or>, 'ulUnicodeRange2': <function bitwise_or>, 'ulUnicodeRange3': <function bitwise_or>, 'ulUnicodeRange4': <function bitwise_or>, 'usBreakChar': <function onlyExisting.<locals>.wrapper>, 'usDefaultChar': <function onlyExisting.<locals>.wrapper>, 'usLowerOpticalPointSize': <function onlyExisting.<locals>.wrapper>, 'usMaxContext': <function onlyExisting.<locals>.wrapper>, 'usUpperOpticalPointSize': <function onlyExisting.<locals>.wrapper>, 'usWinAscent': <built-in function max>, 'usWinDescent': <built-in function max>, 'version': <built-in function max>, 'xAvgCharWidth': <function avg_int>}
recalcUnicodeRanges(ttFont, pruneOnly=False)[source]

Intersect the codepoints in the font’s Unicode cmap subtables with the Unicode block ranges defined in the OpenType specification (v1.7), and set the respective ‘ulUnicodeRange*’ bits if there is at least ONE intersection. If ‘pruneOnly’ is True, only clear unused bits with NO intersection.

setUnicodeRanges(bits)[source]

Set the ‘ulUnicodeRange*’ fields to the specified ‘bits’.

toXML(writer, ttFont)[source]
updateFirstAndLastCharIndex(ttFont)[source]
property usMaxContex

otBase

class fontTools.ttLib.tables.otBase.BaseTTXConverter(tag=None)[source]

Generic base class for TTX table converters. It functions as an adapter between the TTX (ttLib actually) table model and the model we use for OpenType tables, which is necessarily subtly different.

compile(font)[source]

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)[source]
dependencies = []
fromXML(name, attrs, content, font)[source]
merge(m, tables)
toXML(writer, font)[source]
class fontTools.ttLib.tables.otBase.BaseTable[source]

Generic base class for all OpenType (sub)tables.

compile(writer, font)[source]
decompile(reader, font)[source]
ensureDecompiled()[source]
fromXML(name, attrs, content, font)[source]
getConverterByName(name)[source]
getConverters()[source]
classmethod getRecordSize(reader)[source]
populateDefaults(propagator=None)[source]
readFormat(reader)[source]
toXML(xmlWriter, font, attrs=None, name=None)[source]
toXML2(xmlWriter, font)[source]
writeFormat(writer)[source]
class fontTools.ttLib.tables.otBase.CountReference(table, name, size=None, value=None)[source]

A reference to a Count value, not a count of references.

getCountData()[source]
getValue()[source]
setValue(value)[source]
class fontTools.ttLib.tables.otBase.FormatSwitchingBaseTable[source]

Minor specialization of BaseTable, for tables that have multiple formats, eg. CoverageFormat1 vs. CoverageFormat2.

compile(writer, font)
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)[source]
getConverters()[source]
classmethod getRecordSize(reader)[source]
populateDefaults(propagator=None)
readFormat(reader)[source]
toXML(xmlWriter, font, attrs=None, name=None)[source]
toXML2(xmlWriter, font)
writeFormat(writer)[source]
exception fontTools.ttLib.tables.otBase.OTLOffsetOverflowError(overflowErrorRecord)[source]
args
with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class fontTools.ttLib.tables.otBase.OTTableReader(data, localState=None, offset=0, tableTag=None)[source]

Helper class to retrieve data from an OpenType table.

advance(count)[source]
copy()[source]
data
getSubReader(offset)[source]
localState
offset
pos
readArray(typecode, staticSize, count)[source]
readData(count)[source]
readInt8()[source]
readLong()[source]
readShort()[source]
readTag()[source]
readUInt24()[source]
readUInt8()[source]
readULong()[source]
readUShort()[source]
readUShortArray(count)[source]
readValue(typecode, staticSize)[source]
seek(pos)[source]
tableTag
class fontTools.ttLib.tables.otBase.OTTableWriter(localState=None, tableTag=None, offsetSize=2)[source]

Helper class to gather and assemble data for OpenType tables.

getAllData()[source]

Assemble all data, including all subtables.

getData()[source]

Assemble the data for this writer/table, without subtables.

getDataLength()[source]

Return the length of this table in bytes, without subtables.

getOverflowErrorRecord(item)[source]
getSubWriter(offsetSize=2)[source]
property longOffset
writeCountReference(table, name, size=2, value=None)[source]
writeData(data)[source]
writeInt8(value)[source]
writeLong(value)[source]
writeShort(value)[source]
writeStruct(format, values)[source]
writeSubTable(subWriter)[source]
writeTag(tag)[source]
writeUInt24(value)[source]
writeUInt8(value)[source]
writeULong(value)[source]
writeUShort(value)[source]
writeValue(typecode, value)[source]
class fontTools.ttLib.tables.otBase.OverflowErrorRecord(overflowTuple)[source]
class fontTools.ttLib.tables.otBase.UInt8FormatSwitchingBaseTable[source]
compile(writer, font)
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)[source]
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)[source]
class fontTools.ttLib.tables.otBase.ValueRecord(valueFormat=None, src=None)[source]
fromXML(name, attrs, content, font)[source]
getFormat()[source]
toXML(xmlWriter, font, valueName, attrs=None)[source]
class fontTools.ttLib.tables.otBase.ValueRecordFactory(valueFormat)[source]

Given a format code, this object convert ValueRecords.

readValueRecord(reader, font)[source]
writeValueRecord(writer, font, valueRecord)[source]
fontTools.ttLib.tables.otBase.getFormatSwitchingBaseTableClass(formatType)[source]
fontTools.ttLib.tables.otBase.packUInt24(value)[source]
fontTools.ttLib.tables.otBase.packUInt8(value)[source]
fontTools.ttLib.tables.otBase.packULong(value)[source]
fontTools.ttLib.tables.otBase.packUShort(value)[source]

otConverters

class fontTools.ttLib.tables.otConverters.AATLookup(name, repeat, aux, tableClass)[source]
BIN_SEARCH_HEADER_SIZE = 10
buildFormat0(writer, font, values)[source]
buildFormat2(writer, font, values)[source]
buildFormat6(writer, font, values)[source]
buildFormat8(writer, font, values)[source]
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

readFormat0(reader, font)[source]
readFormat2(reader, font)[source]
readFormat4(reader, font)[source]
readFormat6(reader, font)[source]
readFormat8(reader, font)[source]
write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
static writeBinSearchHeader(writer, numUnits, unitSize)[source]
writeFormat0(writer, font, values)[source]
writeFormat2(writer, font, segments)[source]
writeFormat6(writer, font, values)[source]
writeFormat8(writer, font, values)[source]
xmlRead(attrs, content, font)[source]

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)[source]

Write a value to XML.

class fontTools.ttLib.tables.otConverters.AATLookupWithDataOffset(name, repeat, aux, tableClass=None)[source]
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)[source]

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)[source]

Write a value to XML.

class fontTools.ttLib.tables.otConverters.BaseConverter(name, repeat, aux, tableClass=None)[source]

Base class for converter objects. Apart from the constructor, this is an abstract class.

getRecordSize(reader)[source]
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)[source]

Read an array of values from the reader.

write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)[source]
xmlRead(attrs, content, font)[source]

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)[source]

Write a value to XML.

class fontTools.ttLib.tables.otConverters.CIDGlyphMap(name, repeat, aux, tableClass=None)[source]
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)[source]

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)[source]

Write a value to XML.

class fontTools.ttLib.tables.otConverters.Char64(name, repeat, aux, tableClass=None)[source]

An ASCII string with up to 64 characters.

Unused character positions are filled with 0x00 bytes. Used in Apple AAT fonts in the gcid table.

static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 64
static toString(value)
write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.CompositeMode(name, repeat, aux, tableClass=None)[source]
enumClass

alias of fontTools.ttLib.tables.otTables.CompositeMode

classmethod fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 1
classmethod toString(value)
write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.ComputedInt(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

static toString(value)
write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)[source]

Write a value to XML.

class fontTools.ttLib.tables.otConverters.ComputedUInt8(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 1
static toString(value)
write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.ComputedULong(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 4
static toString(value)
write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.ComputedUShort(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 2
static toString(value)
write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.DeciPoints(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 2
static toString(value)
write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.DeltaValue(name, repeat, aux, tableClass=None)[source]
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)[source]

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)[source]

Write a value to XML.

class fontTools.ttLib.tables.otConverters.ExtSubTable(name, repeat, aux, tableClass=None)[source]
getConverter(tableType, lookupType)
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

readOffset(reader)
staticSize = 4
write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
writeNullOffset(writer)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.ExtendMode(name, repeat, aux, tableClass=None)[source]
enumClass

alias of fontTools.ttLib.tables.otTables.ExtendMode

classmethod fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 1
classmethod toString(value)
write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.F2Dot14(name, repeat, aux, tableClass=None)[source]
static fromString(value)[source]
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 2
static toString(value)[source]
write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.FeatureParams(name, repeat, aux, tableClass=None)[source]
getConverter(featureTag)[source]
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

readOffset(reader)
staticSize = 2
write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
writeNullOffset(writer)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.Fixed(name, repeat, aux, tableClass=None)[source]
static fromString(value)[source]
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 4
static toString(value)[source]
write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.Flags32(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 4
static toString(value)[source]
write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.FloatValue(name, repeat, aux, tableClass=None)[source]
static fromString(value)[source]
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

static toString(value)
write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.GlyphCIDMap(name, repeat, aux, tableClass=None)[source]
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)[source]

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)[source]

Write a value to XML.

class fontTools.ttLib.tables.otConverters.GlyphID(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)[source]

Read an array of values from the reader.

staticSize = 2
static toString(value)
typecode = 'H'
write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.GlyphID32(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 4
static toString(value)
typecode = 'L'
write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.Int8(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 1
static toString(value)
write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.IntValue(name, repeat, aux, tableClass=None)[source]
static fromString(value)[source]
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

static toString(value)
write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.LTable(name, repeat, aux, tableClass=None)[source]
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

readOffset(reader)[source]
staticSize = 4
write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
writeNullOffset(writer)[source]
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.Long(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 4
static toString(value)
write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.LookupFlag(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 2
static toString(value)
write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)[source]

Write a value to XML.

class fontTools.ttLib.tables.otConverters.MorxSubtableConverter(name, repeat, aux)[source]
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)[source]

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)[source]

Write a value to XML.

class fontTools.ttLib.tables.otConverters.NameID(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 2
static toString(value)
write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)[source]

Write a value to XML.

class fontTools.ttLib.tables.otConverters.STXHeader(name, repeat, aux, tableClass)[source]
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)[source]

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)[source]

Write a value to XML.

class fontTools.ttLib.tables.otConverters.Short(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 2
static toString(value)
write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.SimpleValue(name, repeat, aux, tableClass=None)[source]
static fromString(value)[source]
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

static toString(value)[source]
write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)[source]

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)[source]

Write a value to XML.

class fontTools.ttLib.tables.otConverters.Struct(name, repeat, aux, tableClass=None)[source]
getRecordSize(reader)[source]
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)[source]

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)[source]

Write a value to XML.

class fontTools.ttLib.tables.otConverters.StructWithLength(name, repeat, aux, tableClass=None)[source]
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.SubStruct(name, repeat, aux, tableClass=None)[source]
getConverter(tableType, lookupType)[source]
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)[source]

Write a value to XML.

class fontTools.ttLib.tables.otConverters.SubTable(name, repeat, aux, tableClass=None)[source]
getConverter(tableType, lookupType)[source]
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

readOffset(reader)
staticSize = 2
write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
writeNullOffset(writer)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)[source]

Write a value to XML.

class fontTools.ttLib.tables.otConverters.Table(name, repeat, aux, tableClass=None)[source]
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

readOffset(reader)[source]
staticSize = 2
write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
writeNullOffset(writer)[source]
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.Table24(name, repeat, aux, tableClass=None)[source]
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

readOffset(reader)[source]
staticSize = 3
write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
writeNullOffset(writer)[source]
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.Tag(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 4
static toString(value)
write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.UInt24(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 3
static toString(value)
write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.UInt8(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 1
static toString(value)
write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.ULong(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 4
static toString(value)
write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.UShort(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 2
static toString(value)
write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.ValueFormat(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 2
static toString(value)
write(writer, font, tableDict, format, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.ValueRecord(name, repeat, aux, tableClass=None)[source]
static fromString(value)
getRecordSize(reader)[source]
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 2
static toString(value)
write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)[source]

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)[source]

Write a value to XML.

class fontTools.ttLib.tables.otConverters.VarDataValue(name, repeat, aux, tableClass=None)[source]
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)[source]

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)[source]

Write a value to XML.

class fontTools.ttLib.tables.otConverters.VarF2Dot14(name, repeat, aux, tableClass=None)[source]
converterClasses = [<class 'fontTools.ttLib.tables.otConverters.F2Dot14'>, <class 'fontTools.ttLib.tables.otConverters.ULong'>]
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

tupleClass

alias of fontTools.ttLib.tables.otTables.VariableFloat

write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.VarFixed(name, repeat, aux, tableClass=None)[source]
converterClasses = [<class 'fontTools.ttLib.tables.otConverters.Fixed'>, <class 'fontTools.ttLib.tables.otConverters.ULong'>]
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

tupleClass

alias of fontTools.ttLib.tables.otTables.VariableFloat

write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.VarIdxMapValue(name, repeat, aux, tableClass=None)[source]
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.VarInt16(name, repeat, aux, tableClass=None)[source]
converterClasses = [<class 'fontTools.ttLib.tables.otConverters.Short'>, <class 'fontTools.ttLib.tables.otConverters.ULong'>]
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

tupleClass

alias of fontTools.ttLib.tables.otTables.VariableInt

write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.VarUInt16(name, repeat, aux, tableClass=None)[source]
converterClasses = [<class 'fontTools.ttLib.tables.otConverters.UShort'>, <class 'fontTools.ttLib.tables.otConverters.ULong'>]
getRecordSize(reader)
read(reader, font, tableDict)

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

tupleClass

alias of fontTools.ttLib.tables.otTables.VariableInt

write(writer, font, tableDict, value, repeatIndex=None)

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

class fontTools.ttLib.tables.otConverters.Version(name, repeat, aux, tableClass=None)[source]
static fromFloat(v)[source]
static fromString(value)[source]
getRecordSize(reader)
read(reader, font, tableDict)[source]

Read a value from the reader.

readArray(reader, font, tableDict, count)

Read an array of values from the reader.

staticSize = 4
static toString(value)[source]
write(writer, font, tableDict, value, repeatIndex=None)[source]

Write a value to the writer.

writeArray(writer, font, tableDict, values)
xmlRead(attrs, content, font)

Read a value from XML.

xmlWrite(xmlWriter, font, value, name, attrs)

Write a value to XML.

fontTools.ttLib.tables.otConverters.buildConverters(tableSpec, tableNamespace)[source]

Given a table spec from otData.py, build a converter object for each field of the table. This is called for each table in otData.py, and the results are assigned to the corresponding class in otTables.py.

fontTools.ttLib.tables.otConverters.istuple(t)

otData

otTables

fontTools.ttLib.tables.otTables – A collection of classes representing the various OpenType subtables.

Most are constructed upon import from data in otData.py, all are populated with converter objects from otConverters.py.

class fontTools.ttLib.tables.otTables.AATAction[source]
static compileActions(font, states)[source]
class fontTools.ttLib.tables.otTables.AATLookupSegment
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>]
convertersByName = {'firstGlyph': <fontTools.ttLib.tables.otConverters.UShort object>, 'lastGlyph': <fontTools.ttLib.tables.otConverters.UShort object>, 'value': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.AATState[source]
class fontTools.ttLib.tables.otTables.AATStateTable[source]
class fontTools.ttLib.tables.otTables.Affine2x3
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.VarFixed object>, <fontTools.ttLib.tables.otConverters.VarFixed object>, <fontTools.ttLib.tables.otConverters.VarFixed object>, <fontTools.ttLib.tables.otConverters.VarFixed object>, <fontTools.ttLib.tables.otConverters.VarFixed object>, <fontTools.ttLib.tables.otConverters.VarFixed object>]
convertersByName = {'dx': <fontTools.ttLib.tables.otConverters.VarFixed object>, 'dy': <fontTools.ttLib.tables.otConverters.VarFixed object>, 'xx': <fontTools.ttLib.tables.otConverters.VarFixed object>, 'xy': <fontTools.ttLib.tables.otConverters.VarFixed object>, 'yx': <fontTools.ttLib.tables.otConverters.VarFixed object>, 'yy': <fontTools.ttLib.tables.otConverters.VarFixed object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.AlternateSet
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.GlyphID object>]
convertersByName = {'Alternate': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'GlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.AlternateSubst[source]
LookupType = 3
closure_glyphs(s, cur_glyphs)
collect_lookups()
compile(writer, font)
converters = {1: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.AlternateSet'>]}
convertersByName = {1: {'AlternateSet': Struct of <class 'fontTools.ttLib.tables.otTables.AlternateSet'>, 'AlternateSetCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)[source]
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
may_have_non_1to1()
populateDefaults(propagator=None)[source]
postRead(rawTable, font)[source]
preWrite(font)[source]
prune_post_subset(font, options)
readFormat(reader)
subset_glyphs(s)
subset_lookups(lookup_indices)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)[source]
writeFormat(writer)
class fontTools.ttLib.tables.otTables.Anchor
compile(writer, font)
converters = {1: [<fontTools.ttLib.tables.otConverters.Short object>, <fontTools.ttLib.tables.otConverters.Short object>], 2: [<fontTools.ttLib.tables.otConverters.Short object>, <fontTools.ttLib.tables.otConverters.Short object>, <fontTools.ttLib.tables.otConverters.UShort object>], 3: [<fontTools.ttLib.tables.otConverters.Short object>, <fontTools.ttLib.tables.otConverters.Short object>, Struct of <class 'fontTools.ttLib.tables.otTables.Device'>, Struct of <class 'fontTools.ttLib.tables.otTables.Device'>]}
convertersByName = {1: {'XCoordinate': <fontTools.ttLib.tables.otConverters.Short object>, 'YCoordinate': <fontTools.ttLib.tables.otConverters.Short object>}, 2: {'AnchorPoint': <fontTools.ttLib.tables.otConverters.UShort object>, 'XCoordinate': <fontTools.ttLib.tables.otConverters.Short object>, 'YCoordinate': <fontTools.ttLib.tables.otConverters.Short object>}, 3: {'XCoordinate': <fontTools.ttLib.tables.otConverters.Short object>, 'XDeviceTable': Struct of <class 'fontTools.ttLib.tables.otTables.Device'>, 'YCoordinate': <fontTools.ttLib.tables.otConverters.Short object>, 'YDeviceTable': Struct of <class 'fontTools.ttLib.tables.otTables.Device'>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
prune_hints()
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.AnchorGlyphData
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedULong object>, Struct of <class 'fontTools.ttLib.tables.otTables.AnchorPoint'>]
convertersByName = {'AnchorPoint': Struct of <class 'fontTools.ttLib.tables.otTables.AnchorPoint'>, 'AnchorPointCount': <fontTools.ttLib.tables.otConverters.ComputedULong object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.AnchorPoint
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Short object>, <fontTools.ttLib.tables.otConverters.Short object>]
convertersByName = {'XCoordinate': <fontTools.ttLib.tables.otConverters.Short object>, 'YCoordinate': <fontTools.ttLib.tables.otConverters.Short object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.AnchorPoints
compile(writer, font)
converters = {0: [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.AATLookupWithDataOffset object>]}
convertersByName = {0: {'Anchors': <fontTools.ttLib.tables.otConverters.AATLookupWithDataOffset object>, 'Flags': <fontTools.ttLib.tables.otConverters.UShort object>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.AttachList
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.AttachPoint'>]
convertersByName = {'AttachPoint': Struct of <class 'fontTools.ttLib.tables.otTables.AttachPoint'>, 'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'GlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mergeMap = {'AttachPoint': <function sumLists>, 'Coverage': <function mergeObjects>, 'GlyphCount': <built-in function sum>}
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.AttachPoint
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UShort object>]
convertersByName = {'PointCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'PointIndex': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.Axis
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.BaseTagList'>, Struct of <class 'fontTools.ttLib.tables.otTables.BaseScriptList'>]
convertersByName = {'BaseScriptList': Struct of <class 'fontTools.ttLib.tables.otTables.BaseScriptList'>, 'BaseTagList': Struct of <class 'fontTools.ttLib.tables.otTables.BaseTagList'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mergeMap = {'*': <function mergeObjects>}
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.AxisRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Tag object>, <fontTools.ttLib.tables.otConverters.NameID object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UInt8 object>]
convertersByName = {'AxisNameID': <fontTools.ttLib.tables.otConverters.NameID object>, 'AxisOrdering': <fontTools.ttLib.tables.otConverters.UShort object>, 'AxisTag': <fontTools.ttLib.tables.otConverters.Tag object>, 'MoreBytes': <fontTools.ttLib.tables.otConverters.UInt8 object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.AxisRecordArray
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.AxisRecord'>]
convertersByName = {'Axis': Struct of <class 'fontTools.ttLib.tables.otTables.AxisRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.AxisValue
compile(writer, font)
converters = {1: [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.NameID object>, <fontTools.ttLib.tables.otConverters.Fixed object>], 2: [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.NameID object>, <fontTools.ttLib.tables.otConverters.Fixed object>, <fontTools.ttLib.tables.otConverters.Fixed object>, <fontTools.ttLib.tables.otConverters.Fixed object>], 3: [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.NameID object>, <fontTools.ttLib.tables.otConverters.Fixed object>, <fontTools.ttLib.tables.otConverters.Fixed object>], 4: [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.NameID object>, Struct of <class 'fontTools.ttLib.tables.otTables.AxisValueRecord'>]}
convertersByName = {1: {'AxisIndex': <fontTools.ttLib.tables.otConverters.UShort object>, 'Flags': <fontTools.ttLib.tables.otConverters.UShort object>, 'Value': <fontTools.ttLib.tables.otConverters.Fixed object>, 'ValueNameID': <fontTools.ttLib.tables.otConverters.NameID object>}, 2: {'AxisIndex': <fontTools.ttLib.tables.otConverters.UShort object>, 'Flags': <fontTools.ttLib.tables.otConverters.UShort object>, 'NominalValue': <fontTools.ttLib.tables.otConverters.Fixed object>, 'RangeMaxValue': <fontTools.ttLib.tables.otConverters.Fixed object>, 'RangeMinValue': <fontTools.ttLib.tables.otConverters.Fixed object>, 'ValueNameID': <fontTools.ttLib.tables.otConverters.NameID object>}, 3: {'AxisIndex': <fontTools.ttLib.tables.otConverters.UShort object>, 'Flags': <fontTools.ttLib.tables.otConverters.UShort object>, 'LinkedValue': <fontTools.ttLib.tables.otConverters.Fixed object>, 'Value': <fontTools.ttLib.tables.otConverters.Fixed object>, 'ValueNameID': <fontTools.ttLib.tables.otConverters.NameID object>}, 4: {'AxisCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'AxisValueRecord': Struct of <class 'fontTools.ttLib.tables.otTables.AxisValueRecord'>, 'Flags': <fontTools.ttLib.tables.otConverters.UShort object>, 'ValueNameID': <fontTools.ttLib.tables.otConverters.NameID object>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.AxisValueArray
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.AxisValue'>]
convertersByName = {'AxisValue': Struct of <class 'fontTools.ttLib.tables.otTables.AxisValue'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.AxisValueRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.Fixed object>]
convertersByName = {'AxisIndex': <fontTools.ttLib.tables.otConverters.UShort object>, 'Value': <fontTools.ttLib.tables.otConverters.Fixed object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.BASE
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Version object>, Struct of <class 'fontTools.ttLib.tables.otTables.Axis'>, Struct of <class 'fontTools.ttLib.tables.otTables.Axis'>, Struct of <class 'fontTools.ttLib.tables.otTables.VarStore'>]
convertersByName = {'HorizAxis': Struct of <class 'fontTools.ttLib.tables.otTables.Axis'>, 'VarStore': Struct of <class 'fontTools.ttLib.tables.otTables.VarStore'>, 'Version': <fontTools.ttLib.tables.otConverters.Version object>, 'VertAxis': Struct of <class 'fontTools.ttLib.tables.otTables.Axis'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mergeMap = {'*': <function mergeObjects>, 'Version': <built-in function max>}
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.BacktrackClassDef

alias of fontTools.ttLib.tables.otTables.ClassDef

fontTools.ttLib.tables.otTables.BacktrackCoverage

alias of fontTools.ttLib.tables.otTables.Coverage

fontTools.ttLib.tables.otTables.BaseAnchor

alias of fontTools.ttLib.tables.otTables.Anchor

class fontTools.ttLib.tables.otTables.BaseArray
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.BaseRecord'>]
convertersByName = {'BaseCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'BaseRecord': Struct of <class 'fontTools.ttLib.tables.otTables.BaseRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.BaseCoord
compile(writer, font)
converters = {1: [<fontTools.ttLib.tables.otConverters.Short object>], 2: [<fontTools.ttLib.tables.otConverters.Short object>, <fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.UShort object>], 3: [<fontTools.ttLib.tables.otConverters.Short object>, Struct of <class 'fontTools.ttLib.tables.otTables.Device'>]}
convertersByName = {1: {'Coordinate': <fontTools.ttLib.tables.otConverters.Short object>}, 2: {'BaseCoordPoint': <fontTools.ttLib.tables.otConverters.UShort object>, 'Coordinate': <fontTools.ttLib.tables.otConverters.Short object>, 'ReferenceGlyph': <fontTools.ttLib.tables.otConverters.GlyphID object>}, 3: {'Coordinate': <fontTools.ttLib.tables.otConverters.Short object>, 'DeviceTable': Struct of <class 'fontTools.ttLib.tables.otTables.Device'>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.BaseCoverage

alias of fontTools.ttLib.tables.otTables.Coverage

class fontTools.ttLib.tables.otTables.BaseGlyphRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>]
convertersByName = {'BaseGlyph': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'FirstLayerIndex': <fontTools.ttLib.tables.otConverters.UShort object>, 'NumLayers': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.BaseGlyphRecordArray[source]
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.BaseGlyphRecord'>]
convertersByName = {'BaseGlyphRecord': Struct of <class 'fontTools.ttLib.tables.otTables.BaseGlyphRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
preWrite(font)[source]
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.BaseGlyphV1List[source]
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedULong object>, Struct of <class 'fontTools.ttLib.tables.otTables.BaseGlyphV1Record'>]
convertersByName = {'BaseGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedULong object>, 'BaseGlyphV1Record': Struct of <class 'fontTools.ttLib.tables.otTables.BaseGlyphV1Record'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
preWrite(font)[source]
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.BaseGlyphV1Record
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.GlyphID object>, Struct of <class 'fontTools.ttLib.tables.otTables.Paint'>]
convertersByName = {'BaseGlyph': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'Paint': Struct of <class 'fontTools.ttLib.tables.otTables.Paint'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.BaseLangSysRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Tag object>, Struct of <class 'fontTools.ttLib.tables.otTables.MinMax'>]
convertersByName = {'BaseLangSysTag': <fontTools.ttLib.tables.otConverters.Tag object>, 'MinMax': Struct of <class 'fontTools.ttLib.tables.otTables.MinMax'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.BaseRecord
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.Anchor'>]
convertersByName = {'BaseAnchor': Struct of <class 'fontTools.ttLib.tables.otTables.Anchor'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.BaseScript
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.BaseValues'>, Struct of <class 'fontTools.ttLib.tables.otTables.MinMax'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.BaseLangSysRecord'>]
convertersByName = {'BaseLangSysCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'BaseLangSysRecord': Struct of <class 'fontTools.ttLib.tables.otTables.BaseLangSysRecord'>, 'BaseValues': Struct of <class 'fontTools.ttLib.tables.otTables.BaseValues'>, 'DefaultMinMax': Struct of <class 'fontTools.ttLib.tables.otTables.MinMax'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.BaseScriptList
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.BaseScriptRecord'>]
convertersByName = {'BaseScriptCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'BaseScriptRecord': Struct of <class 'fontTools.ttLib.tables.otTables.BaseScriptRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mergeMap = {'BaseScriptCount': <function <lambda>>, 'BaseScriptRecord': <function <lambda>>}
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.BaseScriptRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Tag object>, Struct of <class 'fontTools.ttLib.tables.otTables.BaseScript'>]
convertersByName = {'BaseScript': Struct of <class 'fontTools.ttLib.tables.otTables.BaseScript'>, 'BaseScriptTag': <fontTools.ttLib.tables.otConverters.Tag object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.BaseTagList
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.Tag object>]
convertersByName = {'BaseTagCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'BaselineTag': <fontTools.ttLib.tables.otConverters.Tag object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mergeMap = {'BaseTagCount': <built-in function sum>, 'BaselineTag': <function sumLists>}
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.BaseValues
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.BaseCoord'>]
convertersByName = {'BaseCoord': Struct of <class 'fontTools.ttLib.tables.otTables.BaseCoord'>, 'BaseCoordCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'DefaultIndex': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.Baseline
compile(writer, font)
converters = {0: [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>], 1: [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.AATLookup object>], 2: [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.UShort object>], 3: [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.AATLookup object>]}
convertersByName = {0: {'DefaultBaseline': <fontTools.ttLib.tables.otConverters.UShort object>, 'Delta': <fontTools.ttLib.tables.otConverters.UShort object>}, 1: {'BaselineValues': <fontTools.ttLib.tables.otConverters.AATLookup object>, 'DefaultBaseline': <fontTools.ttLib.tables.otConverters.UShort object>, 'Delta': <fontTools.ttLib.tables.otConverters.UShort object>}, 2: {'ControlPoint': <fontTools.ttLib.tables.otConverters.UShort object>, 'DefaultBaseline': <fontTools.ttLib.tables.otConverters.UShort object>, 'StandardGlyph': <fontTools.ttLib.tables.otConverters.GlyphID object>}, 3: {'BaselineValues': <fontTools.ttLib.tables.otConverters.AATLookup object>, 'ControlPoint': <fontTools.ttLib.tables.otConverters.UShort object>, 'DefaultBaseline': <fontTools.ttLib.tables.otConverters.UShort object>, 'StandardGlyph': <fontTools.ttLib.tables.otConverters.GlyphID object>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.BottomLeftMathKern

alias of fontTools.ttLib.tables.otTables.MathKern

fontTools.ttLib.tables.otTables.BottomRightMathKern

alias of fontTools.ttLib.tables.otTables.MathKern

class fontTools.ttLib.tables.otTables.CIDGlyphMapping
compile(writer, font)
converters = {0: [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedULong object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.Char64 object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.Char64 object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.CIDGlyphMap object>]}
convertersByName = {0: {'DataFormat': <fontTools.ttLib.tables.otConverters.UShort object>, 'Mapping': <fontTools.ttLib.tables.otConverters.CIDGlyphMap object>, 'Order': <fontTools.ttLib.tables.otConverters.UShort object>, 'OrderName': <fontTools.ttLib.tables.otConverters.Char64 object>, 'Registry': <fontTools.ttLib.tables.otConverters.UShort object>, 'RegistryName': <fontTools.ttLib.tables.otConverters.Char64 object>, 'StructLength': <fontTools.ttLib.tables.otConverters.ComputedULong object>, 'SupplementVersion': <fontTools.ttLib.tables.otConverters.UShort object>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.COLR[source]
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.BaseGlyphRecordArray'>, Struct of <class 'fontTools.ttLib.tables.otTables.LayerRecordArray'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.BaseGlyphV1List'>, Struct of <class 'fontTools.ttLib.tables.otTables.LayerV1List'>, Struct of <class 'fontTools.ttLib.tables.otTables.VarStore'>]
convertersByName = {'BaseGlyphRecordArray': Struct of <class 'fontTools.ttLib.tables.otTables.BaseGlyphRecordArray'>, 'BaseGlyphRecordCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'BaseGlyphV1List': Struct of <class 'fontTools.ttLib.tables.otTables.BaseGlyphV1List'>, 'LayerRecordArray': Struct of <class 'fontTools.ttLib.tables.otTables.LayerRecordArray'>, 'LayerRecordCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'LayerV1List': Struct of <class 'fontTools.ttLib.tables.otTables.LayerV1List'>, 'VarStore': Struct of <class 'fontTools.ttLib.tables.otTables.VarStore'>, 'Version': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)[source]
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
preWrite(font)[source]
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.CaretValue
compile(writer, font)
converters = {1: [<fontTools.ttLib.tables.otConverters.Short object>], 2: [<fontTools.ttLib.tables.otConverters.UShort object>], 3: [<fontTools.ttLib.tables.otConverters.Short object>, Struct of <class 'fontTools.ttLib.tables.otTables.Device'>]}
convertersByName = {1: {'Coordinate': <fontTools.ttLib.tables.otConverters.Short object>}, 2: {'CaretValuePoint': <fontTools.ttLib.tables.otConverters.UShort object>}, 3: {'Coordinate': <fontTools.ttLib.tables.otConverters.Short object>, 'DeviceTable': Struct of <class 'fontTools.ttLib.tables.otTables.Device'>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ChainContextPos
LookupType = 8
collect_lookups()
compile(writer, font)
converters = {1: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.ChainPosRuleSet'>], 2: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.ChainPosClassSet'>], 3: [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.PosLookupRecord'>]}
convertersByName = {1: {'ChainPosRuleSet': Struct of <class 'fontTools.ttLib.tables.otTables.ChainPosRuleSet'>, 'ChainPosRuleSetCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>}, 2: {'BacktrackClassDef': Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, 'ChainPosClassSet': Struct of <class 'fontTools.ttLib.tables.otTables.ChainPosClassSet'>, 'ChainPosClassSetCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'InputClassDef': Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, 'LookAheadClassDef': Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>}, 3: {'BacktrackCoverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'BacktrackGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'InputCoverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'InputGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'LookAheadCoverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'LookAheadGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'PosCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'PosLookupRecord': Struct of <class 'fontTools.ttLib.tables.otTables.PosLookupRecord'>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
populateDefaults(propagator=None)
prune_post_subset(font, options)
readFormat(reader)
subset_glyphs(s)
subset_lookups(lookup_indices)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ChainContextSubst
LookupType = 6
closure_glyphs(s, cur_glyphs)
collect_lookups()
compile(writer, font)
converters = {1: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.ChainSubRuleSet'>], 2: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.ChainSubClassSet'>], 3: [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.SubstLookupRecord'>]}
convertersByName = {1: {'ChainSubRuleSet': Struct of <class 'fontTools.ttLib.tables.otTables.ChainSubRuleSet'>, 'ChainSubRuleSetCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>}, 2: {'BacktrackClassDef': Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, 'ChainSubClassSet': Struct of <class 'fontTools.ttLib.tables.otTables.ChainSubClassSet'>, 'ChainSubClassSetCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'InputClassDef': Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, 'LookAheadClassDef': Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>}, 3: {'BacktrackCoverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'BacktrackGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'InputCoverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'InputGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'LookAheadCoverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'LookAheadGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'SubstCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'SubstLookupRecord': Struct of <class 'fontTools.ttLib.tables.otTables.SubstLookupRecord'>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
may_have_non_1to1()
populateDefaults(propagator=None)
prune_post_subset(font, options)
readFormat(reader)
subset_glyphs(s)
subset_lookups(lookup_indices)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ChainPosClassRule
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.PosLookupRecord'>]
convertersByName = {'Backtrack': <fontTools.ttLib.tables.otConverters.UShort object>, 'BacktrackGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Input': <fontTools.ttLib.tables.otConverters.UShort object>, 'InputGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'LookAhead': <fontTools.ttLib.tables.otConverters.UShort object>, 'LookAheadGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'PosCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'PosLookupRecord': Struct of <class 'fontTools.ttLib.tables.otTables.PosLookupRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ChainPosClassSet
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.ChainPosClassRule'>]
convertersByName = {'ChainPosClassRule': Struct of <class 'fontTools.ttLib.tables.otTables.ChainPosClassRule'>, 'ChainPosClassRuleCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ChainPosRule
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.PosLookupRecord'>]
convertersByName = {'Backtrack': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'BacktrackGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Input': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'InputGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'LookAhead': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'LookAheadGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'PosCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'PosLookupRecord': Struct of <class 'fontTools.ttLib.tables.otTables.PosLookupRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ChainPosRuleSet
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.ChainPosRule'>]
convertersByName = {'ChainPosRule': Struct of <class 'fontTools.ttLib.tables.otTables.ChainPosRule'>, 'ChainPosRuleCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ChainSubClassRule
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.SubstLookupRecord'>]
convertersByName = {'Backtrack': <fontTools.ttLib.tables.otConverters.UShort object>, 'BacktrackGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Input': <fontTools.ttLib.tables.otConverters.UShort object>, 'InputGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'LookAhead': <fontTools.ttLib.tables.otConverters.UShort object>, 'LookAheadGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'SubstCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'SubstLookupRecord': Struct of <class 'fontTools.ttLib.tables.otTables.SubstLookupRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ChainSubClassSet
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.ChainSubClassRule'>]
convertersByName = {'ChainSubClassRule': Struct of <class 'fontTools.ttLib.tables.otTables.ChainSubClassRule'>, 'ChainSubClassRuleCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ChainSubRule
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.SubstLookupRecord'>]
convertersByName = {'Backtrack': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'BacktrackGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Input': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'InputGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'LookAhead': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'LookAheadGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'SubstCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'SubstLookupRecord': Struct of <class 'fontTools.ttLib.tables.otTables.SubstLookupRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ChainSubRuleSet
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.ChainSubRule'>]
convertersByName = {'ChainSubRule': Struct of <class 'fontTools.ttLib.tables.otTables.ChainSubRule'>, 'ChainSubRuleCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.Class1Record
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.Class2Record'>]
convertersByName = {'Class2Record': Struct of <class 'fontTools.ttLib.tables.otTables.Class2Record'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.Class2Record
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ValueRecord object>, <fontTools.ttLib.tables.otConverters.ValueRecord object>]
convertersByName = {'Value1': <fontTools.ttLib.tables.otConverters.ValueRecord object>, 'Value2': <fontTools.ttLib.tables.otConverters.ValueRecord object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ClassDef[source]
compile(writer, font)
converters = {1: [<fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UShort object>], 2: [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.ClassRangeRecord'>]}
convertersByName = {1: {'ClassValueArray': <fontTools.ttLib.tables.otConverters.UShort object>, 'GlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'StartGlyph': <fontTools.ttLib.tables.otConverters.GlyphID object>}, 2: {'ClassRangeCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'ClassRangeRecord': Struct of <class 'fontTools.ttLib.tables.otTables.ClassRangeRecord'>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)[source]
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
intersect(glyphs)

Returns ascending list of matching class values.

intersect_class(glyphs, klass)

Returns set of glyphs matching class.

mergeMap = {'Format': <built-in function min>, 'classDefs': <function sumDicts>}
populateDefaults(propagator=None)[source]
postRead(rawTable, font)[source]
preWrite(font)[source]
readFormat(reader)
remap(class_map)

Remaps classes.

subset(glyphs, remap=False)

Returns ascending list of remaining classes.

toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)[source]
writeFormat(writer)
fontTools.ttLib.tables.otTables.ClassDef1

alias of fontTools.ttLib.tables.otTables.ClassDef

fontTools.ttLib.tables.otTables.ClassDef2

alias of fontTools.ttLib.tables.otTables.ClassDef

class fontTools.ttLib.tables.otTables.ClassRangeRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.UShort object>]
convertersByName = {'Class': <fontTools.ttLib.tables.otConverters.UShort object>, 'End': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'Start': <fontTools.ttLib.tables.otConverters.GlyphID object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ColorIndex
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.VarF2Dot14 object>]
convertersByName = {'Alpha': <fontTools.ttLib.tables.otConverters.VarF2Dot14 object>, 'PaletteIndex': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ColorLine
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ExtendMode object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.ColorStop'>]
convertersByName = {'ColorStop': Struct of <class 'fontTools.ttLib.tables.otTables.ColorStop'>, 'Extend': <fontTools.ttLib.tables.otConverters.ExtendMode object>, 'StopCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ColorStop
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.VarF2Dot14 object>, Struct of <class 'fontTools.ttLib.tables.otTables.ColorIndex'>]
convertersByName = {'Color': Struct of <class 'fontTools.ttLib.tables.otTables.ColorIndex'>, 'StopOffset': <fontTools.ttLib.tables.otConverters.VarF2Dot14 object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ComponentRecord
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.Anchor'>]
convertersByName = {'LigatureAnchor': Struct of <class 'fontTools.ttLib.tables.otTables.Anchor'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.CompositeMode(value)[source]

An enumeration.

CLEAR = 0
COLOR_BURN = 17
COLOR_DODGE = 16
DARKEN = 14
DEST = 2
DEST_ATOP = 10
DEST_IN = 6
DEST_OUT = 8
DEST_OVER = 4
DIFFERENCE = 20
EXCLUSION = 21
HARD_LIGHT = 18
HSL_COLOR = 25
HSL_HUE = 23
HSL_LUMINOSITY = 26
HSL_SATURATION = 24
LIGHTEN = 15
MULTIPLY = 22
OVERLAY = 13
SCREEN = 12
SOFT_LIGHT = 19
SRC = 1
SRC_ATOP = 9
SRC_IN = 5
SRC_OUT = 7
SRC_OVER = 3
XOR = 11
class fontTools.ttLib.tables.otTables.ConditionSet
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.ConditionTable'>]
convertersByName = {'ConditionCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'ConditionTable': Struct of <class 'fontTools.ttLib.tables.otTables.ConditionTable'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ConditionTable
compile(writer, font)
converters = {1: [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.F2Dot14 object>, <fontTools.ttLib.tables.otConverters.F2Dot14 object>]}
convertersByName = {1: {'AxisIndex': <fontTools.ttLib.tables.otConverters.UShort object>, 'FilterRangeMaxValue': <fontTools.ttLib.tables.otConverters.F2Dot14 object>, 'FilterRangeMinValue': <fontTools.ttLib.tables.otConverters.F2Dot14 object>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ContextPos
LookupType = 7
collect_lookups()
compile(writer, font)
converters = {1: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.PosRuleSet'>], 2: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.PosClassSet'>], 3: [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, Struct of <class 'fontTools.ttLib.tables.otTables.PosLookupRecord'>]}
convertersByName = {1: {'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'PosRuleSet': Struct of <class 'fontTools.ttLib.tables.otTables.PosRuleSet'>, 'PosRuleSetCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}, 2: {'ClassDef': Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, 'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'PosClassSet': Struct of <class 'fontTools.ttLib.tables.otTables.PosClassSet'>, 'PosClassSetCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}, 3: {'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'GlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'PosCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'PosLookupRecord': Struct of <class 'fontTools.ttLib.tables.otTables.PosLookupRecord'>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
populateDefaults(propagator=None)
prune_post_subset(font, options)
readFormat(reader)
subset_glyphs(s)
subset_lookups(lookup_indices)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ContextSubst
LookupType = 5
closure_glyphs(s, cur_glyphs)
collect_lookups()
compile(writer, font)
converters = {1: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.SubRuleSet'>], 2: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.SubClassSet'>], 3: [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, Struct of <class 'fontTools.ttLib.tables.otTables.SubstLookupRecord'>]}
convertersByName = {1: {'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'SubRuleSet': Struct of <class 'fontTools.ttLib.tables.otTables.SubRuleSet'>, 'SubRuleSetCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}, 2: {'ClassDef': Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, 'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'SubClassSet': Struct of <class 'fontTools.ttLib.tables.otTables.SubClassSet'>, 'SubClassSetCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}, 3: {'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'GlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'SubstCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'SubstLookupRecord': Struct of <class 'fontTools.ttLib.tables.otTables.SubstLookupRecord'>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
may_have_non_1to1()
populateDefaults(propagator=None)
prune_post_subset(font, options)
readFormat(reader)
subset_glyphs(s)
subset_lookups(lookup_indices)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ContextualMorph
LookupType = 1
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.STXHeader object>]
convertersByName = {'StateTable': <fontTools.ttLib.tables.otConverters.STXHeader object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ContextualMorphAction[source]
actionHeaderSize = 0
compile(writer, font, actionIndex)[source]
static compileActions(font, states)
decompile(reader, font, actionReader)[source]
fromXML(name, attrs, content, font)[source]
staticSize = 8
toXML(xmlWriter, font, attrs, name)[source]
class fontTools.ttLib.tables.otTables.Coverage[source]
compile(writer, font)
converters = {1: [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.GlyphID object>], 2: [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.RangeRecord'>]}
convertersByName = {1: {'GlyphArray': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'GlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}, 2: {'RangeCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'RangeRecord': Struct of <class 'fontTools.ttLib.tables.otTables.RangeRecord'>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)[source]
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
intersect(glyphs)

Returns ascending list of matching coverage values.

intersect_glyphs(glyphs)

Returns set of intersecting glyphs.

mergeMap = {'Format': <built-in function min>, 'glyphs': <function sumLists>}
populateDefaults(propagator=None)[source]
postRead(rawTable, font)[source]
preWrite(font)[source]
readFormat(reader)
remap(coverage_map)

Remaps coverage.

subset(glyphs)

Returns ascending list of remaining coverage values.

toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)[source]
writeFormat(writer)
class fontTools.ttLib.tables.otTables.CursivePos
LookupType = 3
collect_lookups()
compile(writer, font)
converters = {1: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.EntryExitRecord'>]}
convertersByName = {1: {'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'EntryExitCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'EntryExitRecord': Struct of <class 'fontTools.ttLib.tables.otTables.EntryExitRecord'>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
populateDefaults(propagator=None)
prune_post_subset(font, options)
readFormat(reader)
subset_glyphs(s)
subset_lookups(lookup_indices)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.DefJstfLangSys

alias of fontTools.ttLib.tables.otTables.JstfLangSys

fontTools.ttLib.tables.otTables.DefaultLangSys

alias of fontTools.ttLib.tables.otTables.LangSys

fontTools.ttLib.tables.otTables.DefaultMinMax

alias of fontTools.ttLib.tables.otTables.MinMax

class fontTools.ttLib.tables.otTables.Device
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.DeltaValue object>]
convertersByName = {'DeltaFormat': <fontTools.ttLib.tables.otConverters.UShort object>, 'DeltaValue': <fontTools.ttLib.tables.otConverters.DeltaValue object>, 'EndSize': <fontTools.ttLib.tables.otConverters.UShort object>, 'StartSize': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.DeviceTable

alias of fontTools.ttLib.tables.otTables.Device

fontTools.ttLib.tables.otTables.EntryAnchor

alias of fontTools.ttLib.tables.otTables.Anchor

class fontTools.ttLib.tables.otTables.EntryExitRecord
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.Anchor'>, Struct of <class 'fontTools.ttLib.tables.otTables.Anchor'>]
convertersByName = {'EntryAnchor': Struct of <class 'fontTools.ttLib.tables.otTables.Anchor'>, 'ExitAnchor': Struct of <class 'fontTools.ttLib.tables.otTables.Anchor'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.ExitAnchor

alias of fontTools.ttLib.tables.otTables.Anchor

class fontTools.ttLib.tables.otTables.ExtendMode(value)[source]

An enumeration.

PAD = 0
REFLECT = 2
REPEAT = 1
fontTools.ttLib.tables.otTables.ExtendedShapeCoverage

alias of fontTools.ttLib.tables.otTables.Coverage

class fontTools.ttLib.tables.otTables.ExtenderGlyph
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.GlyphID object>]
convertersByName = {'ExtenderGlyph': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'GlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.ExtensionDisableGPOS

alias of fontTools.ttLib.tables.otTables.JstfGPOSModList

fontTools.ttLib.tables.otTables.ExtensionDisableGSUB

alias of fontTools.ttLib.tables.otTables.JstfGSUBModList

fontTools.ttLib.tables.otTables.ExtensionEnableGPOS

alias of fontTools.ttLib.tables.otTables.JstfGPOSModList

fontTools.ttLib.tables.otTables.ExtensionEnableGSUB

alias of fontTools.ttLib.tables.otTables.JstfGSUBModList

fontTools.ttLib.tables.otTables.ExtensionJstfMax

alias of fontTools.ttLib.tables.otTables.JstfMax

class fontTools.ttLib.tables.otTables.ExtensionPos
LookupType = 9
collect_lookups()
compile(writer, font)
converters = {1: [<fontTools.ttLib.tables.otConverters.UShort object>, Struct of None]}
convertersByName = {1: {'AlternateSubst': Struct of <class 'fontTools.ttLib.tables.otTables.AlternateSubst'>, 'ChainContextPos': Struct of <class 'fontTools.ttLib.tables.otTables.ChainContextPos'>, 'ChainContextSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ChainContextSubst'>, 'ContextPos': Struct of <class 'fontTools.ttLib.tables.otTables.ContextPos'>, 'ContextSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ContextSubst'>, 'ContextualMorph': Struct of <class 'fontTools.ttLib.tables.otTables.ContextualMorph'>, 'CursivePos': Struct of <class 'fontTools.ttLib.tables.otTables.CursivePos'>, 'ExtSubTable': Struct of None, 'ExtensionLookupType': <fontTools.ttLib.tables.otConverters.UShort object>, 'ExtensionPos': Struct of <class 'fontTools.ttLib.tables.otTables.ExtensionPos'>, 'ExtensionSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ExtensionSubst'>, 'InsertionMorph': Struct of <class 'fontTools.ttLib.tables.otTables.InsertionMorph'>, 'LigatureMorph': Struct of <class 'fontTools.ttLib.tables.otTables.LigatureMorph'>, 'LigatureSubst': Struct of <class 'fontTools.ttLib.tables.otTables.LigatureSubst'>, 'MarkBasePos': Struct of <class 'fontTools.ttLib.tables.otTables.MarkBasePos'>, 'MarkLigPos': Struct of <class 'fontTools.ttLib.tables.otTables.MarkLigPos'>, 'MarkMarkPos': Struct of <class 'fontTools.ttLib.tables.otTables.MarkMarkPos'>, 'MultipleSubst': Struct of <class 'fontTools.ttLib.tables.otTables.MultipleSubst'>, 'NoncontextualMorph': Struct of <class 'fontTools.ttLib.tables.otTables.NoncontextualMorph'>, 'PairPos': Struct of <class 'fontTools.ttLib.tables.otTables.PairPos'>, 'RearrangementMorph': Struct of <class 'fontTools.ttLib.tables.otTables.RearrangementMorph'>, 'ReverseChainSingleSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ReverseChainSingleSubst'>, 'SinglePos': Struct of <class 'fontTools.ttLib.tables.otTables.SinglePos'>, 'SingleSubst': Struct of <class 'fontTools.ttLib.tables.otTables.SingleSubst'>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
populateDefaults(propagator=None)
prune_post_subset(font, options)
readFormat(reader)
subset_glyphs(s)
subset_lookups(lookup_indices)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ExtensionSubst
LookupType = 7
closure_glyphs(s, cur_glyphs)
collect_lookups()
compile(writer, font)
converters = {1: [<fontTools.ttLib.tables.otConverters.UShort object>, Struct of None]}
convertersByName = {1: {'AlternateSubst': Struct of <class 'fontTools.ttLib.tables.otTables.AlternateSubst'>, 'ChainContextPos': Struct of <class 'fontTools.ttLib.tables.otTables.ChainContextPos'>, 'ChainContextSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ChainContextSubst'>, 'ContextPos': Struct of <class 'fontTools.ttLib.tables.otTables.ContextPos'>, 'ContextSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ContextSubst'>, 'ContextualMorph': Struct of <class 'fontTools.ttLib.tables.otTables.ContextualMorph'>, 'CursivePos': Struct of <class 'fontTools.ttLib.tables.otTables.CursivePos'>, 'ExtSubTable': Struct of None, 'ExtensionLookupType': <fontTools.ttLib.tables.otConverters.UShort object>, 'ExtensionPos': Struct of <class 'fontTools.ttLib.tables.otTables.ExtensionPos'>, 'ExtensionSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ExtensionSubst'>, 'InsertionMorph': Struct of <class 'fontTools.ttLib.tables.otTables.InsertionMorph'>, 'LigatureMorph': Struct of <class 'fontTools.ttLib.tables.otTables.LigatureMorph'>, 'LigatureSubst': Struct of <class 'fontTools.ttLib.tables.otTables.LigatureSubst'>, 'MarkBasePos': Struct of <class 'fontTools.ttLib.tables.otTables.MarkBasePos'>, 'MarkLigPos': Struct of <class 'fontTools.ttLib.tables.otTables.MarkLigPos'>, 'MarkMarkPos': Struct of <class 'fontTools.ttLib.tables.otTables.MarkMarkPos'>, 'MultipleSubst': Struct of <class 'fontTools.ttLib.tables.otTables.MultipleSubst'>, 'NoncontextualMorph': Struct of <class 'fontTools.ttLib.tables.otTables.NoncontextualMorph'>, 'PairPos': Struct of <class 'fontTools.ttLib.tables.otTables.PairPos'>, 'RearrangementMorph': Struct of <class 'fontTools.ttLib.tables.otTables.RearrangementMorph'>, 'ReverseChainSingleSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ReverseChainSingleSubst'>, 'SinglePos': Struct of <class 'fontTools.ttLib.tables.otTables.SinglePos'>, 'SingleSubst': Struct of <class 'fontTools.ttLib.tables.otTables.SingleSubst'>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
may_have_non_1to1()
populateDefaults(propagator=None)
prune_post_subset(font, options)
readFormat(reader)
subset_glyphs(s)
subset_lookups(lookup_indices)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.FeatMinMaxRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Tag object>, Struct of <class 'fontTools.ttLib.tables.otTables.BaseCoord'>, Struct of <class 'fontTools.ttLib.tables.otTables.BaseCoord'>]
convertersByName = {'FeatureTableTag': <fontTools.ttLib.tables.otConverters.Tag object>, 'MaxCoord': Struct of <class 'fontTools.ttLib.tables.otTables.BaseCoord'>, 'MinCoord': Struct of <class 'fontTools.ttLib.tables.otTables.BaseCoord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.Feature
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.FeatureParams'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UShort object>]
convertersByName = {'FeatureParams': Struct of <class 'fontTools.ttLib.tables.otTables.FeatureParams'>, 'FeatureParamsCharacterVariants': Struct of <class 'fontTools.ttLib.tables.otTables.FeatureParamsCharacterVariants'>, 'FeatureParamsSize': Struct of <class 'fontTools.ttLib.tables.otTables.FeatureParamsSize'>, 'FeatureParamsStylisticSet': Struct of <class 'fontTools.ttLib.tables.otTables.FeatureParamsStylisticSet'>, 'LookupCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'LookupListIndex': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
populateDefaults(propagator=None)
readFormat(reader)
subset_lookups(lookup_indices)

“Returns True if feature is non-empty afterwards.

toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.FeatureList
collect_lookups(feature_indices)
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.FeatureRecord'>]
convertersByName = {'FeatureCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'FeatureRecord': Struct of <class 'fontTools.ttLib.tables.otTables.FeatureRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
mergeMap = {'FeatureCount': <built-in function sum>, 'FeatureRecord': <function <lambda>>}
populateDefaults(propagator=None)
readFormat(reader)
subset_features(feature_indices)
subset_lookups(lookup_indices)

Returns the indices of nonempty features.

toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.FeatureName
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Settings'>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.NameID object>]
convertersByName = {'FeatureFlags': <fontTools.ttLib.tables.otConverters.UShort object>, 'FeatureNameID': <fontTools.ttLib.tables.otConverters.NameID object>, 'FeatureType': <fontTools.ttLib.tables.otConverters.UShort object>, 'Settings': Struct of <class 'fontTools.ttLib.tables.otTables.Settings'>, 'SettingsCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.FeatureNames
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ULong object>, Struct of <class 'fontTools.ttLib.tables.otTables.FeatureName'>]
convertersByName = {'FeatureName': Struct of <class 'fontTools.ttLib.tables.otTables.FeatureName'>, 'FeatureNameCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Reserved1': <fontTools.ttLib.tables.otConverters.UShort object>, 'Reserved2': <fontTools.ttLib.tables.otConverters.ULong object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.FeatureParams[source]
compile(writer, font)[source]
converters = []
convertersByName = {}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)[source]
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.FeatureParamsCharacterVariants[source]
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.NameID object>, <fontTools.ttLib.tables.otConverters.NameID object>, <fontTools.ttLib.tables.otConverters.NameID object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.NameID object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UInt24 object>]
convertersByName = {'CharCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Character': <fontTools.ttLib.tables.otConverters.UInt24 object>, 'FeatUILabelNameID': <fontTools.ttLib.tables.otConverters.NameID object>, 'FeatUITooltipTextNameID': <fontTools.ttLib.tables.otConverters.NameID object>, 'FirstParamUILabelNameID': <fontTools.ttLib.tables.otConverters.NameID object>, 'Format': <fontTools.ttLib.tables.otConverters.UShort object>, 'NumNamedParameters': <fontTools.ttLib.tables.otConverters.UShort object>, 'SampleTextNameID': <fontTools.ttLib.tables.otConverters.NameID object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.FeatureParamsSize[source]
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.DeciPoints object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.NameID object>, <fontTools.ttLib.tables.otConverters.DeciPoints object>, <fontTools.ttLib.tables.otConverters.DeciPoints object>]
convertersByName = {'DesignSize': <fontTools.ttLib.tables.otConverters.DeciPoints object>, 'RangeEnd': <fontTools.ttLib.tables.otConverters.DeciPoints object>, 'RangeStart': <fontTools.ttLib.tables.otConverters.DeciPoints object>, 'SubfamilyID': <fontTools.ttLib.tables.otConverters.UShort object>, 'SubfamilyNameID': <fontTools.ttLib.tables.otConverters.NameID object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.FeatureParamsStylisticSet[source]
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.NameID object>]
convertersByName = {'UINameID': <fontTools.ttLib.tables.otConverters.NameID object>, 'Version': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.FeatureRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Tag object>, Struct of <class 'fontTools.ttLib.tables.otTables.Feature'>]
convertersByName = {'Feature': Struct of <class 'fontTools.ttLib.tables.otTables.Feature'>, 'FeatureTag': <fontTools.ttLib.tables.otConverters.Tag object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.FeatureTableSubstitution
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Version object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.FeatureTableSubstitutionRecord'>]
convertersByName = {'SubstitutionCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'SubstitutionRecord': Struct of <class 'fontTools.ttLib.tables.otTables.FeatureTableSubstitutionRecord'>, 'Version': <fontTools.ttLib.tables.otConverters.Version object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
subset_features(feature_indices)
subset_lookups(lookup_indices)

Returns the indices of nonempty features.

toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.FeatureTableSubstitutionRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Feature'>]
convertersByName = {'Feature': Struct of <class 'fontTools.ttLib.tables.otTables.Feature'>, 'FeatureIndex': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.FeatureVariationRecord
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.ConditionSet'>, Struct of <class 'fontTools.ttLib.tables.otTables.FeatureTableSubstitution'>]
convertersByName = {'ConditionSet': Struct of <class 'fontTools.ttLib.tables.otTables.ConditionSet'>, 'FeatureTableSubstitution': Struct of <class 'fontTools.ttLib.tables.otTables.FeatureTableSubstitution'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.FeatureVariations
collect_lookups(feature_indices)
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Version object>, <fontTools.ttLib.tables.otConverters.ComputedULong object>, Struct of <class 'fontTools.ttLib.tables.otTables.FeatureVariationRecord'>]
convertersByName = {'FeatureVariationCount': <fontTools.ttLib.tables.otConverters.ComputedULong object>, 'FeatureVariationRecord': Struct of <class 'fontTools.ttLib.tables.otTables.FeatureVariationRecord'>, 'Version': <fontTools.ttLib.tables.otConverters.Version object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
subset_features(feature_indices)
subset_lookups(lookup_indices)

Returns the indices of nonempty features.

toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.GDEF
collect_device_varidxes(varidxes)
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Version object>, Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, Struct of <class 'fontTools.ttLib.tables.otTables.AttachList'>, Struct of <class 'fontTools.ttLib.tables.otTables.LigCaretList'>, Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, Struct of <class 'fontTools.ttLib.tables.otTables.MarkGlyphSetsDef'>, Struct of <class 'fontTools.ttLib.tables.otTables.VarStore'>]
convertersByName = {'AttachList': Struct of <class 'fontTools.ttLib.tables.otTables.AttachList'>, 'GlyphClassDef': Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, 'LigCaretList': Struct of <class 'fontTools.ttLib.tables.otTables.LigCaretList'>, 'MarkAttachClassDef': Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, 'MarkGlyphSetsDef': Struct of <class 'fontTools.ttLib.tables.otTables.MarkGlyphSetsDef'>, 'VarStore': Struct of <class 'fontTools.ttLib.tables.otTables.VarStore'>, 'Version': <fontTools.ttLib.tables.otConverters.Version object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mergeMap = {'*': <function mergeObjects>, 'Version': <built-in function max>}
populateDefaults(propagator=None)
readFormat(reader)
remap_device_varidxes(varidxes_map)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.GPOS
DontShare = True
collect_device_varidxes(varidxes)
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Version object>, Struct of <class 'fontTools.ttLib.tables.otTables.ScriptList'>, Struct of <class 'fontTools.ttLib.tables.otTables.FeatureList'>, Struct of <class 'fontTools.ttLib.tables.otTables.LookupList'>, Struct of <class 'fontTools.ttLib.tables.otTables.FeatureVariations'>]
convertersByName = {'FeatureList': Struct of <class 'fontTools.ttLib.tables.otTables.FeatureList'>, 'FeatureVariations': Struct of <class 'fontTools.ttLib.tables.otTables.FeatureVariations'>, 'LookupList': Struct of <class 'fontTools.ttLib.tables.otTables.LookupList'>, 'ScriptList': Struct of <class 'fontTools.ttLib.tables.otTables.ScriptList'>, 'Version': <fontTools.ttLib.tables.otConverters.Version object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mergeMap = {'*': <function mergeObjects>, 'Version': <built-in function max>}
populateDefaults(propagator=None)
readFormat(reader)
remap_device_varidxes(varidxes_map)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.GSUB
DontShare = True
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Version object>, Struct of <class 'fontTools.ttLib.tables.otTables.ScriptList'>, Struct of <class 'fontTools.ttLib.tables.otTables.FeatureList'>, Struct of <class 'fontTools.ttLib.tables.otTables.LookupList'>, Struct of <class 'fontTools.ttLib.tables.otTables.FeatureVariations'>]
convertersByName = {'FeatureList': Struct of <class 'fontTools.ttLib.tables.otTables.FeatureList'>, 'FeatureVariations': Struct of <class 'fontTools.ttLib.tables.otTables.FeatureVariations'>, 'LookupList': Struct of <class 'fontTools.ttLib.tables.otTables.LookupList'>, 'ScriptList': Struct of <class 'fontTools.ttLib.tables.otTables.ScriptList'>, 'Version': <fontTools.ttLib.tables.otConverters.Version object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mergeMap = {'*': <function mergeObjects>, 'Version': <built-in function max>}
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.GlyphAssembly
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.GlyphPartRecord'>]
convertersByName = {'ItalicsCorrection': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'PartCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'PartRecords': Struct of <class 'fontTools.ttLib.tables.otTables.GlyphPartRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.GlyphCIDMapping
compile(writer, font)
converters = {0: [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedULong object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.Char64 object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.Char64 object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.GlyphCIDMap object>]}
convertersByName = {0: {'DataFormat': <fontTools.ttLib.tables.otConverters.UShort object>, 'Mapping': <fontTools.ttLib.tables.otConverters.GlyphCIDMap object>, 'Order': <fontTools.ttLib.tables.otConverters.UShort object>, 'OrderName': <fontTools.ttLib.tables.otConverters.Char64 object>, 'Registry': <fontTools.ttLib.tables.otConverters.UShort object>, 'RegistryName': <fontTools.ttLib.tables.otConverters.Char64 object>, 'StructLength': <fontTools.ttLib.tables.otConverters.ComputedULong object>, 'SupplementVersion': <fontTools.ttLib.tables.otConverters.UShort object>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.GlyphClassDef

alias of fontTools.ttLib.tables.otTables.ClassDef

class fontTools.ttLib.tables.otTables.GlyphPartRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>]
convertersByName = {'EndConnectorLength': <fontTools.ttLib.tables.otConverters.UShort object>, 'FullAdvance': <fontTools.ttLib.tables.otConverters.UShort object>, 'PartFlags': <fontTools.ttLib.tables.otConverters.UShort object>, 'StartConnectorLength': <fontTools.ttLib.tables.otConverters.UShort object>, 'glyph': <fontTools.ttLib.tables.otConverters.GlyphID object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.GlyphProperties
compile(writer, font)
converters = {0: [<fontTools.ttLib.tables.otConverters.UShort object>], 1: [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.AATLookup object>]}
convertersByName = {0: {'DefaultProperties': <fontTools.ttLib.tables.otConverters.UShort object>}, 1: {'DefaultProperties': <fontTools.ttLib.tables.otConverters.UShort object>, 'Properties': <fontTools.ttLib.tables.otConverters.AATLookup object>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.HVAR
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Version object>, Struct of <class 'fontTools.ttLib.tables.otTables.VarStore'>, Struct of <class 'fontTools.ttLib.tables.otTables.VarIdxMap'>, Struct of <class 'fontTools.ttLib.tables.otTables.VarIdxMap'>, Struct of <class 'fontTools.ttLib.tables.otTables.VarIdxMap'>]
convertersByName = {'AdvWidthMap': Struct of <class 'fontTools.ttLib.tables.otTables.VarIdxMap'>, 'LsbMap': Struct of <class 'fontTools.ttLib.tables.otTables.VarIdxMap'>, 'RsbMap': Struct of <class 'fontTools.ttLib.tables.otTables.VarIdxMap'>, 'VarStore': Struct of <class 'fontTools.ttLib.tables.otTables.VarStore'>, 'Version': <fontTools.ttLib.tables.otConverters.Version object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.HorizAxis

alias of fontTools.ttLib.tables.otTables.Axis

fontTools.ttLib.tables.otTables.HorizGlyphConstruction

alias of fontTools.ttLib.tables.otTables.MathGlyphConstruction

fontTools.ttLib.tables.otTables.HorizGlyphCoverage

alias of fontTools.ttLib.tables.otTables.Coverage

fontTools.ttLib.tables.otTables.InputClassDef

alias of fontTools.ttLib.tables.otTables.ClassDef

fontTools.ttLib.tables.otTables.InputCoverage

alias of fontTools.ttLib.tables.otTables.Coverage

class fontTools.ttLib.tables.otTables.InsertionMorph
LookupType = 5
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.STXHeader object>]
convertersByName = {'StateTable': <fontTools.ttLib.tables.otConverters.STXHeader object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.InsertionMorphAction[source]
actionHeaderSize = 4
compile(writer, font, actionIndex)[source]
static compileActions(font, states)[source]
decompile(reader, font, actionReader)[source]
fromXML(name, attrs, content, font)[source]
staticSize = 8
toXML(xmlWriter, font, attrs, name)[source]
class fontTools.ttLib.tables.otTables.JSTF
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Version object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.JstfScriptRecord'>]
convertersByName = {'JstfScriptCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'JstfScriptRecord': Struct of <class 'fontTools.ttLib.tables.otTables.JstfScriptRecord'>, 'Version': <fontTools.ttLib.tables.otConverters.Version object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mergeMap = {'*': <function mergeObjects>, 'Version': <built-in function max>}
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.JstfGPOSModList
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UShort object>]
convertersByName = {'GPOSLookupIndex': <fontTools.ttLib.tables.otConverters.UShort object>, 'LookupCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.JstfGSUBModList
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UShort object>]
convertersByName = {'GSUBLookupIndex': <fontTools.ttLib.tables.otConverters.UShort object>, 'LookupCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.JstfLangSys
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.JstfPriority'>]
convertersByName = {'JstfPriority': Struct of <class 'fontTools.ttLib.tables.otTables.JstfPriority'>, 'JstfPriorityCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.JstfLangSysRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Tag object>, Struct of <class 'fontTools.ttLib.tables.otTables.JstfLangSys'>]
convertersByName = {'JstfLangSys': Struct of <class 'fontTools.ttLib.tables.otTables.JstfLangSys'>, 'JstfLangSysTag': <fontTools.ttLib.tables.otConverters.Tag object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.JstfMax
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Lookup'>]
convertersByName = {'Lookup': Struct of <class 'fontTools.ttLib.tables.otTables.Lookup'>, 'LookupCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.JstfPriority
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.JstfGSUBModList'>, Struct of <class 'fontTools.ttLib.tables.otTables.JstfGSUBModList'>, Struct of <class 'fontTools.ttLib.tables.otTables.JstfGPOSModList'>, Struct of <class 'fontTools.ttLib.tables.otTables.JstfGPOSModList'>, Struct of <class 'fontTools.ttLib.tables.otTables.JstfMax'>, Struct of <class 'fontTools.ttLib.tables.otTables.JstfGSUBModList'>, Struct of <class 'fontTools.ttLib.tables.otTables.JstfGSUBModList'>, Struct of <class 'fontTools.ttLib.tables.otTables.JstfGPOSModList'>, Struct of <class 'fontTools.ttLib.tables.otTables.JstfGPOSModList'>, Struct of <class 'fontTools.ttLib.tables.otTables.JstfMax'>]
convertersByName = {'ExtensionDisableGPOS': Struct of <class 'fontTools.ttLib.tables.otTables.JstfGPOSModList'>, 'ExtensionDisableGSUB': Struct of <class 'fontTools.ttLib.tables.otTables.JstfGSUBModList'>, 'ExtensionEnableGPOS': Struct of <class 'fontTools.ttLib.tables.otTables.JstfGPOSModList'>, 'ExtensionEnableGSUB': Struct of <class 'fontTools.ttLib.tables.otTables.JstfGSUBModList'>, 'ExtensionJstfMax': Struct of <class 'fontTools.ttLib.tables.otTables.JstfMax'>, 'ShrinkageDisableGPOS': Struct of <class 'fontTools.ttLib.tables.otTables.JstfGPOSModList'>, 'ShrinkageDisableGSUB': Struct of <class 'fontTools.ttLib.tables.otTables.JstfGSUBModList'>, 'ShrinkageEnableGPOS': Struct of <class 'fontTools.ttLib.tables.otTables.JstfGPOSModList'>, 'ShrinkageEnableGSUB': Struct of <class 'fontTools.ttLib.tables.otTables.JstfGSUBModList'>, 'ShrinkageJstfMax': Struct of <class 'fontTools.ttLib.tables.otTables.JstfMax'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.JstfScript
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.ExtenderGlyph'>, Struct of <class 'fontTools.ttLib.tables.otTables.JstfLangSys'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.JstfLangSysRecord'>]
convertersByName = {'DefJstfLangSys': Struct of <class 'fontTools.ttLib.tables.otTables.JstfLangSys'>, 'ExtenderGlyph': Struct of <class 'fontTools.ttLib.tables.otTables.ExtenderGlyph'>, 'JstfLangSysCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'JstfLangSysRecord': Struct of <class 'fontTools.ttLib.tables.otTables.JstfLangSysRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.JstfScriptRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Tag object>, Struct of <class 'fontTools.ttLib.tables.otTables.JstfScript'>]
convertersByName = {'JstfScript': Struct of <class 'fontTools.ttLib.tables.otTables.JstfScript'>, 'JstfScriptTag': <fontTools.ttLib.tables.otConverters.Tag object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.LangSys
collect_features()
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.LookupOrder'>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UShort object>]
convertersByName = {'FeatureCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'FeatureIndex': <fontTools.ttLib.tables.otConverters.UShort object>, 'LookupOrder': Struct of <class 'fontTools.ttLib.tables.otTables.LookupOrder'>, 'ReqFeatureIndex': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapFeatures(featureMap)
populateDefaults(propagator=None)
readFormat(reader)
subset_features(feature_indices)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.LangSysRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Tag object>, Struct of <class 'fontTools.ttLib.tables.otTables.LangSys'>]
convertersByName = {'LangSys': Struct of <class 'fontTools.ttLib.tables.otTables.LangSys'>, 'LangSysTag': <fontTools.ttLib.tables.otConverters.Tag object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.LayerRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.UShort object>]
convertersByName = {'LayerGlyph': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'PaletteIndex': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.LayerRecordArray
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.LayerRecord'>]
convertersByName = {'LayerRecord': Struct of <class 'fontTools.ttLib.tables.otTables.LayerRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.LayerV1List
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedULong object>, Struct of <class 'fontTools.ttLib.tables.otTables.Paint'>]
convertersByName = {'LayerCount': <fontTools.ttLib.tables.otConverters.ComputedULong object>, 'Paint': Struct of <class 'fontTools.ttLib.tables.otTables.Paint'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.LigAction[source]
class fontTools.ttLib.tables.otTables.LigCaretDistances
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.Short object>]
convertersByName = {'DivisionPoint': <fontTools.ttLib.tables.otConverters.Short object>, 'DivsionPointCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.LigCaretList
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.LigGlyph'>]
convertersByName = {'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'LigGlyph': Struct of <class 'fontTools.ttLib.tables.otTables.LigGlyph'>, 'LigGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mergeMap = {'Coverage': <function mergeObjects>, 'LigGlyph': <function sumLists>, 'LigGlyphCount': <built-in function sum>}
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.LigCaretPoints
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.Short object>]
convertersByName = {'DivisionPoint': <fontTools.ttLib.tables.otConverters.Short object>, 'DivsionPointCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.LigGlyph
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.CaretValue'>]
convertersByName = {'CaretCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'CaretValue': Struct of <class 'fontTools.ttLib.tables.otTables.CaretValue'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.Ligature
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.GlyphID object>]
convertersByName = {'CompCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Component': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'LigGlyph': <fontTools.ttLib.tables.otConverters.GlyphID object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.LigatureAnchor

alias of fontTools.ttLib.tables.otTables.Anchor

class fontTools.ttLib.tables.otTables.LigatureArray
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.LigatureAttach'>]
convertersByName = {'LigatureAttach': Struct of <class 'fontTools.ttLib.tables.otTables.LigatureAttach'>, 'LigatureCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.LigatureAttach
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.ComponentRecord'>]
convertersByName = {'ComponentCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'ComponentRecord': Struct of <class 'fontTools.ttLib.tables.otTables.ComponentRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.LigatureCarets
compile(writer, font)
converters = {0: [<fontTools.ttLib.tables.otConverters.AATLookup object>], 1: [<fontTools.ttLib.tables.otConverters.AATLookup object>]}
convertersByName = {0: {'Carets': <fontTools.ttLib.tables.otConverters.AATLookup object>}, 1: {'Carets': <fontTools.ttLib.tables.otConverters.AATLookup object>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.LigatureCoverage

alias of fontTools.ttLib.tables.otTables.Coverage

class fontTools.ttLib.tables.otTables.LigatureMorph
LookupType = 2
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.STXHeader object>]
convertersByName = {'StateTable': <fontTools.ttLib.tables.otConverters.STXHeader object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.LigatureMorphAction[source]
actionHeaderSize = 12
compile(writer, font, actionIndex)[source]
static compileActions(font, states)[source]
compileLigActions()[source]
decompile(reader, font, actionReader)[source]
fromXML(name, attrs, content, font)[source]
staticSize = 6
toXML(xmlWriter, font, attrs, name)[source]
class fontTools.ttLib.tables.otTables.LigatureSet
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Ligature'>]
convertersByName = {'Ligature': Struct of <class 'fontTools.ttLib.tables.otTables.Ligature'>, 'LigatureCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.LigatureSubst[source]
LookupType = 4
closure_glyphs(s, cur_glyphs)
collect_lookups()
compile(writer, font)
converters = {1: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.LigatureSet'>]}
convertersByName = {1: {'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'LigSetCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'LigatureSet': Struct of <class 'fontTools.ttLib.tables.otTables.LigatureSet'>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)[source]
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
may_have_non_1to1()
populateDefaults(propagator=None)[source]
postRead(rawTable, font)[source]
preWrite(font)[source]
prune_post_subset(font, options)
readFormat(reader)
subset_glyphs(s)
subset_lookups(lookup_indices)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)[source]
writeFormat(writer)
class fontTools.ttLib.tables.otTables.LocationRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.F2Dot14 object>]
convertersByName = {'Axis': <fontTools.ttLib.tables.otConverters.F2Dot14 object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.LookAheadClassDef

alias of fontTools.ttLib.tables.otTables.ClassDef

fontTools.ttLib.tables.otTables.LookAheadCoverage

alias of fontTools.ttLib.tables.otTables.Coverage

class fontTools.ttLib.tables.otTables.Lookup
closure_glyphs(s, cur_glyphs=None)
collect_lookups()
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.LookupFlag object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of None, <fontTools.ttLib.tables.otConverters.UShort object>]
convertersByName = {'AlternateSubst': Struct of <class 'fontTools.ttLib.tables.otTables.AlternateSubst'>, 'ChainContextPos': Struct of <class 'fontTools.ttLib.tables.otTables.ChainContextPos'>, 'ChainContextSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ChainContextSubst'>, 'ContextPos': Struct of <class 'fontTools.ttLib.tables.otTables.ContextPos'>, 'ContextSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ContextSubst'>, 'ContextualMorph': Struct of <class 'fontTools.ttLib.tables.otTables.ContextualMorph'>, 'CursivePos': Struct of <class 'fontTools.ttLib.tables.otTables.CursivePos'>, 'ExtensionPos': Struct of <class 'fontTools.ttLib.tables.otTables.ExtensionPos'>, 'ExtensionSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ExtensionSubst'>, 'InsertionMorph': Struct of <class 'fontTools.ttLib.tables.otTables.InsertionMorph'>, 'LigatureMorph': Struct of <class 'fontTools.ttLib.tables.otTables.LigatureMorph'>, 'LigatureSubst': Struct of <class 'fontTools.ttLib.tables.otTables.LigatureSubst'>, 'LookupFlag': <fontTools.ttLib.tables.otConverters.LookupFlag object>, 'LookupType': <fontTools.ttLib.tables.otConverters.UShort object>, 'MarkBasePos': Struct of <class 'fontTools.ttLib.tables.otTables.MarkBasePos'>, 'MarkFilteringSet': <fontTools.ttLib.tables.otConverters.UShort object>, 'MarkLigPos': Struct of <class 'fontTools.ttLib.tables.otTables.MarkLigPos'>, 'MarkMarkPos': Struct of <class 'fontTools.ttLib.tables.otTables.MarkMarkPos'>, 'MultipleSubst': Struct of <class 'fontTools.ttLib.tables.otTables.MultipleSubst'>, 'NoncontextualMorph': Struct of <class 'fontTools.ttLib.tables.otTables.NoncontextualMorph'>, 'PairPos': Struct of <class 'fontTools.ttLib.tables.otTables.PairPos'>, 'RearrangementMorph': Struct of <class 'fontTools.ttLib.tables.otTables.RearrangementMorph'>, 'ReverseChainSingleSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ReverseChainSingleSubst'>, 'SinglePos': Struct of <class 'fontTools.ttLib.tables.otTables.SinglePos'>, 'SingleSubst': Struct of <class 'fontTools.ttLib.tables.otTables.SingleSubst'>, 'SubTable': Struct of None, 'SubTableCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
may_have_non_1to1()
populateDefaults(propagator=None)
prune_post_subset(font, options)
readFormat(reader)
subset_glyphs(s)
subset_lookups(lookup_indices)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.LookupList[source]
closure_lookups(lookup_indices)

Returns sorted index of all lookups reachable from lookup_indices.

compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Lookup'>]
convertersByName = {'Lookup': Struct of <class 'fontTools.ttLib.tables.otTables.Lookup'>, 'LookupCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
mergeMap = {'Lookup': <function sumLists>, 'LookupCount': <built-in function sum>}
neuter_lookups(lookup_indices)

Sets lookups not in lookup_indices to None.

populateDefaults(propagator=None)
prune_post_subset(font, options)
readFormat(reader)
subset_glyphs(s)

Returns the indices of nonempty lookups.

subset_lookups(lookup_indices)
property table
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)[source]
writeFormat(writer)
class fontTools.ttLib.tables.otTables.LookupOrder
compile(writer, font)
converters = []
convertersByName = {}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MATH
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Version object>, Struct of <class 'fontTools.ttLib.tables.otTables.MathConstants'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathGlyphInfo'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathVariants'>]
convertersByName = {'MathConstants': Struct of <class 'fontTools.ttLib.tables.otTables.MathConstants'>, 'MathGlyphInfo': Struct of <class 'fontTools.ttLib.tables.otTables.MathGlyphInfo'>, 'MathVariants': Struct of <class 'fontTools.ttLib.tables.otTables.MathVariants'>, 'Version': <fontTools.ttLib.tables.otConverters.Version object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mergeMap = {'*': <function mergeObjects>, 'Version': <built-in function max>}
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MVAR
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Version object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.VarStore'>, Struct of <class 'fontTools.ttLib.tables.otTables.MetricsValueRecord'>]
convertersByName = {'Reserved': <fontTools.ttLib.tables.otConverters.UShort object>, 'ValueRecord': Struct of <class 'fontTools.ttLib.tables.otTables.MetricsValueRecord'>, 'ValueRecordCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'ValueRecordSize': <fontTools.ttLib.tables.otConverters.UShort object>, 'VarStore': Struct of <class 'fontTools.ttLib.tables.otTables.VarStore'>, 'Version': <fontTools.ttLib.tables.otConverters.Version object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.Mark1Array

alias of fontTools.ttLib.tables.otTables.MarkArray

fontTools.ttLib.tables.otTables.Mark1Coverage

alias of fontTools.ttLib.tables.otTables.Coverage

fontTools.ttLib.tables.otTables.Mark2Anchor

alias of fontTools.ttLib.tables.otTables.Anchor

class fontTools.ttLib.tables.otTables.Mark2Array
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Mark2Record'>]
convertersByName = {'Mark2Count': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Mark2Record': Struct of <class 'fontTools.ttLib.tables.otTables.Mark2Record'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.Mark2Coverage

alias of fontTools.ttLib.tables.otTables.Coverage

class fontTools.ttLib.tables.otTables.Mark2Record
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.Anchor'>]
convertersByName = {'Mark2Anchor': Struct of <class 'fontTools.ttLib.tables.otTables.Anchor'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.MarkAnchor

alias of fontTools.ttLib.tables.otTables.Anchor

class fontTools.ttLib.tables.otTables.MarkArray
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.MarkRecord'>]
convertersByName = {'MarkCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'MarkRecord': Struct of <class 'fontTools.ttLib.tables.otTables.MarkRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.MarkAttachClassDef

alias of fontTools.ttLib.tables.otTables.ClassDef

class fontTools.ttLib.tables.otTables.MarkBasePos
LookupType = 4
collect_lookups()
compile(writer, font)
converters = {1: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.MarkArray'>, Struct of <class 'fontTools.ttLib.tables.otTables.BaseArray'>]}
convertersByName = {1: {'BaseArray': Struct of <class 'fontTools.ttLib.tables.otTables.BaseArray'>, 'BaseCoverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'ClassCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'MarkArray': Struct of <class 'fontTools.ttLib.tables.otTables.MarkArray'>, 'MarkCoverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
populateDefaults(propagator=None)
prune_post_subset(font, options)
readFormat(reader)
subset_glyphs(s)
subset_lookups(lookup_indices)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.MarkCoverage

alias of fontTools.ttLib.tables.otTables.Coverage

class fontTools.ttLib.tables.otTables.MarkGlyphSetsDef
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>]
convertersByName = {'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'MarkSetCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'MarkSetTableFormat': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mergeMap = {'Coverage': <function sumLists>, 'MarkSetCount': <built-in function sum>, 'MarkSetTableFormat': <function equal>}
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MarkLigPos
LookupType = 5
collect_lookups()
compile(writer, font)
converters = {1: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.MarkArray'>, Struct of <class 'fontTools.ttLib.tables.otTables.LigatureArray'>]}
convertersByName = {1: {'ClassCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'LigatureArray': Struct of <class 'fontTools.ttLib.tables.otTables.LigatureArray'>, 'LigatureCoverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'MarkArray': Struct of <class 'fontTools.ttLib.tables.otTables.MarkArray'>, 'MarkCoverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
populateDefaults(propagator=None)
prune_post_subset(font, options)
readFormat(reader)
subset_glyphs(s)
subset_lookups(lookup_indices)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MarkMarkPos
LookupType = 6
collect_lookups()
compile(writer, font)
converters = {1: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.MarkArray'>, Struct of <class 'fontTools.ttLib.tables.otTables.Mark2Array'>]}
convertersByName = {1: {'ClassCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Mark1Array': Struct of <class 'fontTools.ttLib.tables.otTables.MarkArray'>, 'Mark1Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'Mark2Array': Struct of <class 'fontTools.ttLib.tables.otTables.Mark2Array'>, 'Mark2Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
populateDefaults(propagator=None)
prune_post_subset(font, options)
readFormat(reader)
subset_glyphs(s)
subset_lookups(lookup_indices)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MarkRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Anchor'>]
convertersByName = {'Class': <fontTools.ttLib.tables.otConverters.UShort object>, 'MarkAnchor': Struct of <class 'fontTools.ttLib.tables.otTables.Anchor'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MathConstants
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Short object>, <fontTools.ttLib.tables.otConverters.Short object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, <fontTools.ttLib.tables.otConverters.UShort object>]
convertersByName = {'AccentBaseHeight': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'AxisHeight': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'DelimitedSubFormulaMinHeight': <fontTools.ttLib.tables.otConverters.UShort object>, 'DisplayOperatorMinHeight': <fontTools.ttLib.tables.otConverters.UShort object>, 'FlattenedAccentBaseHeight': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'FractionDenomDisplayStyleGapMin': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'FractionDenominatorDisplayStyleShiftDown': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'FractionDenominatorGapMin': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'FractionDenominatorShiftDown': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'FractionNumDisplayStyleGapMin': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'FractionNumeratorDisplayStyleShiftUp': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'FractionNumeratorGapMin': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'FractionNumeratorShiftUp': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'FractionRuleThickness': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'LowerLimitBaselineDropMin': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'LowerLimitGapMin': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'MathLeading': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'OverbarExtraAscender': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'OverbarRuleThickness': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'OverbarVerticalGap': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'RadicalDegreeBottomRaisePercent': <fontTools.ttLib.tables.otConverters.UShort object>, 'RadicalDisplayStyleVerticalGap': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'RadicalExtraAscender': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'RadicalKernAfterDegree': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'RadicalKernBeforeDegree': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'RadicalRuleThickness': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'RadicalVerticalGap': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'ScriptPercentScaleDown': <fontTools.ttLib.tables.otConverters.Short object>, 'ScriptScriptPercentScaleDown': <fontTools.ttLib.tables.otConverters.Short object>, 'SkewedFractionHorizontalGap': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'SkewedFractionVerticalGap': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'SpaceAfterScript': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'StackBottomDisplayStyleShiftDown': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'StackBottomShiftDown': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'StackDisplayStyleGapMin': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'StackGapMin': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'StackTopDisplayStyleShiftUp': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'StackTopShiftUp': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'StretchStackBottomShiftDown': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'StretchStackGapAboveMin': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'StretchStackGapBelowMin': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'StretchStackTopShiftUp': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'SubSuperscriptGapMin': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'SubscriptBaselineDropMin': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'SubscriptShiftDown': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'SubscriptTopMax': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'SuperscriptBaselineDropMax': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'SuperscriptBottomMaxWithSubscript': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'SuperscriptBottomMin': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'SuperscriptShiftUp': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'SuperscriptShiftUpCramped': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'UnderbarExtraDescender': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'UnderbarRuleThickness': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'UnderbarVerticalGap': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'UpperLimitBaselineRiseMin': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'UpperLimitGapMin': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MathGlyphConstruction
closure_glyphs(glyphs)
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.GlyphAssembly'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.MathGlyphVariantRecord'>]
convertersByName = {'GlyphAssembly': Struct of <class 'fontTools.ttLib.tables.otTables.GlyphAssembly'>, 'MathGlyphVariantRecord': Struct of <class 'fontTools.ttLib.tables.otTables.MathGlyphVariantRecord'>, 'VariantCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MathGlyphInfo
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.MathItalicsCorrectionInfo'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathTopAccentAttachment'>, Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathKernInfo'>]
convertersByName = {'ExtendedShapeCoverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'MathItalicsCorrectionInfo': Struct of <class 'fontTools.ttLib.tables.otTables.MathItalicsCorrectionInfo'>, 'MathKernInfo': Struct of <class 'fontTools.ttLib.tables.otTables.MathKernInfo'>, 'MathTopAccentAttachment': Struct of <class 'fontTools.ttLib.tables.otTables.MathTopAccentAttachment'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
subset_glyphs(s)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MathGlyphVariantRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.UShort object>]
convertersByName = {'AdvanceMeasurement': <fontTools.ttLib.tables.otConverters.UShort object>, 'VariantGlyph': <fontTools.ttLib.tables.otConverters.GlyphID object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MathItalicsCorrectionInfo
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>]
convertersByName = {'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'ItalicsCorrection': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'ItalicsCorrectionCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
subset_glyphs(s)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MathKern
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>]
convertersByName = {'CorrectionHeight': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'HeightCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'KernValue': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.MathKernCoverage

alias of fontTools.ttLib.tables.otTables.Coverage

class fontTools.ttLib.tables.otTables.MathKernInfo
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.MathKernInfoRecord'>]
convertersByName = {'MathKernCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'MathKernCoverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'MathKernInfoRecords': Struct of <class 'fontTools.ttLib.tables.otTables.MathKernInfoRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
subset_glyphs(s)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MathKernInfoRecord
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.MathKern'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathKern'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathKern'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathKern'>]
convertersByName = {'BottomLeftMathKern': Struct of <class 'fontTools.ttLib.tables.otTables.MathKern'>, 'BottomRightMathKern': Struct of <class 'fontTools.ttLib.tables.otTables.MathKern'>, 'TopLeftMathKern': Struct of <class 'fontTools.ttLib.tables.otTables.MathKern'>, 'TopRightMathKern': Struct of <class 'fontTools.ttLib.tables.otTables.MathKern'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MathTopAccentAttachment
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>]
convertersByName = {'TopAccentAttachment': Struct of <class 'fontTools.ttLib.tables.otTables.MathValueRecord'>, 'TopAccentAttachmentCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'TopAccentCoverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
subset_glyphs(s)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MathValueRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Short object>, Struct of <class 'fontTools.ttLib.tables.otTables.Device'>]
convertersByName = {'DeviceTable': Struct of <class 'fontTools.ttLib.tables.otTables.Device'>, 'Value': <fontTools.ttLib.tables.otConverters.Short object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MathVariants
closure_glyphs(s)
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.MathGlyphConstruction'>, Struct of <class 'fontTools.ttLib.tables.otTables.MathGlyphConstruction'>]
convertersByName = {'HorizGlyphConstruction': Struct of <class 'fontTools.ttLib.tables.otTables.MathGlyphConstruction'>, 'HorizGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'HorizGlyphCoverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'MinConnectorOverlap': <fontTools.ttLib.tables.otConverters.UShort object>, 'VertGlyphConstruction': Struct of <class 'fontTools.ttLib.tables.otTables.MathGlyphConstruction'>, 'VertGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'VertGlyphCoverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
subset_glyphs(s)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.MaxCoord

alias of fontTools.ttLib.tables.otTables.BaseCoord

class fontTools.ttLib.tables.otTables.MetricsValueRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Tag object>, <fontTools.ttLib.tables.otConverters.ULong object>, <fontTools.ttLib.tables.otConverters.UInt8 object>]
convertersByName = {'MoreBytes': <fontTools.ttLib.tables.otConverters.UInt8 object>, 'ValueTag': <fontTools.ttLib.tables.otConverters.Tag object>, 'VarIdx': <fontTools.ttLib.tables.otConverters.ULong object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.MinCoord

alias of fontTools.ttLib.tables.otTables.BaseCoord

class fontTools.ttLib.tables.otTables.MinMax
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.BaseCoord'>, Struct of <class 'fontTools.ttLib.tables.otTables.BaseCoord'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.FeatMinMaxRecord'>]
convertersByName = {'FeatMinMaxCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'FeatMinMaxRecord': Struct of <class 'fontTools.ttLib.tables.otTables.FeatMinMaxRecord'>, 'MaxCoord': Struct of <class 'fontTools.ttLib.tables.otTables.BaseCoord'>, 'MinCoord': Struct of <class 'fontTools.ttLib.tables.otTables.BaseCoord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MorphClass
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>]
convertersByName = {'FirstGlyph': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MorphFeature
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.Flags32 object>, <fontTools.ttLib.tables.otConverters.Flags32 object>]
convertersByName = {'DisableFlags': <fontTools.ttLib.tables.otConverters.Flags32 object>, 'EnableFlags': <fontTools.ttLib.tables.otConverters.Flags32 object>, 'FeatureSetting': <fontTools.ttLib.tables.otConverters.UShort object>, 'FeatureType': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MortChain
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Flags32 object>, <fontTools.ttLib.tables.otConverters.ComputedULong object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.MorphFeature'>, Struct of <class 'fontTools.ttLib.tables.otTables.MortSubtable'>]
convertersByName = {'DefaultFlags': <fontTools.ttLib.tables.otConverters.Flags32 object>, 'MorphFeature': Struct of <class 'fontTools.ttLib.tables.otTables.MorphFeature'>, 'MorphFeatureCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'MorphSubtable': Struct of <class 'fontTools.ttLib.tables.otTables.MortSubtable'>, 'MorphSubtableCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'StructLength': <fontTools.ttLib.tables.otConverters.ComputedULong object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MortSubtable
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UInt8 object>, <fontTools.ttLib.tables.otConverters.ComputedUInt8 object>, <fontTools.ttLib.tables.otConverters.Flags32 object>, Struct of None]
convertersByName = {'AlternateSubst': Struct of <class 'fontTools.ttLib.tables.otTables.AlternateSubst'>, 'ChainContextPos': Struct of <class 'fontTools.ttLib.tables.otTables.ChainContextPos'>, 'ChainContextSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ChainContextSubst'>, 'ContextPos': Struct of <class 'fontTools.ttLib.tables.otTables.ContextPos'>, 'ContextSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ContextSubst'>, 'ContextualMorph': Struct of <class 'fontTools.ttLib.tables.otTables.ContextualMorph'>, 'CoverageFlags': <fontTools.ttLib.tables.otConverters.UInt8 object>, 'CursivePos': Struct of <class 'fontTools.ttLib.tables.otTables.CursivePos'>, 'ExtensionPos': Struct of <class 'fontTools.ttLib.tables.otTables.ExtensionPos'>, 'ExtensionSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ExtensionSubst'>, 'InsertionMorph': Struct of <class 'fontTools.ttLib.tables.otTables.InsertionMorph'>, 'LigatureMorph': Struct of <class 'fontTools.ttLib.tables.otTables.LigatureMorph'>, 'LigatureSubst': Struct of <class 'fontTools.ttLib.tables.otTables.LigatureSubst'>, 'MarkBasePos': Struct of <class 'fontTools.ttLib.tables.otTables.MarkBasePos'>, 'MarkLigPos': Struct of <class 'fontTools.ttLib.tables.otTables.MarkLigPos'>, 'MarkMarkPos': Struct of <class 'fontTools.ttLib.tables.otTables.MarkMarkPos'>, 'MorphType': <fontTools.ttLib.tables.otConverters.ComputedUInt8 object>, 'MultipleSubst': Struct of <class 'fontTools.ttLib.tables.otTables.MultipleSubst'>, 'NoncontextualMorph': Struct of <class 'fontTools.ttLib.tables.otTables.NoncontextualMorph'>, 'PairPos': Struct of <class 'fontTools.ttLib.tables.otTables.PairPos'>, 'RearrangementMorph': Struct of <class 'fontTools.ttLib.tables.otTables.RearrangementMorph'>, 'ReverseChainSingleSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ReverseChainSingleSubst'>, 'SinglePos': Struct of <class 'fontTools.ttLib.tables.otTables.SinglePos'>, 'SingleSubst': Struct of <class 'fontTools.ttLib.tables.otTables.SingleSubst'>, 'StructLength': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'SubFeatureFlags': <fontTools.ttLib.tables.otConverters.Flags32 object>, 'SubStruct': Struct of None}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MorxChain
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Flags32 object>, <fontTools.ttLib.tables.otConverters.ComputedULong object>, <fontTools.ttLib.tables.otConverters.ComputedULong object>, <fontTools.ttLib.tables.otConverters.ComputedULong object>, Struct of <class 'fontTools.ttLib.tables.otTables.MorphFeature'>, <fontTools.ttLib.tables.otConverters.MorxSubtableConverter object>]
convertersByName = {'DefaultFlags': <fontTools.ttLib.tables.otConverters.Flags32 object>, 'MorphFeature': Struct of <class 'fontTools.ttLib.tables.otTables.MorphFeature'>, 'MorphFeatureCount': <fontTools.ttLib.tables.otConverters.ComputedULong object>, 'MorphSubtable': <fontTools.ttLib.tables.otConverters.MorxSubtableConverter object>, 'MorphSubtableCount': <fontTools.ttLib.tables.otConverters.ComputedULong object>, 'StructLength': <fontTools.ttLib.tables.otConverters.ComputedULong object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MorxSubtable
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedULong object>, <fontTools.ttLib.tables.otConverters.UInt8 object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedUInt8 object>, <fontTools.ttLib.tables.otConverters.Flags32 object>, Struct of None]
convertersByName = {'AlternateSubst': Struct of <class 'fontTools.ttLib.tables.otTables.AlternateSubst'>, 'ChainContextPos': Struct of <class 'fontTools.ttLib.tables.otTables.ChainContextPos'>, 'ChainContextSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ChainContextSubst'>, 'ContextPos': Struct of <class 'fontTools.ttLib.tables.otTables.ContextPos'>, 'ContextSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ContextSubst'>, 'ContextualMorph': Struct of <class 'fontTools.ttLib.tables.otTables.ContextualMorph'>, 'CoverageFlags': <fontTools.ttLib.tables.otConverters.UInt8 object>, 'CursivePos': Struct of <class 'fontTools.ttLib.tables.otTables.CursivePos'>, 'ExtensionPos': Struct of <class 'fontTools.ttLib.tables.otTables.ExtensionPos'>, 'ExtensionSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ExtensionSubst'>, 'InsertionMorph': Struct of <class 'fontTools.ttLib.tables.otTables.InsertionMorph'>, 'LigatureMorph': Struct of <class 'fontTools.ttLib.tables.otTables.LigatureMorph'>, 'LigatureSubst': Struct of <class 'fontTools.ttLib.tables.otTables.LigatureSubst'>, 'MarkBasePos': Struct of <class 'fontTools.ttLib.tables.otTables.MarkBasePos'>, 'MarkLigPos': Struct of <class 'fontTools.ttLib.tables.otTables.MarkLigPos'>, 'MarkMarkPos': Struct of <class 'fontTools.ttLib.tables.otTables.MarkMarkPos'>, 'MorphType': <fontTools.ttLib.tables.otConverters.ComputedUInt8 object>, 'MultipleSubst': Struct of <class 'fontTools.ttLib.tables.otTables.MultipleSubst'>, 'NoncontextualMorph': Struct of <class 'fontTools.ttLib.tables.otTables.NoncontextualMorph'>, 'PairPos': Struct of <class 'fontTools.ttLib.tables.otTables.PairPos'>, 'RearrangementMorph': Struct of <class 'fontTools.ttLib.tables.otTables.RearrangementMorph'>, 'Reserved': <fontTools.ttLib.tables.otConverters.UShort object>, 'ReverseChainSingleSubst': Struct of <class 'fontTools.ttLib.tables.otTables.ReverseChainSingleSubst'>, 'SinglePos': Struct of <class 'fontTools.ttLib.tables.otTables.SinglePos'>, 'SingleSubst': Struct of <class 'fontTools.ttLib.tables.otTables.SingleSubst'>, 'StructLength': <fontTools.ttLib.tables.otConverters.ComputedULong object>, 'SubFeatureFlags': <fontTools.ttLib.tables.otConverters.Flags32 object>, 'SubStruct': Struct of None}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.MultipleSubst[source]
LookupType = 2
closure_glyphs(s, cur_glyphs)
collect_lookups()
compile(writer, font)
converters = {1: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Sequence'>]}
convertersByName = {1: {'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'Sequence': Struct of <class 'fontTools.ttLib.tables.otTables.Sequence'>, 'SequenceCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)[source]
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
static makeSequence_(g)[source]
mapLookups(lookupMap)
may_have_non_1to1()
populateDefaults(propagator=None)[source]
postRead(rawTable, font)[source]
preWrite(font)[source]
prune_post_subset(font, options)
readFormat(reader)
subset_glyphs(s)
subset_lookups(lookup_indices)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)[source]
writeFormat(writer)
class fontTools.ttLib.tables.otTables.NoncontextualMorph
LookupType = 4
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.AATLookup object>]
convertersByName = {'Substitution': <fontTools.ttLib.tables.otConverters.AATLookup object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.OpticalBounds
compile(writer, font)
converters = {0: [<fontTools.ttLib.tables.otConverters.AATLookup object>], 1: [<fontTools.ttLib.tables.otConverters.AATLookup object>]}
convertersByName = {0: {'OpticalBoundsDeltas': <fontTools.ttLib.tables.otConverters.AATLookup object>}, 1: {'OpticalBoundsPoints': <fontTools.ttLib.tables.otConverters.AATLookup object>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.OpticalBoundsDeltas
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Short object>, <fontTools.ttLib.tables.otConverters.Short object>, <fontTools.ttLib.tables.otConverters.Short object>, <fontTools.ttLib.tables.otConverters.Short object>]
convertersByName = {'Bottom': <fontTools.ttLib.tables.otConverters.Short object>, 'Left': <fontTools.ttLib.tables.otConverters.Short object>, 'Right': <fontTools.ttLib.tables.otConverters.Short object>, 'Top': <fontTools.ttLib.tables.otConverters.Short object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.OpticalBoundsPoints
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Short object>, <fontTools.ttLib.tables.otConverters.Short object>, <fontTools.ttLib.tables.otConverters.Short object>, <fontTools.ttLib.tables.otConverters.Short object>]
convertersByName = {'Bottom': <fontTools.ttLib.tables.otConverters.Short object>, 'Left': <fontTools.ttLib.tables.otConverters.Short object>, 'Right': <fontTools.ttLib.tables.otConverters.Short object>, 'Top': <fontTools.ttLib.tables.otConverters.Short object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.Paint[source]
class Format(value)[source]

An enumeration.

PaintColrGlyph = 6
PaintColrLayers = 1
PaintComposite = 11
PaintGlyph = 5
PaintLinearGradient = 3
PaintRadialGradient = 4
PaintRotate = 9
PaintSkew = 10
PaintSolid = 2
PaintTransform = 7
PaintTranslate = 8
compile(writer, font)
converters = {1: [<fontTools.ttLib.tables.otConverters.UInt8 object>, <fontTools.ttLib.tables.otConverters.ULong object>], 2: [Struct of <class 'fontTools.ttLib.tables.otTables.ColorIndex'>], 3: [Struct of <class 'fontTools.ttLib.tables.otTables.ColorLine'>, <fontTools.ttLib.tables.otConverters.VarInt16 object>, <fontTools.ttLib.tables.otConverters.VarInt16 object>, <fontTools.ttLib.tables.otConverters.VarInt16 object>, <fontTools.ttLib.tables.otConverters.VarInt16 object>, <fontTools.ttLib.tables.otConverters.VarInt16 object>, <fontTools.ttLib.tables.otConverters.VarInt16 object>], 4: [Struct of <class 'fontTools.ttLib.tables.otTables.ColorLine'>, <fontTools.ttLib.tables.otConverters.VarInt16 object>, <fontTools.ttLib.tables.otConverters.VarInt16 object>, <fontTools.ttLib.tables.otConverters.VarUInt16 object>, <fontTools.ttLib.tables.otConverters.VarInt16 object>, <fontTools.ttLib.tables.otConverters.VarInt16 object>, <fontTools.ttLib.tables.otConverters.VarUInt16 object>], 5: [Struct of <class 'fontTools.ttLib.tables.otTables.Paint'>, <fontTools.ttLib.tables.otConverters.GlyphID object>], 6: [<fontTools.ttLib.tables.otConverters.GlyphID object>], 7: [Struct of <class 'fontTools.ttLib.tables.otTables.Paint'>, Struct of <class 'fontTools.ttLib.tables.otTables.Affine2x3'>], 8: [Struct of <class 'fontTools.ttLib.tables.otTables.Paint'>, <fontTools.ttLib.tables.otConverters.VarFixed object>, <fontTools.ttLib.tables.otConverters.VarFixed object>], 9: [Struct of <class 'fontTools.ttLib.tables.otTables.Paint'>, <fontTools.ttLib.tables.otConverters.VarFixed object>, <fontTools.ttLib.tables.otConverters.VarFixed object>, <fontTools.ttLib.tables.otConverters.VarFixed object>], 10: [Struct of <class 'fontTools.ttLib.tables.otTables.Paint'>, <fontTools.ttLib.tables.otConverters.VarFixed object>, <fontTools.ttLib.tables.otConverters.VarFixed object>, <fontTools.ttLib.tables.otConverters.VarFixed object>, <fontTools.ttLib.tables.otConverters.VarFixed object>], 11: [Struct of <class 'fontTools.ttLib.tables.otTables.Paint'>, <fontTools.ttLib.tables.otConverters.CompositeMode object>, Struct of <class 'fontTools.ttLib.tables.otTables.Paint'>]}
convertersByName = {1: {'FirstLayerIndex': <fontTools.ttLib.tables.otConverters.ULong object>, 'NumLayers': <fontTools.ttLib.tables.otConverters.UInt8 object>}, 2: {'Color': Struct of <class 'fontTools.ttLib.tables.otTables.ColorIndex'>}, 3: {'ColorLine': Struct of <class 'fontTools.ttLib.tables.otTables.ColorLine'>, 'x0': <fontTools.ttLib.tables.otConverters.VarInt16 object>, 'x1': <fontTools.ttLib.tables.otConverters.VarInt16 object>, 'x2': <fontTools.ttLib.tables.otConverters.VarInt16 object>, 'y0': <fontTools.ttLib.tables.otConverters.VarInt16 object>, 'y1': <fontTools.ttLib.tables.otConverters.VarInt16 object>, 'y2': <fontTools.ttLib.tables.otConverters.VarInt16 object>}, 4: {'ColorLine': Struct of <class 'fontTools.ttLib.tables.otTables.ColorLine'>, 'r0': <fontTools.ttLib.tables.otConverters.VarUInt16 object>, 'r1': <fontTools.ttLib.tables.otConverters.VarUInt16 object>, 'x0': <fontTools.ttLib.tables.otConverters.VarInt16 object>, 'x1': <fontTools.ttLib.tables.otConverters.VarInt16 object>, 'y0': <fontTools.ttLib.tables.otConverters.VarInt16 object>, 'y1': <fontTools.ttLib.tables.otConverters.VarInt16 object>}, 5: {'Glyph': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'Paint': Struct of <class 'fontTools.ttLib.tables.otTables.Paint'>}, 6: {'Glyph': <fontTools.ttLib.tables.otConverters.GlyphID object>}, 7: {'Paint': Struct of <class 'fontTools.ttLib.tables.otTables.Paint'>, 'Transform': Struct of <class 'fontTools.ttLib.tables.otTables.Affine2x3'>}, 8: {'Paint': Struct of <class 'fontTools.ttLib.tables.otTables.Paint'>, 'dx': <fontTools.ttLib.tables.otConverters.VarFixed object>, 'dy': <fontTools.ttLib.tables.otConverters.VarFixed object>}, 9: {'Paint': Struct of <class 'fontTools.ttLib.tables.otTables.Paint'>, 'angle': <fontTools.ttLib.tables.otConverters.VarFixed object>, 'centerX': <fontTools.ttLib.tables.otConverters.VarFixed object>, 'centerY': <fontTools.ttLib.tables.otConverters.VarFixed object>}, 10: {'Paint': Struct of <class 'fontTools.ttLib.tables.otTables.Paint'>, 'centerX': <fontTools.ttLib.tables.otConverters.VarFixed object>, 'centerY': <fontTools.ttLib.tables.otConverters.VarFixed object>, 'xSkewAngle': <fontTools.ttLib.tables.otConverters.VarFixed object>, 'ySkewAngle': <fontTools.ttLib.tables.otConverters.VarFixed object>}, 11: {'BackdropPaint': Struct of <class 'fontTools.ttLib.tables.otTables.Paint'>, 'CompositeMode': <fontTools.ttLib.tables.otConverters.CompositeMode object>, 'SourcePaint': Struct of <class 'fontTools.ttLib.tables.otTables.Paint'>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
getFormatName()[source]
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)[source]
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.PairPos
LookupType = 2
collect_lookups()
compile(writer, font)
converters = {1: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ValueFormat object>, <fontTools.ttLib.tables.otConverters.ValueFormat object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.PairSet'>], 2: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ValueFormat object>, <fontTools.ttLib.tables.otConverters.ValueFormat object>, Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Class1Record'>]}
convertersByName = {1: {'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'PairSet': Struct of <class 'fontTools.ttLib.tables.otTables.PairSet'>, 'PairSetCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'ValueFormat1': <fontTools.ttLib.tables.otConverters.ValueFormat object>, 'ValueFormat2': <fontTools.ttLib.tables.otConverters.ValueFormat object>}, 2: {'Class1Count': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Class1Record': Struct of <class 'fontTools.ttLib.tables.otTables.Class1Record'>, 'Class2Count': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'ClassDef1': Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, 'ClassDef2': Struct of <class 'fontTools.ttLib.tables.otTables.ClassDef'>, 'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'ValueFormat1': <fontTools.ttLib.tables.otConverters.ValueFormat object>, 'ValueFormat2': <fontTools.ttLib.tables.otConverters.ValueFormat object>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
populateDefaults(propagator=None)
prune_post_subset(font, options)
readFormat(reader)
subset_glyphs(s)
subset_lookups(lookup_indices)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.PairSet
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.PairValueRecord'>]
convertersByName = {'PairValueCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'PairValueRecord': Struct of <class 'fontTools.ttLib.tables.otTables.PairValueRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.PairValueRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.ValueRecord object>, <fontTools.ttLib.tables.otConverters.ValueRecord object>]
convertersByName = {'SecondGlyph': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'Value1': <fontTools.ttLib.tables.otConverters.ValueRecord object>, 'Value2': <fontTools.ttLib.tables.otConverters.ValueRecord object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.PosClassRule
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.PosLookupRecord'>]
convertersByName = {'Class': <fontTools.ttLib.tables.otConverters.UShort object>, 'GlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'PosCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'PosLookupRecord': Struct of <class 'fontTools.ttLib.tables.otTables.PosLookupRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.PosClassSet
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.PosClassRule'>]
convertersByName = {'PosClassRule': Struct of <class 'fontTools.ttLib.tables.otTables.PosClassRule'>, 'PosClassRuleCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.PosLookupRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>]
convertersByName = {'LookupListIndex': <fontTools.ttLib.tables.otConverters.UShort object>, 'SequenceIndex': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.PosRule
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.GlyphID object>, Struct of <class 'fontTools.ttLib.tables.otTables.PosLookupRecord'>]
convertersByName = {'GlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Input': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'PosCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'PosLookupRecord': Struct of <class 'fontTools.ttLib.tables.otTables.PosLookupRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.PosRuleSet
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.PosRule'>]
convertersByName = {'PosRule': Struct of <class 'fontTools.ttLib.tables.otTables.PosRule'>, 'PosRuleCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.RangeRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.GlyphID object>, <fontTools.ttLib.tables.otConverters.UShort object>]
convertersByName = {'End': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'Start': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'StartCoverageIndex': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.RearrangementMorph
LookupType = 0
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.STXHeader object>]
convertersByName = {'StateTable': <fontTools.ttLib.tables.otConverters.STXHeader object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.RearrangementMorphAction[source]
actionHeaderSize = 0
compile(writer, font, actionIndex)[source]
static compileActions(font, states)
decompile(reader, font, actionReader)[source]
fromXML(name, attrs, content, font)[source]
staticSize = 4
toXML(xmlWriter, font, attrs, name)[source]
class fontTools.ttLib.tables.otTables.ReverseChainSingleSubst
LookupType = 8
closure_glyphs(s, cur_glyphs)
collect_lookups()
compile(writer, font)
converters = {1: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.GlyphID object>]}
convertersByName = {1: {'BacktrackCoverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'BacktrackGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'GlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'LookAheadCoverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'LookAheadGlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Substitute': <fontTools.ttLib.tables.otConverters.GlyphID object>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
may_have_non_1to1()
populateDefaults(propagator=None)
prune_post_subset(font, options)
readFormat(reader)
subset_glyphs(s)
subset_lookups(lookup_indices)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.STAT
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Version object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.AxisRecordArray'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.AxisValueArray'>, <fontTools.ttLib.tables.otConverters.NameID object>]
convertersByName = {'AxisValueArray': Struct of <class 'fontTools.ttLib.tables.otTables.AxisValueArray'>, 'AxisValueCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'DesignAxisCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'DesignAxisRecord': Struct of <class 'fontTools.ttLib.tables.otTables.AxisRecordArray'>, 'DesignAxisRecordSize': <fontTools.ttLib.tables.otConverters.UShort object>, 'ElidedFallbackNameID': <fontTools.ttLib.tables.otConverters.NameID object>, 'Version': <fontTools.ttLib.tables.otConverters.Version object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.Script
collect_features()
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.LangSys'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.LangSysRecord'>]
convertersByName = {'DefaultLangSys': Struct of <class 'fontTools.ttLib.tables.otTables.LangSys'>, 'LangSysCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'LangSysRecord': Struct of <class 'fontTools.ttLib.tables.otTables.LangSysRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapFeatures(featureMap)
populateDefaults(propagator=None)
readFormat(reader)
subset_features(feature_indices, keepEmptyDefaultLangSys=False)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ScriptList
collect_features()
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.ScriptRecord'>]
convertersByName = {'ScriptCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'ScriptRecord': Struct of <class 'fontTools.ttLib.tables.otTables.ScriptRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapFeatures(featureMap)
mergeMap = {'ScriptCount': <function <lambda>>, 'ScriptRecord': <function mergeScriptRecords>}
populateDefaults(propagator=None)
readFormat(reader)
subset_features(feature_indices, retain_empty)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.ScriptRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Tag object>, Struct of <class 'fontTools.ttLib.tables.otTables.Script'>]
convertersByName = {'Script': Struct of <class 'fontTools.ttLib.tables.otTables.Script'>, 'ScriptTag': <fontTools.ttLib.tables.otConverters.Tag object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.Sequence
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.GlyphID object>]
convertersByName = {'GlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Substitute': <fontTools.ttLib.tables.otConverters.GlyphID object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.Setting
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.NameID object>]
convertersByName = {'SettingNameID': <fontTools.ttLib.tables.otConverters.NameID object>, 'SettingValue': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.Settings
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.Setting'>]
convertersByName = {'Setting': Struct of <class 'fontTools.ttLib.tables.otTables.Setting'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.ShrinkageDisableGPOS

alias of fontTools.ttLib.tables.otTables.JstfGPOSModList

fontTools.ttLib.tables.otTables.ShrinkageDisableGSUB

alias of fontTools.ttLib.tables.otTables.JstfGSUBModList

fontTools.ttLib.tables.otTables.ShrinkageEnableGPOS

alias of fontTools.ttLib.tables.otTables.JstfGPOSModList

fontTools.ttLib.tables.otTables.ShrinkageEnableGSUB

alias of fontTools.ttLib.tables.otTables.JstfGSUBModList

fontTools.ttLib.tables.otTables.ShrinkageJstfMax

alias of fontTools.ttLib.tables.otTables.JstfMax

class fontTools.ttLib.tables.otTables.SinglePos
LookupType = 1
collect_lookups()
compile(writer, font)
converters = {1: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ValueFormat object>, <fontTools.ttLib.tables.otConverters.ValueRecord object>], 2: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ValueFormat object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.ValueRecord object>]}
convertersByName = {1: {'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'Value': <fontTools.ttLib.tables.otConverters.ValueRecord object>, 'ValueFormat': <fontTools.ttLib.tables.otConverters.ValueFormat object>}, 2: {'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'Value': <fontTools.ttLib.tables.otConverters.ValueRecord object>, 'ValueCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'ValueFormat': <fontTools.ttLib.tables.otConverters.ValueFormat object>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
populateDefaults(propagator=None)
prune_post_subset(font, options)
readFormat(reader)
subset_glyphs(s)
subset_lookups(lookup_indices)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.SingleSubst[source]
LookupType = 1
closure_glyphs(s, cur_glyphs)
collect_lookups()
compile(writer, font)
converters = {1: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.UShort object>], 2: [Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.GlyphID object>]}
convertersByName = {1: {'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'DeltaGlyphID': <fontTools.ttLib.tables.otConverters.UShort object>}, 2: {'Coverage': Struct of <class 'fontTools.ttLib.tables.otTables.Coverage'>, 'GlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Substitute': <fontTools.ttLib.tables.otConverters.GlyphID object>}}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)[source]
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
mapLookups(lookupMap)
may_have_non_1to1()
populateDefaults(propagator=None)[source]
postRead(rawTable, font)[source]
preWrite(font)[source]
prune_post_subset(font, options)
readFormat(reader)
subset_glyphs(s)
subset_lookups(lookup_indices)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)[source]
writeFormat(writer)
class fontTools.ttLib.tables.otTables.StateHeader
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedULong object>, <fontTools.ttLib.tables.otConverters.ULong object>, <fontTools.ttLib.tables.otConverters.ULong object>, <fontTools.ttLib.tables.otConverters.ULong object>]
convertersByName = {'ClassCount': <fontTools.ttLib.tables.otConverters.ComputedULong object>, 'EntryTableOffset': <fontTools.ttLib.tables.otConverters.ULong object>, 'MorphClass': <fontTools.ttLib.tables.otConverters.ULong object>, 'StateArrayOffset': <fontTools.ttLib.tables.otConverters.ULong object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.SubClassRule
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.SubstLookupRecord'>]
convertersByName = {'Class': <fontTools.ttLib.tables.otConverters.UShort object>, 'GlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'SubstCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'SubstLookupRecord': Struct of <class 'fontTools.ttLib.tables.otTables.SubstLookupRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.SubClassSet
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.SubClassRule'>]
convertersByName = {'SubClassRule': Struct of <class 'fontTools.ttLib.tables.otTables.SubClassRule'>, 'SubClassRuleCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.SubRule
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.GlyphID object>, Struct of <class 'fontTools.ttLib.tables.otTables.SubstLookupRecord'>]
convertersByName = {'GlyphCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Input': <fontTools.ttLib.tables.otConverters.GlyphID object>, 'SubstCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'SubstLookupRecord': Struct of <class 'fontTools.ttLib.tables.otTables.SubstLookupRecord'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.SubRuleSet
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.SubRule'>]
convertersByName = {'SubRule': Struct of <class 'fontTools.ttLib.tables.otTables.SubRule'>, 'SubRuleCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.SubstLookupRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>]
convertersByName = {'LookupListIndex': <fontTools.ttLib.tables.otConverters.UShort object>, 'SequenceIndex': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.TSIC
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Version object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.Tag object>, Struct of <class 'fontTools.ttLib.tables.otTables.LocationRecord'>, Struct of <class 'fontTools.ttLib.tables.otTables.TSICRecord'>]
convertersByName = {'AxisArray': <fontTools.ttLib.tables.otConverters.Tag object>, 'AxisCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'Flags': <fontTools.ttLib.tables.otConverters.UShort object>, 'Record': Struct of <class 'fontTools.ttLib.tables.otTables.TSICRecord'>, 'RecordCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'RecordLocations': Struct of <class 'fontTools.ttLib.tables.otTables.LocationRecord'>, 'Reserved': <fontTools.ttLib.tables.otConverters.UShort object>, 'Version': <fontTools.ttLib.tables.otConverters.Version object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.TSICRecord
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.Short object>]
convertersByName = {'CVTArray': <fontTools.ttLib.tables.otConverters.UShort object>, 'CVTValueArray': <fontTools.ttLib.tables.otConverters.Short object>, 'Flags': <fontTools.ttLib.tables.otConverters.UShort object>, 'NameArray': <fontTools.ttLib.tables.otConverters.UShort object>, 'NameLength': <fontTools.ttLib.tables.otConverters.UShort object>, 'NumCVTEntries': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.TopAccentCoverage

alias of fontTools.ttLib.tables.otTables.Coverage

fontTools.ttLib.tables.otTables.TopLeftMathKern

alias of fontTools.ttLib.tables.otTables.MathKern

fontTools.ttLib.tables.otTables.TopRightMathKern

alias of fontTools.ttLib.tables.otTables.MathKern

class fontTools.ttLib.tables.otTables.VVAR
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Version object>, Struct of <class 'fontTools.ttLib.tables.otTables.VarStore'>, Struct of <class 'fontTools.ttLib.tables.otTables.VarIdxMap'>, Struct of <class 'fontTools.ttLib.tables.otTables.VarIdxMap'>, Struct of <class 'fontTools.ttLib.tables.otTables.VarIdxMap'>, Struct of <class 'fontTools.ttLib.tables.otTables.VarIdxMap'>]
convertersByName = {'AdvHeightMap': Struct of <class 'fontTools.ttLib.tables.otTables.VarIdxMap'>, 'BsbMap': Struct of <class 'fontTools.ttLib.tables.otTables.VarIdxMap'>, 'TsbMap': Struct of <class 'fontTools.ttLib.tables.otTables.VarIdxMap'>, 'VOrgMap': Struct of <class 'fontTools.ttLib.tables.otTables.VarIdxMap'>, 'VarStore': Struct of <class 'fontTools.ttLib.tables.otTables.VarStore'>, 'Version': <fontTools.ttLib.tables.otConverters.Version object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.VarData
addItem(deltas)
calculateNumShorts(optimize=False)
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.VarDataValue object>]
convertersByName = {'Item': <fontTools.ttLib.tables.otConverters.VarDataValue object>, 'ItemCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'NumShorts': <fontTools.ttLib.tables.otConverters.UShort object>, 'VarRegionCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'VarRegionIndex': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
optimize()
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.VarIdxMap[source]
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.VarIdxMapValue object>]
convertersByName = {'EntryFormat': <fontTools.ttLib.tables.otConverters.UShort object>, 'MappingCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'mapping': <fontTools.ttLib.tables.otConverters.VarIdxMapValue object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)[source]
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)[source]
postRead(rawTable, font)[source]
preWrite(font)[source]
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)[source]
writeFormat(writer)
class fontTools.ttLib.tables.otTables.VarRegion
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.VarRegionAxis'>]
convertersByName = {'VarRegionAxis': Struct of <class 'fontTools.ttLib.tables.otTables.VarRegionAxis'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
get_support(fvar_axes)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.VarRegionAxis
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.F2Dot14 object>, <fontTools.ttLib.tables.otConverters.F2Dot14 object>, <fontTools.ttLib.tables.otConverters.F2Dot14 object>]
convertersByName = {'EndCoord': <fontTools.ttLib.tables.otConverters.F2Dot14 object>, 'PeakCoord': <fontTools.ttLib.tables.otConverters.F2Dot14 object>, 'StartCoord': <fontTools.ttLib.tables.otConverters.F2Dot14 object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.VarRegionList[source]
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.ComputedUShort object>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.VarRegion'>]
convertersByName = {'Region': Struct of <class 'fontTools.ttLib.tables.otTables.VarRegion'>, 'RegionAxisCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'RegionCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
preWrite(font)[source]
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.VarStore
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.VarRegionList'>, <fontTools.ttLib.tables.otConverters.ComputedUShort object>, Struct of <class 'fontTools.ttLib.tables.otTables.VarData'>]
convertersByName = {'Format': <fontTools.ttLib.tables.otConverters.UShort object>, 'VarData': Struct of <class 'fontTools.ttLib.tables.otTables.VarData'>, 'VarDataCount': <fontTools.ttLib.tables.otConverters.ComputedUShort object>, 'VarRegionList': Struct of <class 'fontTools.ttLib.tables.otTables.VarRegionList'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
optimize()

Optimize storage. Returns mapping from old VarIdxes to new ones.

populateDefaults(propagator=None)
prune_regions()

Remove unused VarRegions.

readFormat(reader)
subset_varidxes(varIdxes, optimize=True, retainFirstMap=False, advIdxes={})
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.VariableFloat(value, varIdx=0)[source]
count(value, /)

Return number of occurrences of value.

index(value, start=0, stop=9223372036854775807, /)

Return first index of value.

Raises ValueError if the value is not present.

value

Alias for field number 0

varIdx

Alias for field number 1

class fontTools.ttLib.tables.otTables.VariableInt(value, varIdx=0)[source]
count(value, /)

Return number of occurrences of value.

index(value, start=0, stop=9223372036854775807, /)

Return first index of value.

Raises ValueError if the value is not present.

value

Alias for field number 0

varIdx

Alias for field number 1

class fontTools.ttLib.tables.otTables.VariableValue(value, varIdx=0)[source]
count(value, /)

Return number of occurrences of value.

index(value, start=0, stop=9223372036854775807, /)

Return first index of value.

Raises ValueError if the value is not present.

value

Alias for field number 0

varIdx

Alias for field number 1

fontTools.ttLib.tables.otTables.VertAxis

alias of fontTools.ttLib.tables.otTables.Axis

fontTools.ttLib.tables.otTables.VertGlyphConstruction

alias of fontTools.ttLib.tables.otTables.MathGlyphConstruction

fontTools.ttLib.tables.otTables.VertGlyphCoverage

alias of fontTools.ttLib.tables.otTables.Coverage

fontTools.ttLib.tables.otTables.XAdvDevice

alias of fontTools.ttLib.tables.otTables.Device

fontTools.ttLib.tables.otTables.XDeviceTable

alias of fontTools.ttLib.tables.otTables.Device

fontTools.ttLib.tables.otTables.XPlaDevice

alias of fontTools.ttLib.tables.otTables.Device

fontTools.ttLib.tables.otTables.YAdvDevice

alias of fontTools.ttLib.tables.otTables.Device

fontTools.ttLib.tables.otTables.YDeviceTable

alias of fontTools.ttLib.tables.otTables.Device

fontTools.ttLib.tables.otTables.YPlaDevice

alias of fontTools.ttLib.tables.otTables.Device

class fontTools.ttLib.tables.otTables.ankr
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.AnchorPoints'>]
convertersByName = {'AnchorPoints': Struct of <class 'fontTools.ttLib.tables.otTables.AnchorPoints'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.bsln
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Version object>, Struct of <class 'fontTools.ttLib.tables.otTables.Baseline'>]
convertersByName = {'Baseline': Struct of <class 'fontTools.ttLib.tables.otTables.Baseline'>, 'Version': <fontTools.ttLib.tables.otConverters.Version object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.cidg
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.CIDGlyphMapping'>]
convertersByName = {'CIDGlyphMapping': Struct of <class 'fontTools.ttLib.tables.otTables.CIDGlyphMapping'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.feat
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Version object>, Struct of <class 'fontTools.ttLib.tables.otTables.FeatureNames'>]
convertersByName = {'FeatureNames': Struct of <class 'fontTools.ttLib.tables.otTables.FeatureNames'>, 'Version': <fontTools.ttLib.tables.otConverters.Version object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.fixLookupOverFlows(ttf, overflowRecord)[source]

Either the offset from the LookupList to a lookup overflowed, or an offset from a lookup to a subtable overflowed. The table layout is: GPSO/GUSB

Script List Feature List LookUpList

Lookup[0] and contents
SubTable offset list

SubTable[0] and contents … SubTable[n] and contents

… Lookup[n] and contents

SubTable offset list

SubTable[0] and contents … SubTable[n] and contents

If the offset to a lookup overflowed (SubTableIndex is None)

we must promote the previous lookup to an Extension type.

If the offset from a lookup to subtable overflowed, then we must promote it

to an Extension Lookup type.

fontTools.ttLib.tables.otTables.fixSubTableOverFlows(ttf, overflowRecord)[source]

An offset has overflowed within a sub-table. We need to divide this subtable into smaller parts.

class fontTools.ttLib.tables.otTables.gcid
compile(writer, font)
converters = [Struct of <class 'fontTools.ttLib.tables.otTables.GlyphCIDMapping'>]
convertersByName = {'GlyphCIDMapping': Struct of <class 'fontTools.ttLib.tables.otTables.GlyphCIDMapping'>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.lcar
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Version object>, Struct of <class 'fontTools.ttLib.tables.otTables.LigatureCarets'>]
convertersByName = {'LigatureCarets': Struct of <class 'fontTools.ttLib.tables.otTables.LigatureCarets'>, 'Version': <fontTools.ttLib.tables.otConverters.Version object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.mort
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Version object>, <fontTools.ttLib.tables.otConverters.ComputedULong object>, Struct of <class 'fontTools.ttLib.tables.otTables.MortChain'>]
convertersByName = {'MorphChain': Struct of <class 'fontTools.ttLib.tables.otTables.MortChain'>, 'MorphChainCount': <fontTools.ttLib.tables.otConverters.ComputedULong object>, 'Version': <fontTools.ttLib.tables.otConverters.Version object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.morx
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.UShort object>, <fontTools.ttLib.tables.otConverters.ComputedULong object>, Struct of <class 'fontTools.ttLib.tables.otTables.MorxChain'>]
convertersByName = {'MorphChain': Struct of <class 'fontTools.ttLib.tables.otTables.MorxChain'>, 'MorphChainCount': <fontTools.ttLib.tables.otConverters.ComputedULong object>, 'Reserved': <fontTools.ttLib.tables.otConverters.UShort object>, 'Version': <fontTools.ttLib.tables.otConverters.UShort object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.opbd
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Version object>, Struct of <class 'fontTools.ttLib.tables.otTables.OpticalBounds'>]
convertersByName = {'OpticalBounds': Struct of <class 'fontTools.ttLib.tables.otTables.OpticalBounds'>, 'Version': <fontTools.ttLib.tables.otConverters.Version object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
class fontTools.ttLib.tables.otTables.prop
compile(writer, font)
converters = [<fontTools.ttLib.tables.otConverters.Fixed object>, Struct of <class 'fontTools.ttLib.tables.otTables.GlyphProperties'>]
convertersByName = {'GlyphProperties': Struct of <class 'fontTools.ttLib.tables.otTables.GlyphProperties'>, 'Version': <fontTools.ttLib.tables.otConverters.Fixed object>}
decompile(reader, font)
ensureDecompiled()
fromXML(name, attrs, content, font)
getConverterByName(name)
getConverters()
classmethod getRecordSize(reader)
populateDefaults(propagator=None)
readFormat(reader)
toXML(xmlWriter, font, attrs=None, name=None)
toXML2(xmlWriter, font)
writeFormat(writer)
fontTools.ttLib.tables.otTables.splitAlternateSubst(oldSubTable, newSubTable, overflowRecord)[source]
fontTools.ttLib.tables.otTables.splitLigatureSubst(oldSubTable, newSubTable, overflowRecord)[source]
fontTools.ttLib.tables.otTables.splitMarkBasePos(oldSubTable, newSubTable, overflowRecord)[source]
fontTools.ttLib.tables.otTables.splitMultipleSubst(oldSubTable, newSubTable, overflowRecord)[source]
fontTools.ttLib.tables.otTables.splitPairPos(oldSubTable, newSubTable, overflowRecord)[source]

S__i_l_f

class fontTools.ttLib.tables.S__i_l_f.Classes[source]
compile(ttFont, version=2.0)[source]
decompile(data, ttFont, version=2.0)[source]
fromXML(name, attrs, content, ttFont, version=2.0)[source]
toXML(writer, ttFont, version=2.0)[source]
class fontTools.ttLib.tables.S__i_l_f.Pass[source]
compile(ttFont, base, version=2.0)[source]
decompile(data, ttFont, version=2.0)[source]
fromXML(name, attrs, content, ttFont, version=2.0)[source]
toXML(writer, ttFont, version=2.0)[source]
class fontTools.ttLib.tables.S__i_l_f.Silf[source]

A particular Silf subtable

compile(ttFont, version=2.0)[source]
decompile(data, ttFont, version=2.0)[source]
fromXML(name, attrs, content, ttFont, version=2.0)[source]
toXML(writer, ttFont, version=2.0)[source]
fontTools.ttLib.tables.S__i_l_f.assemble(instrs)[source]
fontTools.ttLib.tables.S__i_l_f.content_string(contents)[source]
fontTools.ttLib.tables.S__i_l_f.disassemble(aCode)[source]
fontTools.ttLib.tables.S__i_l_f.getSimple(self, attrs, *attr_list)[source]
fontTools.ttLib.tables.S__i_l_f.readcode(content)[source]
class fontTools.ttLib.tables.S__i_l_f.table_S__i_l_f(tag=None)[source]

Silf table support

compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = []
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
toXML(writer, ttFont)[source]
fontTools.ttLib.tables.S__i_l_f.wrapline(writer, dat, length=80)[source]
fontTools.ttLib.tables.S__i_l_f.writecode(tag, writer, instrs)[source]
fontTools.ttLib.tables.S__i_l_f.writesimple(tag, self, writer, *attrkeys)[source]

S__i_l_l

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

S_I_N_G

class fontTools.ttLib.tables.S_I_N_G_.table_S_I_N_G_(tag=None)[source]
compile(ttFont)[source]
compilecompileUniqueName(name, length)[source]
decompile(data, ttFont)[source]
decompileUniqueName(data)[source]
dependencies = []
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
toXML(writer, ttFont)[source]

S_T_A_T

class fontTools.ttLib.tables.S_T_A_T_.table_S_T_A_T_(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)

S_V_G

Compiles/decompiles version 0 and 1 SVG tables from/to XML.

Version 1 is the first SVG definition, implemented in Mozilla before Aug 2013, now deprecated. This module will decompile this correctly, but will compile a version 1 table only if you add the secret element “<version1/>” to the SVG element in the TTF file.

Version 0 is the joint Adobe-Mozilla proposal, which supports color palettes.

The XML format is: <SVG>

<svgDoc endGlyphID=”1” startGlyphID=”1”>

<![CDATA[ <complete SVG doc> ]]

</svgDoc>

<svgDoc endGlyphID=”n” startGlyphID=”m”>

<![CDATA[ <complete SVG doc> ]]

</svgDoc>

<colorPalettes>

<colorParamUINameID>n</colorParamUINameID> … <colorParamUINameID>m</colorParamUINameID> <colorPalette uiNameID=”n”>

<colorRecord red=”<int>” green=”<int>” blue=”<int>” alpha=”<int>” /> … <colorRecord red=”<int>” green=”<int>” blue=”<int>” alpha=”<int>” />

</colorPalette> … <colorPalette uiNameID=”m”>

<colorRecord red=”<int> green=”<int>” blue=”<int>” alpha=”<int>” /> … <colorRecord red=<int>” green=”<int>” blue=”<int>” alpha=”<int>” />

</colorPalette>

</colorPalettes>

</SVG>

Color values must be less than 256.

The number of color records in each </colorPalette> must be the same as the number of <colorParamUINameID> elements.

class fontTools.ttLib.tables.S_V_G_.ColorPalette[source]
fromXML(name, attrs, content, ttFont)[source]
class fontTools.ttLib.tables.S_V_G_.ColorPalettes[source]
fromXML(name, attrs, content, ttFont)[source]
class fontTools.ttLib.tables.S_V_G_.ColorRecord[source]
class fontTools.ttLib.tables.S_V_G_.DocumentIndexEntry[source]
class fontTools.ttLib.tables.S_V_G_.table_S_V_G_(tag=None)[source]
compile(ttFont)[source]
compileFormat0(ttFont)[source]
compileFormat1(ttFont)[source]
decompile(data, ttFont)[source]
decompileEntryList(data)[source]
decompile_format_0(data, ttFont)[source]
decompile_format_1(data, ttFont)[source]
dependencies = []
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
toXML(writer, ttFont)[source]

sbixGlyph

class fontTools.ttLib.tables.sbixGlyph.Glyph(glyphName=None, referenceGlyphName=None, originOffsetX=0, originOffsetY=0, graphicType=None, imageData=None, rawdata=None, gid=0)[source]
compile(ttFont)[source]
decompile(ttFont)[source]
fromXML(name, attrs, content, ttFont)[source]
toXML(xmlWriter, ttFont)[source]

sbixStrike

class fontTools.ttLib.tables.sbixStrike.Strike(rawdata=None, ppem=0, resolution=72)[source]
compile(ttFont)[source]
decompile(ttFont)[source]
fromXML(name, attrs, content, ttFont)[source]
toXML(xmlWriter, ttFont)[source]

T_S_I__0

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]

T_S_I__1

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]

T_S_I__2

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)

T_S_I__3

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)

T_S_I__5

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]

T_S_I_B

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)

T_S_I_C

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)

T_S_I_D

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)

T_S_I_J

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)

T_S_I_P

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)

T_S_I_S

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)

T_S_I_V

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]

T_T_F_A

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

ttProgram

ttLib.tables.ttProgram.py – Assembler/disassembler for TrueType bytecode programs.

class fontTools.ttLib.tables.ttProgram.Program[source]
fromAssembly(assembly)[source]
fromBytecode(bytecode)[source]
fromXML(name, attrs, content, ttFont)[source]
getAssembly(preserve=True)[source]
getBytecode()[source]
toXML(writer, ttFont)[source]
fontTools.ttLib.tables.ttProgram.bitRepr(value, bits)[source]
exception fontTools.ttLib.tables.ttProgram.tt_instructions_error(error)[source]
args
with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

TupleVariation

class fontTools.ttLib.tables.TupleVariation.TupleVariation(axes, coordinates)[source]
calcInferredDeltas(origCoords, endPts)[source]
compile(axisTags, sharedCoordIndices, sharedPoints)[source]
compileCoord(axisTags)[source]
static compileDeltaValues_(deltas)[source]

[value1, value2, value3, …] –> bytestring

Emits a sequence of runs. Each run starts with a byte-sized header whose 6 least significant bits (header & 0x3F) indicate how many values are encoded in this run. The stored length is the actual length minus one; run lengths are thus in the range [1..64]. If the header byte has its most significant bit (0x80) set, all values in this run are zero, and no data follows. Otherwise, the header byte is followed by ((header & 0x3F) + 1) signed values. If (header & 0x40) is clear, the delta values are stored as signed bytes; if (header & 0x40) is set, the delta values are signed 16-bit integers.

compileDeltas(points)[source]
compileIntermediateCoord(axisTags)[source]
static compilePoints(points, numPointsInGlyph)[source]
static decompileCoord_(axisTags, data, offset)[source]
static decompileDeltas_(numDeltas, data, offset)[source]

(numDeltas, data, offset) –> ([delta, delta, …], newOffset)

static decompilePoints_(numPoints, data, offset, tableTag)[source]

(numPoints, data, offset, tableTag) –> ([point1, point2, …], newOffset)

static encodeDeltaRunAsBytes_(deltas, offset, stream)[source]
static encodeDeltaRunAsWords_(deltas, offset, stream)[source]
static encodeDeltaRunAsZeroes_(deltas, offset, stream)[source]
fromXML(name, attrs, _content)[source]
getCoordWidth()[source]

Return 2 if coordinates are (x, y) as in gvar, 1 if single values as in cvar, or 0 if empty.

static getTupleSize_(flags, axisCount)[source]
getUsedPoints()[source]
hasImpact()[source]

Returns True if this TupleVariation has any visible impact.

If the result is False, the TupleVariation can be omitted from the font without making any visible difference.

optimize(origCoords, endPts, tolerance=0.5, isComposite=False)[source]
roundDeltas()[source]
scaleDeltas(scalar)[source]
toXML(writer, axisTags)[source]
fontTools.ttLib.tables.TupleVariation.compileSharedTuples(axisTags, variations)[source]
fontTools.ttLib.tables.TupleVariation.compileTupleVariationStore(variations, pointCount, axisTags, sharedTupleIndices, useSharedPoints=True)[source]
fontTools.ttLib.tables.TupleVariation.decompileSharedTuples(axisTags, sharedTupleCount, data, offset)[source]
fontTools.ttLib.tables.TupleVariation.decompileTupleVariationStore(tableTag, axisTags, tupleVariationCount, pointCount, sharedTuples, data, pos, dataPos)[source]
fontTools.ttLib.tables.TupleVariation.decompileTupleVariation_(pointCount, sharedTuples, sharedPoints, tableTag, axisTags, data, tupleData)[source]
fontTools.ttLib.tables.TupleVariation.inferRegion_(peak)[source]

Infer start and end for a (non-intermediate) region

This helper function computes the applicability region for variation tuples whose INTERMEDIATE_REGION flag is not set in the TupleVariationHeader structure. Variation tuples apply only to certain regions of the variation space; outside that region, the tuple has no effect. To make the binary encoding more compact, TupleVariationHeaders can omit the intermediateStartTuple and intermediateEndTuple fields.

V_D_M_X

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

V_O_R_G

class fontTools.ttLib.tables.V_O_R_G_.VOriginRecord(name=None, vOrigin=None)[source]
fromXML(name, attrs, content, ttFont)[source]
toXML(writer, ttFont)[source]
class fontTools.ttLib.tables.V_O_R_G_.table_V_O_R_G_(tag=None)[source]

This table is structured so that you can treat it like a dictionary keyed by glyph name. ttFont[‘VORG’][<glyphName>] will return the vertical origin for any glyph ttFont[‘VORG’][<glyphName>] = <value> will set the vertical origin for any glyph.

compile(ttFont)[source]
decompile(data, ttFont)[source]
dependencies = []
fromXML(name, attrs, content, ttFont)[source]
merge(m, tables)
subset_glyphs(s)
toXML(writer, ttFont)[source]

V_V_A_R

class fontTools.ttLib.tables.V_V_A_R_.table_V_V_A_R_(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)
subset_glyphs(s)
toXML(writer, font)