cffLib

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

class fontTools.cffLib.ASCIIConverter[source]
read(parent, value)[source]
write(parent, value)[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value, progress)[source]
class fontTools.cffLib.ArrayConverter[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value, progress)[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, progress)[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, progress=None)[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, progress)[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]
read(parent, value)[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]
read(parent, value)[source]
write(parent, value)[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value, progress)[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]
read(parent, value)[source]
write(parent, value)[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value, progress)[source]
class fontTools.cffLib.FDArrayConverter[source]
read(parent, value)[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, progress)[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]
read(parent, value)[source]
write(parent, value)[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value, progress)[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 at 0x7fc1a74ec8d0>, 'BaseFontName': <fontTools.cffLib.ASCIIConverter object at 0x7fc1a74ec890>, 'CIDCount': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec9d0>, 'CIDFontRevision': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec950>, 'CIDFontType': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec990>, 'CIDFontVersion': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec910>, 'CharStrings': <fontTools.cffLib.CharStringsConverter object at 0x7fc1a74f8c90>, 'CharstringType': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec6d0>, 'Copyright': <fontTools.cffLib.Latin1Converter object at 0x7fc1a74f8b10>, 'Encoding': <fontTools.cffLib.EncodingConverter object at 0x7fc1a74f8b90>, 'FDArray': <fontTools.cffLib.FDArrayConverter object at 0x7fc1a74f8c50>, 'FDSelect': <fontTools.cffLib.FDSelectConverter object at 0x7fc1a74f8c10>, 'FamilyName': <fontTools.cffLib.ASCIIConverter object at 0x7fc1a74ec510>, 'FontBBox': <fontTools.cffLib.ArrayConverter object at 0x7fc1a74ec790>, 'FontMatrix': <fontTools.cffLib.ArrayConverter object at 0x7fc1a74ec710>, 'FontName': <fontTools.cffLib.ASCIIConverter object at 0x7fc1a74ec4d0>, 'FullName': <fontTools.cffLib.ASCIIConverter object at 0x7fc1a74ec490>, 'ItalicAngle': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec5d0>, 'Notice': <fontTools.cffLib.Latin1Converter object at 0x7fc1a74f8ad0>, 'PaintType': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec690>, 'PostScript': <fontTools.cffLib.ASCIIConverter object at 0x7fc1a74ec850>, 'Private': <fontTools.cffLib.PrivateDictConverter object at 0x7fc1a74f8bd0>, 'ROS': <fontTools.cffLib.ROSConverter object at 0x7fc1a7140d10>, 'StrokeWidth': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec7d0>, 'SyntheticBase': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec410>, 'UIDBase': <fontTools.cffLib.NumberConverter object at 0x7fc1a74eca10>, 'UnderlinePosition': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec610>, 'UnderlineThickness': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec650>, 'UniqueID': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec750>, 'VarStore': <fontTools.cffLib.VarStoreConverter object at 0x7fc1a74f8cd0>, 'Weight': <fontTools.cffLib.ASCIIConverter object at 0x7fc1a74ec550>, 'XUID': <fontTools.cffLib.ArrayConverter object at 0x7fc1a74ec810>, 'charset': <fontTools.cffLib.CharsetConverter object at 0x7fc1a74f8b50>, 'isFixedPitch': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec590>, 'maxstack': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec3d0>, 'version': <fontTools.cffLib.ASCIIConverter object at 0x7fc1a74ec450>}
decompilerClass

alias of TopDictDecompiler

