cffLib

cffLib.py – read/write tools for Adobe CFF fonts.

class fontTools.cffLib.ASCIIConverter[source]
write(parent, value)[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value)[source]
class fontTools.cffLib.ArrayConverter[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value)[source]
class fontTools.cffLib.BaseDict(strings=None, file=None, offset=None, isCFF2=None)[source]
decompile(data)[source]
fromXML(name, attrs, content)[source]
getCompiler(strings, parent, isCFF2=None)[source]
postDecompile()[source]
toXML(xmlWriter)[source]
class fontTools.cffLib.CFFFontSet[source]
compile(file, otFont, isCFF2=None)[source]
convertCFFToCFF2(otFont)[source]
decompile(file, otFont, isCFF2=None)[source]
fromXML(name, attrs, content, otFont=None)[source]
keys()[source]
toXML(xmlWriter)[source]
values()[source]
class fontTools.cffLib.CFFWriter(isCFF2)[source]
add(table)[source]
toFile(file)[source]
class fontTools.cffLib.CharStrings(file, charset, globalSubrs, private, fdSelect, fdArray, isCFF2=None)[source]
fromXML(name, attrs, content)[source]
getItemAndSelector(name)[source]
has_key(name)[source]
keys()[source]
toXML(xmlWriter)[source]
values()[source]
class fontTools.cffLib.CharStringsCompiler(items, strings, parent, isCFF2=None)[source]
getItems(items, strings)[source]
setPos(pos, endPos)[source]
class fontTools.cffLib.CharStringsConverter[source]
write(parent, value)[source]
xmlRead(name, attrs, content, parent)[source]
class fontTools.cffLib.CharsetCompiler(strings, charset, parent)[source]
getDataLength()[source]
setPos(pos, endPos)[source]
toFile(file)[source]
class fontTools.cffLib.CharsetConverter[source]
write(parent, value)[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value)[source]
class fontTools.cffLib.DictCompiler(dictObj, strings, parent, isCFF2=None)[source]
arg_SID(s)[source]
arg_array(value)[source]
arg_delta(value)[source]
arg_delta_blend(value)[source]

A delta list with blend lists has to be all blend lists. The value is a list is arranged as follows. [

[V0, d0..dn] [V1, d0..dn] … [Vm, d0..dn]

] V is the absolute coordinate value from the default font, and d0-dn are the delta values from the n regions. Each V is an absolute coordinate from the default font. We want to return a list: [

[v0, v1..vm] [d0..dn] … [d0..dn] numBlends blendOp

] where each v is relative to the previous default font value.

arg_number(num)[source]
compile(reason)[source]
getDataLength()[source]
maxBlendStack = 0
setPos(pos, endPos)[source]
toFile(file)[source]
class fontTools.cffLib.EncodingCompiler(strings, encoding, parent)[source]
getDataLength()[source]
setPos(pos, endPos)[source]
toFile(file)[source]
class fontTools.cffLib.EncodingConverter[source]
write(parent, value)[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value)[source]
class fontTools.cffLib.FDArrayConverter[source]
write(parent, value)[source]
xmlRead(name, attrs, content, parent)[source]
class fontTools.cffLib.FDArrayIndex(file=None, isCFF2=None)[source]
compilerClass

alias of FDArrayIndexCompiler

fromXML(name, attrs, content)[source]
produceItem(index, data, file, offset)[source]
toXML(xmlWriter)[source]
class fontTools.cffLib.FDArrayIndexCompiler(items, strings, parent, isCFF2=None)[source]
getChildren(strings)[source]
getItems(items, strings)[source]
setPos(pos, endPos)[source]
toFile(file)[source]
class fontTools.cffLib.FDSelect(file=None, numGlyphs=None, format=None)[source]
append(fdSelectValue)[source]
class fontTools.cffLib.FDSelectCompiler(fdSelect, parent)[source]
getDataLength()[source]
setPos(pos, endPos)[source]
toFile(file)[source]
class fontTools.cffLib.FDSelectConverter[source]
write(parent, value)[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value)[source]
class fontTools.cffLib.FontDict(strings=None, file=None, offset=None, GlobalSubrs=None, isCFF2=None, vstore=None)[source]
compilerClass

alias of FontDictCompiler

converters = {'BaseFontBlend': <fontTools.cffLib.ArrayConverter object>, 'BaseFontName': <fontTools.cffLib.ASCIIConverter object>, 'CIDCount': <fontTools.cffLib.NumberConverter object>, 'CIDFontRevision': <fontTools.cffLib.NumberConverter object>, 'CIDFontType': <fontTools.cffLib.NumberConverter object>, 'CIDFontVersion': <fontTools.cffLib.NumberConverter object>, 'CharStrings': <fontTools.cffLib.CharStringsConverter object>, 'CharstringType': <fontTools.cffLib.NumberConverter object>, 'Copyright': <fontTools.cffLib.Latin1Converter object>, 'Encoding': <fontTools.cffLib.EncodingConverter object>, 'FDArray': <fontTools.cffLib.FDArrayConverter object>, 'FDSelect': <fontTools.cffLib.FDSelectConverter object>, 'FamilyName': <fontTools.cffLib.ASCIIConverter object>, 'FontBBox': <fontTools.cffLib.ArrayConverter object>, 'FontMatrix': <fontTools.cffLib.ArrayConverter object>, 'FontName': <fontTools.cffLib.ASCIIConverter object>, 'FullName': <fontTools.cffLib.ASCIIConverter object>, 'ItalicAngle': <fontTools.cffLib.NumberConverter object>, 'Notice': <fontTools.cffLib.Latin1Converter object>, 'PaintType': <fontTools.cffLib.NumberConverter object>, 'PostScript': <fontTools.cffLib.ASCIIConverter object>, 'Private': <fontTools.cffLib.PrivateDictConverter object>, 'ROS': <fontTools.cffLib.ROSConverter object>, 'StrokeWidth': <fontTools.cffLib.NumberConverter object>, 'SyntheticBase': <fontTools.cffLib.NumberConverter object>, 'UIDBase': <fontTools.cffLib.NumberConverter object>, 'UnderlinePosition': <fontTools.cffLib.NumberConverter object>, 'UnderlineThickness': <fontTools.cffLib.NumberConverter object>, 'UniqueID': <fontTools.cffLib.NumberConverter object>, 'VarStore': <fontTools.cffLib.VarStoreConverter object>, 'Weight': <fontTools.cffLib.ASCIIConverter object>, 'XUID': <fontTools.cffLib.ArrayConverter object>, 'charset': <fontTools.cffLib.CharsetConverter object>, 'isFixedPitch': <fontTools.cffLib.NumberConverter object>, 'maxstack': <fontTools.cffLib.NumberConverter object>, 'version': <fontTools.cffLib.ASCIIConverter object>}
decompilerClass

alias of TopDictDecompiler