defaults = {}
order = ['FontName', 'FontMatrix', 'Weight', 'Private']
class fontTools.cffLib.FontDictCompiler(dictObj, strings, parent, isCFF2=None)[source]
getChildren(strings)[source]
opcodes = {'BaseFontBlend': ('\x0c\x17', 'delta'), 'BaseFontName': ('\x0c\x16', 'SID'), 'CIDCount': ('\x0c"', 'number'), 'CIDFontRevision': ('\x0c ', 'number'), 'CIDFontType': ('\x0c!', 'number'), 'CIDFontVersion': ('\x0c\x1f', 'number'), 'CharStrings': ('\x11', 'number'), 'CharstringType': ('\x0c\x06', 'number'), 'Copyright': ('\x0c\x00', 'SID'), 'Encoding': ('\x10', 'number'), 'FDArray': ('\x0c$', 'number'), 'FDSelect': ('\x0c%', 'number'), 'FamilyName': ('\x03', 'SID'), 'FontBBox': ('\x05', 'array'), 'FontMatrix': ('\x0c\x07', 'array'), 'FontName': ('\x0c&', 'SID'), 'FullName': ('\x02', 'SID'), 'ItalicAngle': ('\x0c\x02', 'number'), 'Notice': ('\x01', 'SID'), 'PaintType': ('\x0c\x05', 'number'), 'PostScript': ('\x0c\x15', 'SID'), 'Private': ('\x12', ('number', 'number')), 'ROS': ('\x0c\x1e', ('SID', 'SID', 'number')), 'StrokeWidth': ('\x0c\x08', 'number'), 'SyntheticBase': ('\x0c\x14', 'number'), 'UIDBase': ('\x0c#', 'number'), 'UnderlinePosition': ('\x0c\x03', 'number'), 'UnderlineThickness': ('\x0c\x04', 'number'), 'UniqueID': ('\r', 'number'), 'VarStore': ('\x18', 'number'), 'Weight': ('\x04', 'SID'), 'XUID': ('\x0e', 'array'), 'charset': ('\x0f', 'number'), 'isFixedPitch': ('\x0c\x01', 'number'), 'maxstack': ('\x19', 'number'), 'version': ('\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 T2CharString

compilerClass

alias of GlobalSubrsCompiler

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

alias of T2CharString

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

This class represents what the CFF spec calls an INDEX.

append(item)[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]
read(parent, value)[source]
write(parent, value)[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value, progress)[source]
class fontTools.cffLib.NumberConverter[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value, progress)[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 at 0x7fc1a74ec090>, 'BlueScale': <fontTools.cffLib.NumberConverter object at 0x7fc1a74f8fd0>, 'BlueShift': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec050>, 'BlueValues': <fontTools.cffLib.ArrayConverter object at 0x7fc1a74f8ed0>, 'ExpansionFactor': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec2d0>, 'FamilyBlues': <fontTools.cffLib.ArrayConverter object at 0x7fc1a74f8f50>, 'FamilyOtherBlues': <fontTools.cffLib.ArrayConverter object at 0x7fc1a74f8f90>, 'ForceBold': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec1d0>, 'ForceBoldThreshold': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec210>, 'LanguageGroup': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec290>, 'OtherBlues': <fontTools.cffLib.ArrayConverter object at 0x7fc1a74f8f10>, 'StdHW': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec0d0>, 'StdVW': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec110>, 'StemSnapH': <fontTools.cffLib.ArrayConverter object at 0x7fc1a74ec150>, 'StemSnapV': <fontTools.cffLib.ArrayConverter object at 0x7fc1a74ec190>, 'Subrs': <fontTools.cffLib.SubrsConverter object at 0x7fc1a74f8e10>, 'blend': None, 'defaultWidthX': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec350>, 'initialRandomSeed': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec310>, 'lenIV': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec250>, 'nominalWidthX': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec390>, 'vsindex': <fontTools.cffLib.NumberConverter object at 0x7fc1a74f8e90>}
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]
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': ('\x0c\x0b', 'number'), 'BlueScale': ('\x0c\t', 'number'), 'BlueShift': ('\x0c\n', 'number'), 'BlueValues': ('\x06', 'delta'), 'ExpansionFactor': ('\x0c\x12', 'number'), 'FamilyBlues': ('\x08', 'delta'), 'FamilyOtherBlues': ('\t', 'delta'), 'ForceBold': ('\x0c\x0e', 'number'), 'ForceBoldThreshold': ('\x0c\x0f', 'number'), 'LanguageGroup': ('\x0c\x11', 'number'), 'OtherBlues': ('\x07', 'delta'), 'StdHW': ('\n', 'number'), 'StdVW': ('\x0b', 'number'), 'StemSnapH': ('\x0c\x0c', 'delta'), 'StemSnapV': ('\x0c\r', 'delta'), 'Subrs': ('\x13', 'number'), 'blend': ('\x17', 'blendList'), 'defaultWidthX': ('\x14', 'number'), 'initialRandomSeed': ('\x0c\x13', 'number'), 'lenIV': ('\x0c\x10', 'number'), 'nominalWidthX': ('\x15', 'number'), 'vsindex': ('\x16', 'number')}
setPos(pos, endPos)[source]
class fontTools.cffLib.PrivateDictConverter[source]
getClass()[source]
read(parent, value)[source]
write(parent, value)[source]
class fontTools.cffLib.PrivateDictDecompiler(strings, parent=None)[source]
operators = {6: ('BlueValues', 'delta'), 7: ('OtherBlues', 'delta'), 8: ('FamilyBlues', 'delta'), 9: ('FamilyOtherBlues', 'delta'), 10: ('StdHW', 'number'), 11: ('StdVW', 'number'), 19: ('Subrs', 'number'), 20: ('defaultWidthX', 'number'), 21: ('nominalWidthX', 'number'), 22: ('vsindex', 'number'), 23: ('blend', 'blendList'), (12, 9): ('BlueScale', 'number'), (12, 10): ('BlueShift', 'number'), (12, 11): ('BlueFuzz', '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')}
class fontTools.cffLib.ROSConverter[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value, progress)[source]
class fontTools.cffLib.SimpleConverter[source]
read(parent, value)[source]
write(parent, value)[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value, progress)[source]
class fontTools.cffLib.SubrsCompiler(items, strings, parent, isCFF2=None)[source]
setPos(pos, endPos)[source]
class fontTools.cffLib.SubrsConverter[source]
getClass()[source]
read(parent, value)[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, progress)[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 at 0x7fc1a74ec8d0>, 'BaseFontName': <fontTools.cffLib.ASCIIConverter object at 0x7fc1a74ec890>, 'CIDCount': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec9d0>, 'CIDFontRevision': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec950>, 'CIDFontType': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec990>, 'CIDFontVersion': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec910>, 'CharStrings': <fontTools.cffLib.CharStringsConverter object at 0x7fc1a74f8c90>, 'CharstringType': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec6d0>, 'Copyright': <fontTools.cffLib.Latin1Converter object at 0x7fc1a74f8b10>, 'Encoding': <fontTools.cffLib.EncodingConverter object at 0x7fc1a74f8b90>, 'FDArray': <fontTools.cffLib.FDArrayConverter object at 0x7fc1a74f8c50>, 'FDSelect': <fontTools.cffLib.FDSelectConverter object at 0x7fc1a74f8c10>, 'FamilyName': <fontTools.cffLib.ASCIIConverter object at 0x7fc1a74ec510>, 'FontBBox': <fontTools.cffLib.ArrayConverter object at 0x7fc1a74ec790>, 'FontMatrix': <fontTools.cffLib.ArrayConverter object at 0x7fc1a74ec710>, 'FontName': <fontTools.cffLib.ASCIIConverter object at 0x7fc1a74ec4d0>, 'FullName': <fontTools.cffLib.ASCIIConverter object at 0x7fc1a74ec490>, 'ItalicAngle': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec5d0>, 'Notice': <fontTools.cffLib.Latin1Converter object at 0x7fc1a74f8ad0>, 'PaintType': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec690>, 'PostScript': <fontTools.cffLib.ASCIIConverter object at 0x7fc1a74ec850>, 'Private': <fontTools.cffLib.PrivateDictConverter object at 0x7fc1a74f8bd0>, 'ROS': <fontTools.cffLib.ROSConverter object at 0x7fc1a7140d10>, 'StrokeWidth': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec7d0>, 'SyntheticBase': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec410>, 'UIDBase': <fontTools.cffLib.NumberConverter object at 0x7fc1a74eca10>, 'UnderlinePosition': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec610>, 'UnderlineThickness': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec650>, 'UniqueID': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec750>, 'VarStore': <fontTools.cffLib.VarStoreConverter object at 0x7fc1a74f8cd0>, 'Weight': <fontTools.cffLib.ASCIIConverter object at 0x7fc1a74ec550>, 'XUID': <fontTools.cffLib.ArrayConverter object at 0x7fc1a74ec810>, 'charset': <fontTools.cffLib.CharsetConverter object at 0x7fc1a74f8b50>, 'isFixedPitch': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec590>, 'maxstack': <fontTools.cffLib.NumberConverter object at 0x7fc1a74ec3d0>, 'version': <fontTools.cffLib.ASCIIConverter object at 0x7fc1a74ec450>}
decompileAllCharStrings(progress)[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, progress)[source]
class fontTools.cffLib.TopDictCompiler(dictObj, strings, parent, isCFF2=None)[source]
getChildren(strings)[source]
opcodes = {'BaseFontBlend': ('\x0c\x17', 'delta'), 'BaseFontName': ('\x0c\x16', 'SID'), 'CIDCount': ('\x0c"', 'number'), 'CIDFontRevision': ('\x0c ', 'number'), 'CIDFontType': ('\x0c!', 'number'), 'CIDFontVersion': ('\x0c\x1f', 'number'), 'CharStrings': ('\x11', 'number'), 'CharstringType': ('\x0c\x06', 'number'), 'Copyright': ('\x0c\x00', 'SID'), 'Encoding': ('\x10', 'number'), 'FDArray': ('\x0c$', 'number'), 'FDSelect': ('\x0c%', 'number'), 'FamilyName': ('\x03', 'SID'), 'FontBBox': ('\x05', 'array'), 'FontMatrix': ('\x0c\x07', 'array'), 'FontName': ('\x0c&', 'SID'), 'FullName': ('\x02', 'SID'), 'ItalicAngle': ('\x0c\x02', 'number'), 'Notice': ('\x01', 'SID'), 'PaintType': ('\x0c\x05', 'number'), 'PostScript': ('\x0c\x15', 'SID'), 'Private': ('\x12', ('number', 'number')), 'ROS': ('\x0c\x1e', ('SID', 'SID', 'number')), 'StrokeWidth': ('\x0c\x08', 'number'), 'SyntheticBase': ('\x0c\x14', 'number'), 'UIDBase': ('\x0c#', 'number'), 'UnderlinePosition': ('\x0c\x03', 'number'), 'UnderlineThickness': ('\x0c\x04', 'number'), 'UniqueID': ('\r', 'number'), 'VarStore': ('\x18', 'number'), 'Weight': ('\x04', 'SID'), 'XUID': ('\x0e', 'array'), 'charset': ('\x0f', 'number'), 'isFixedPitch': ('\x0c\x01', 'number'), 'maxstack': ('\x19', 'number'), 'version': ('\x00', 'SID')}
class fontTools.cffLib.TopDictDecompiler(strings, parent=None)[source]
operators = {0: ('version', 'SID'), 1: ('Notice', 'SID'), 2: ('FullName', 'SID'), 3: ('FamilyName', 'SID'), 4: ('Weight', 'SID'), 5: ('FontBBox', 'array'), 13: ('UniqueID', 'number'), 14: ('XUID', 'array'), 15: ('charset', 'number'), 16: ('Encoding', 'number'), 17: ('CharStrings', 'number'), 18: ('Private', ('number', 'number')), 24: ('VarStore', 'number'), 25: ('maxstack', 'number'), (12, 0): ('Copyright', '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'), (12, 8): ('StrokeWidth', 'number'), (12, 20): ('SyntheticBase', 'number'), (12, 21): ('PostScript', 'SID'), (12, 22): ('BaseFontName', 'SID'), (12, 23): ('BaseFontBlend', 'delta'), (12, 30): ('ROS', ('SID', 'SID', 'number')), (12, 31): ('CIDFontVersion', 'number'), (12, 32): ('CIDFontRevision', 'number'), (12, 33): ('CIDFontType', 'number'), (12, 34): ('CIDCount', 'number'), (12, 35): ('UIDBase', 'number'), (12, 36): ('FDArray', 'number'), (12, 37): ('FDSelect', 'number'), (12, 38): ('FontName', 'SID')}
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, progress)[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]
read(parent, value)[source]
write(parent, value)[source]
xmlRead(name, attrs, content, parent)[source]
xmlWrite(xmlWriter, name, value, progress)[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.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.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]