defaults = {}
orderCFF = ['FontName', 'FontMatrix', 'Weight', 'Private']
orderCFF2 = ['Private']
setCFF2(isCFF2)[source]
class fontTools.cffLib.FontDictCompiler(dictObj, strings, parent, isCFF2=None)[source]
getChildren(strings)[source]
opcodes = {'BaseFontBlend': (b'\x0c\x17', 'delta'), 'BaseFontName': (b'\x0c\x16', 'SID'), 'CIDCount': (b'\x0c"', 'number'), 'CIDFontRevision': (b'\x0c ', 'number'), 'CIDFontType': (b'\x0c!', 'number'), 'CIDFontVersion': (b'\x0c\x1f', 'number'), 'CharStrings': (b'\x11', 'number'), 'CharstringType': (b'\x0c\x06', 'number'), 'Copyright': (b'\x0c\x00', 'SID'), 'Encoding': (b'\x10', 'number'), 'FDArray': (b'\x0c$', 'number'), 'FDSelect': (b'\x0c%', 'number'), 'FamilyName': (b'\x03', 'SID'), 'FontBBox': (b'\x05', 'array'), 'FontMatrix': (b'\x0c\x07', 'array'), 'FontName': (b'\x0c&', 'SID'), 'FullName': (b'\x02', 'SID'), 'ItalicAngle': (b'\x0c\x02', 'number'), 'Notice': (b'\x01', 'SID'), 'PaintType': (b'\x0c\x05', 'number'), 'PostScript': (b'\x0c\x15', 'SID'), 'Private': (b'\x12', ('number', 'number')), 'ROS': (b'\x0c\x1e', ('SID', 'SID', 'number')), 'StrokeWidth': (b'\x0c\x08', 'number'), 'SyntheticBase': (b'\x0c\x14', 'number'), 'UIDBase': (b'\x0c#', 'number'), 'UnderlinePosition': (b'\x0c\x03', 'number'), 'UnderlineThickness': (b'\x0c\x04', 'number'), 'UniqueID': (b'\r', 'number'), 'VarStore': (b'\x18', 'number'), 'Weight': (b'\x04', 'SID'), 'XUID': (b'\x0e', 'array'), 'charset': (b'\x0f', 'number'), 'isFixedPitch': (b'\x0c\x01', 'number'), 'maxstack': (b'\x19', 'number'), 'version': (b'\x00', 'SID')}
class fontTools.cffLib.GlobalSubrsCompiler(items, strings, parent, isCFF2=None)[source]
getItems(items, strings)[source]
class fontTools.cffLib.GlobalSubrsIndex(file=None, globalSubrs=None, private=None, fdSelect=None, fdArray=None, isCFF2=None)[source]
charStringClass

alias of fontTools.misc.psCharStrings.T2CharString

compilerClass

alias of GlobalSubrsCompiler

fromXML(name, attrs, content)[source]
getItemAndSelector(index)[source]
produceItem(index, data, file, offset)[source]
subrClass

alias of fontTools.misc.psCharStrings.T2CharString

toXML(xmlWriter)[source]
class fontTools.cffLib.Index(file=None, isCFF2=None)[source]

This class represents what the CFF spec calls an INDEX.

append(item)[source]
clear()[source]
compilerClass

alias of IndexCompiler

getCompiler(strings, parent, isCFF2=None)[source]
produceItem(index, data, file, offset)[source]
class fontTools.cffLib.IndexCompiler(items, strings, parent, isCFF2=None)[source]
getDataLength()[source]
getItems(items, strings)[source]
getOffsets()[source]
toFile(file)[source]
class fontTools.cffLib.IndexedStrings(file=None)[source]

SID -> string mapping.

buildStringMapping()[source]
getCompiler()[source]
getSID(s)[source]
getStrings()[source]
class fontTools.cffLib.IndexedStringsCompiler(items, strings, parent, isCFF2=None)[source]
getItems(items, strings)[source]
class fontTools.cffLib.Latin1Converter[source]
write(parent, value)[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value)[source]
class fontTools.cffLib.NumberConverter[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value)[source]
class fontTools.cffLib.PrivateDict(strings=None, file=None, offset=None, isCFF2=None, vstore=None)[source]
compilerClass

alias of PrivateDictCompiler

converters = {'BlueFuzz': <fontTools.cffLib.NumberConverter object>, 'BlueScale': <fontTools.cffLib.NumberConverter object>, 'BlueShift': <fontTools.cffLib.NumberConverter object>, 'BlueValues': <fontTools.cffLib.ArrayConverter object>, 'ExpansionFactor': <fontTools.cffLib.NumberConverter object>, 'FamilyBlues': <fontTools.cffLib.ArrayConverter object>, 'FamilyOtherBlues': <fontTools.cffLib.ArrayConverter object>, 'ForceBold': <fontTools.cffLib.NumberConverter object>, 'ForceBoldThreshold': <fontTools.cffLib.NumberConverter object>, 'LanguageGroup': <fontTools.cffLib.NumberConverter object>, 'OtherBlues': <fontTools.cffLib.ArrayConverter object>, 'StdHW': <fontTools.cffLib.NumberConverter object>, 'StdVW': <fontTools.cffLib.NumberConverter object>, 'StemSnapH': <fontTools.cffLib.ArrayConverter object>, 'StemSnapV': <fontTools.cffLib.ArrayConverter object>, 'Subrs': <fontTools.cffLib.SubrsConverter object>, 'blend': None, 'defaultWidthX': <fontTools.cffLib.NumberConverter object>, 'initialRandomSeed': <fontTools.cffLib.NumberConverter object>, 'lenIV': <fontTools.cffLib.NumberConverter object>, 'nominalWidthX': <fontTools.cffLib.NumberConverter object>, 'vsindex': <fontTools.cffLib.NumberConverter object>}
decompilerClass

alias of PrivateDictDecompiler

defaults = {'BlueFuzz': 1, 'BlueScale': 0.039625, 'BlueShift': 7, 'ExpansionFactor': 0.06, 'ForceBold': 0, 'LanguageGroup': 0, 'defaultWidthX': 0, 'initialRandomSeed': 0, 'nominalWidthX': 0}
getNumRegions(vi=None)[source]
in_cff2
order = ['vsindex', 'blend', 'BlueValues', 'OtherBlues', 'FamilyBlues', 'FamilyOtherBlues', 'BlueScale', 'BlueShift', 'BlueFuzz', 'StdHW', 'StdVW', 'StemSnapH', 'StemSnapV', 'ForceBold', 'ForceBoldThreshold', 'lenIV', 'LanguageGroup', 'ExpansionFactor', 'initialRandomSeed', 'defaultWidthX', 'nominalWidthX', 'Subrs']
class fontTools.cffLib.PrivateDictCompiler(dictObj, strings, parent, isCFF2=None)[source]
getChildren(strings)[source]
maxBlendStack = 513
opcodes = {'BlueFuzz': (b'\x0c\x0b', 'number'), 'BlueScale': (b'\x0c\t', 'number'), 'BlueShift': (b'\x0c\n', 'number'), 'BlueValues': (b'\x06', 'delta'), 'ExpansionFactor': (b'\x0c\x12', 'number'), 'FamilyBlues': (b'\x08', 'delta'), 'FamilyOtherBlues': (b'\t', 'delta'), 'ForceBold': (b'\x0c\x0e', 'number'), 'ForceBoldThreshold': (b'\x0c\x0f', 'number'), 'LanguageGroup': (b'\x0c\x11', 'number'), 'OtherBlues': (b'\x07', 'delta'), 'StdHW': (b'\n', 'number'), 'StdVW': (b'\x0b', 'number'), 'StemSnapH': (b'\x0c\x0c', 'delta'), 'StemSnapV': (b'\x0c\r', 'delta'), 'Subrs': (b'\x13', 'number'), 'blend': (b'\x17', 'blendList'), 'defaultWidthX': (b'\x14', 'number'), 'initialRandomSeed': (b'\x0c\x13', 'number'), 'lenIV': (b'\x0c\x10', 'number'), 'nominalWidthX': (b'\x15', 'number'), 'vsindex': (b'\x16', 'number')}
setPos(pos, endPos)[source]
class fontTools.cffLib.PrivateDictConverter[source]
getClass()[source]
write(parent, value)[source]
class fontTools.cffLib.PrivateDictDecompiler(strings, parent=None)[source]
operators = {22: ('vsindex', 'number'), 23: ('blend', 'blendList'), 6: ('BlueValues', 'delta'), 7: ('OtherBlues', 'delta'), 8: ('FamilyBlues', 'delta'), 9: ('FamilyOtherBlues', 'delta'), (12, 9): ('BlueScale', 'number'), (12, 10): ('BlueShift', 'number'), (12, 11): ('BlueFuzz', 'number'), 10: ('StdHW', 'number'), 11: ('StdVW', 'number'), (12, 12): ('StemSnapH', 'delta'), (12, 13): ('StemSnapV', 'delta'), (12, 14): ('ForceBold', 'number'), (12, 15): ('ForceBoldThreshold', 'number'), (12, 16): ('lenIV', 'number'), (12, 17): ('LanguageGroup', 'number'), (12, 18): ('ExpansionFactor', 'number'), (12, 19): ('initialRandomSeed', 'number'), 20: ('defaultWidthX', 'number'), 21: ('nominalWidthX', 'number'), 19: ('Subrs', 'number')}
class fontTools.cffLib.ROSConverter[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value)[source]
class fontTools.cffLib.SimpleConverter[source]
read(parent, value)[source]
write(parent, value)[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value)[source]
class fontTools.cffLib.SubrsCompiler(items, strings, parent, isCFF2=None)[source]
setPos(pos, endPos)[source]
class fontTools.cffLib.SubrsConverter[source]
getClass()[source]
write(parent, value)[source]
class fontTools.cffLib.SubrsIndex(file=None, globalSubrs=None, private=None, fdSelect=None, fdArray=None, isCFF2=None)[source]
compilerClass

alias of SubrsCompiler

class fontTools.cffLib.TableConverter[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value)[source]
class fontTools.cffLib.TopDict(strings=None, file=None, offset=None, GlobalSubrs=None, cff2GetGlyphOrder=None, isCFF2=None)[source]
compilerClass

alias of TopDictCompiler

converters = {'BaseFontBlend': <fontTools.cffLib.ArrayConverter object>, 'BaseFontName': <fontTools.cffLib.ASCIIConverter object>, 'CIDCount': <fontTools.cffLib.NumberConverter object>, 'CIDFontRevision': <fontTools.cffLib.NumberConverter object>, 'CIDFontType': <fontTools.cffLib.NumberConverter object>, 'CIDFontVersion': <fontTools.cffLib.NumberConverter object>, 'CharStrings': <fontTools.cffLib.CharStringsConverter object>, 'CharstringType': <fontTools.cffLib.NumberConverter object>, 'Copyright': <fontTools.cffLib.Latin1Converter object>, 'Encoding': <fontTools.cffLib.EncodingConverter object>, 'FDArray': <fontTools.cffLib.FDArrayConverter object>, 'FDSelect': <fontTools.cffLib.FDSelectConverter object>, 'FamilyName': <fontTools.cffLib.ASCIIConverter object>, 'FontBBox': <fontTools.cffLib.ArrayConverter object>, 'FontMatrix': <fontTools.cffLib.ArrayConverter object>, 'FontName': <fontTools.cffLib.ASCIIConverter object>, 'FullName': <fontTools.cffLib.ASCIIConverter object>, 'ItalicAngle': <fontTools.cffLib.NumberConverter object>, 'Notice': <fontTools.cffLib.Latin1Converter object>, 'PaintType': <fontTools.cffLib.NumberConverter object>, 'PostScript': <fontTools.cffLib.ASCIIConverter object>, 'Private': <fontTools.cffLib.PrivateDictConverter object>, 'ROS': <fontTools.cffLib.ROSConverter object>, 'StrokeWidth': <fontTools.cffLib.NumberConverter object>, 'SyntheticBase': <fontTools.cffLib.NumberConverter object>, 'UIDBase': <fontTools.cffLib.NumberConverter object>, 'UnderlinePosition': <fontTools.cffLib.NumberConverter object>, 'UnderlineThickness': <fontTools.cffLib.NumberConverter object>, 'UniqueID': <fontTools.cffLib.NumberConverter object>, 'VarStore': <fontTools.cffLib.VarStoreConverter object>, 'Weight': <fontTools.cffLib.ASCIIConverter object>, 'XUID': <fontTools.cffLib.ArrayConverter object>, 'charset': <fontTools.cffLib.CharsetConverter object>, 'isFixedPitch': <fontTools.cffLib.NumberConverter object>, 'maxstack': <fontTools.cffLib.NumberConverter object>, 'version': <fontTools.cffLib.ASCIIConverter object>}
decompileAllCharStrings()[source]
decompilerClass

alias of TopDictDecompiler

defaults = {'CIDCount': 8720, 'CIDFontRevision': 0, 'CIDFontType': 0, 'CIDFontVersion': 0, 'CharstringType': 2, 'Encoding': 0, 'FontBBox': [0, 0, 0, 0], 'FontMatrix': [0.001, 0, 0, 0.001, 0, 0], 'ItalicAngle': 0, 'PaintType': 0, 'StrokeWidth': 0, 'UnderlinePosition': -100, 'UnderlineThickness': 50, 'isFixedPitch': 0}
getGlyphOrder()[source]
order = ['maxstack', 'ROS', 'SyntheticBase', 'version', 'Notice', 'Copyright', 'FullName', 'FontName', 'FamilyName', 'Weight', 'isFixedPitch', 'ItalicAngle', 'UnderlinePosition', 'UnderlineThickness', 'PaintType', 'CharstringType', 'FontMatrix', 'UniqueID', 'FontBBox', 'StrokeWidth', 'XUID', 'PostScript', 'BaseFontName', 'BaseFontBlend', 'CIDFontVersion', 'CIDFontRevision', 'CIDFontType', 'CIDCount', 'charset', 'UIDBase', 'Encoding', 'Private', 'FDSelect', 'FDArray', 'CharStrings', 'VarStore']
postDecompile()[source]
recalcFontBBox()[source]
toXML(xmlWriter)[source]
class fontTools.cffLib.TopDictCompiler(dictObj, strings, parent, isCFF2=None)[source]
getChildren(strings)[source]
opcodes = {'BaseFontBlend': (b'\x0c\x17', 'delta'), 'BaseFontName': (b'\x0c\x16', 'SID'), 'CIDCount': (b'\x0c"', 'number'), 'CIDFontRevision': (b'\x0c ', 'number'), 'CIDFontType': (b'\x0c!', 'number'), 'CIDFontVersion': (b'\x0c\x1f', 'number'), 'CharStrings': (b'\x11', 'number'), 'CharstringType': (b'\x0c\x06', 'number'), 'Copyright': (b'\x0c\x00', 'SID'), 'Encoding': (b'\x10', 'number'), 'FDArray': (b'\x0c$', 'number'), 'FDSelect': (b'\x0c%', 'number'), 'FamilyName': (b'\x03', 'SID'), 'FontBBox': (b'\x05', 'array'), 'FontMatrix': (b'\x0c\x07', 'array'), 'FontName': (b'\x0c&', 'SID'), 'FullName': (b'\x02', 'SID'), 'ItalicAngle': (b'\x0c\x02', 'number'), 'Notice': (b'\x01', 'SID'), 'PaintType': (b'\x0c\x05', 'number'), 'PostScript': (b'\x0c\x15', 'SID'), 'Private': (b'\x12', ('number', 'number')), 'ROS': (b'\x0c\x1e', ('SID', 'SID', 'number')), 'StrokeWidth': (b'\x0c\x08', 'number'), 'SyntheticBase': (b'\x0c\x14', 'number'), 'UIDBase': (b'\x0c#', 'number'), 'UnderlinePosition': (b'\x0c\x03', 'number'), 'UnderlineThickness': (b'\x0c\x04', 'number'), 'UniqueID': (b'\r', 'number'), 'VarStore': (b'\x18', 'number'), 'Weight': (b'\x04', 'SID'), 'XUID': (b'\x0e', 'array'), 'charset': (b'\x0f', 'number'), 'isFixedPitch': (b'\x0c\x01', 'number'), 'maxstack': (b'\x19', 'number'), 'version': (b'\x00', 'SID')}
class fontTools.cffLib.TopDictDecompiler(strings, parent=None)[source]
operators = {25: ('maxstack', 'number'), (12, 30): ('ROS', ('SID', 'SID', 'number')), (12, 20): ('SyntheticBase', 'number'), 0: ('version', 'SID'), 1: ('Notice', 'SID'), (12, 0): ('Copyright', 'SID'), 2: ('FullName', 'SID'), (12, 38): ('FontName', 'SID'), 3: ('FamilyName', 'SID'), 4: ('Weight', 'SID'), (12, 1): ('isFixedPitch', 'number'), (12, 2): ('ItalicAngle', 'number'), (12, 3): ('UnderlinePosition', 'number'), (12, 4): ('UnderlineThickness', 'number'), (12, 5): ('PaintType', 'number'), (12, 6): ('CharstringType', 'number'), (12, 7): ('FontMatrix', 'array'), 13: ('UniqueID', 'number'), 5: ('FontBBox', 'array'), (12, 8): ('StrokeWidth', 'number'), 14: ('XUID', 'array'), (12, 21): ('PostScript', 'SID'), (12, 22): ('BaseFontName', 'SID'), (12, 23): ('BaseFontBlend', 'delta'), (12, 31): ('CIDFontVersion', 'number'), (12, 32): ('CIDFontRevision', 'number'), (12, 33): ('CIDFontType', 'number'), (12, 34): ('CIDCount', 'number'), 15: ('charset', 'number'), (12, 35): ('UIDBase', 'number'), 16: ('Encoding', 'number'), 18: ('Private', ('number', 'number')), (12, 37): ('FDSelect', 'number'), (12, 36): ('FDArray', 'number'), 17: ('CharStrings', 'number'), 24: ('VarStore', 'number')}
class fontTools.cffLib.TopDictIndex(file=None, cff2GetGlyphOrder=None, topSize=0, isCFF2=None)[source]
compilerClass

alias of TopDictIndexCompiler

produceItem(index, data, file, offset)[source]
toXML(xmlWriter)[source]
class fontTools.cffLib.TopDictIndexCompiler(items, strings, parent, isCFF2=None)[source]
getChildren(strings)[source]
getDataLength()[source]
getItems(items, strings)[source]
getOffsets()[source]
toFile(file)[source]
class fontTools.cffLib.VarStoreCompiler(varStoreData, parent)[source]
getDataLength()[source]
setPos(pos, endPos)[source]
toFile(file)[source]
class fontTools.cffLib.VarStoreConverter[source]
write(parent, value)[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value)[source]
class fontTools.cffLib.VarStoreData(file=None, otVarStore=None)[source]
compile()[source]
decompile()[source]
getNumRegions(vsIndex)[source]
writeXML(xmlWriter, name)[source]
xmlRead(name, attrs, content, parent)[source]
fontTools.cffLib.addConverters(table)[source]
fontTools.cffLib.buildConverters(table)[source]
fontTools.cffLib.buildDefaults(table)[source]
fontTools.cffLib.buildOpcodeDict(table)[source]
fontTools.cffLib.buildOperatorDict(table)[source]
fontTools.cffLib.buildOrder(table)[source]
fontTools.cffLib.calcOffSize(largestOffset)[source]
fontTools.cffLib.encodeNumber(num)[source]
fontTools.cffLib.getCIDfromName(name, strings)[source]
fontTools.cffLib.getSIDfromName(name, strings)[source]
fontTools.cffLib.getStdCharSet(charset)[source]
fontTools.cffLib.packCard16(value)[source]
fontTools.cffLib.packCard32(value)[source]
fontTools.cffLib.packCard8(value)[source]
fontTools.cffLib.packCharset(charset, isCID, strings)[source]
fontTools.cffLib.packCharset0(charset, isCID, strings)[source]
fontTools.cffLib.packEncoding0(charset, encoding, strings)[source]
fontTools.cffLib.packEncoding1(charset, encoding, strings)[source]
fontTools.cffLib.packFDSelect0(fdSelectArray)[source]
fontTools.cffLib.packFDSelect3(fdSelectArray)[source]
fontTools.cffLib.packFDSelect4(fdSelectArray)[source]
fontTools.cffLib.parseBlendList(s)[source]
fontTools.cffLib.parseCharset(numGlyphs, file, strings, isCID, fmt)[source]
fontTools.cffLib.parseCharset0(numGlyphs, file, strings, isCID)[source]
fontTools.cffLib.parseEncoding0(charset, file, haveSupplement, strings)[source]
fontTools.cffLib.parseEncoding1(charset, file, haveSupplement, strings)[source]
fontTools.cffLib.parseNum(s)[source]
fontTools.cffLib.readCard16(file)[source]
fontTools.cffLib.readCard32(file)[source]
fontTools.cffLib.readCard8(file)[source]
fontTools.cffLib.writeCard16(file, value)[source]
fontTools.cffLib.writeCard32(file, value)[source]
fontTools.cffLib.writeCard8(file, value)[source]