cffLib¶
cffLib.py – read/write tools for Adobe CFF fonts.
-
class
fontTools.cffLib.
CharStrings
(file, charset, globalSubrs, private, fdSelect, fdArray, isCFF2=None)[source]¶
-
class
fontTools.cffLib.
DictCompiler
(dictObj, strings, parent, isCFF2=None)[source]¶ -
-
maxBlendStack
= 0¶
-
-
class
fontTools.cffLib.
FDArrayIndex
(file=None, isCFF2=None)[source]¶ -
compilerClass
¶ alias of
FDArrayIndexCompiler
-
-
class
fontTools.cffLib.
FontDict
(strings=None, file=None, offset=None, GlobalSubrs=None, isCFF2=None, vstore=None)[source]¶ -
compilerClass
¶ alias of
FontDictCompiler
-
converters
= {'FontMatrix': <fontTools.cffLib.ArrayConverter object>, 'isFixedPitch': <fontTools.cffLib.NumberConverter object>, 'BaseFontName': <fontTools.cffLib.ASCIIConverter object>, 'PostScript': <fontTools.cffLib.ASCIIConverter object>, 'BaseFontBlend': <fontTools.cffLib.ArrayConverter object>, 'CIDCount': <fontTools.cffLib.NumberConverter object>, 'XUID': <fontTools.cffLib.ArrayConverter object>, 'Notice': <fontTools.cffLib.Latin1Converter object>, 'Copyright': <fontTools.cffLib.Latin1Converter object>, 'VarStore': <fontTools.cffLib.VarStoreConverter object>, 'charset': <fontTools.cffLib.CharsetConverter object>, 'FDArray': <fontTools.cffLib.FDArrayConverter object>, 'version': <fontTools.cffLib.ASCIIConverter object>, 'UnderlinePosition': <fontTools.cffLib.NumberConverter object>, 'FDSelect': <fontTools.cffLib.FDSelectConverter object>, 'UnderlineThickness': <fontTools.cffLib.NumberConverter object>, 'ItalicAngle': <fontTools.cffLib.NumberConverter object>, 'ROS': <fontTools.cffLib.ROSConverter object>, 'CIDFontVersion': <fontTools.cffLib.NumberConverter object>, 'CIDFontType': <fontTools.cffLib.NumberConverter object>, 'maxstack': <fontTools.cffLib.NumberConverter object>, 'CharstringType': <fontTools.cffLib.NumberConverter object>, 'CIDFontRevision': <fontTools.cffLib.NumberConverter object>, 'FontName': <fontTools.cffLib.ASCIIConverter object>, 'SyntheticBase': <fontTools.cffLib.NumberConverter object>, 'UIDBase': <fontTools.cffLib.NumberConverter object>, 'FullName': <fontTools.cffLib.ASCIIConverter object>, 'StrokeWidth': <fontTools.cffLib.NumberConverter object>, 'CharStrings': <fontTools.cffLib.CharStringsConverter object>, 'Weight': <fontTools.cffLib.ASCIIConverter object>, 'Encoding': <fontTools.cffLib.EncodingConverter object>, 'FamilyName': <fontTools.cffLib.ASCIIConverter object>, 'Private': <fontTools.cffLib.PrivateDictConverter object>, 'PaintType': <fontTools.cffLib.NumberConverter object>, 'UniqueID': <fontTools.cffLib.NumberConverter object>, 'FontBBox': <fontTools.cffLib.ArrayConverter object>}¶
-
decompilerClass
¶ alias of
TopDictDecompiler
-
defaults
= {}¶
-
order
= ['FontName', 'FontMatrix', 'Weight', 'Private']¶
-
-
class
fontTools.cffLib.
FontDictCompiler
(dictObj, strings, parent, isCFF2=None)[source]¶ -
-
opcodes
= {'FontMatrix': ('\x0c\x07', 'array'), 'isFixedPitch': ('\x0c\x01', 'number'), 'BaseFontName': ('\x0c\x16', 'SID'), 'PostScript': ('\x0c\x15', 'SID'), 'BaseFontBlend': ('\x0c\x17', 'delta'), 'CIDCount': ('\x0c"', 'number'), 'XUID': ('\x0e', 'array'), 'Notice': ('\x01', 'SID'), 'Copyright': ('\x0c\x00', 'SID'), 'VarStore': ('\x18', 'number'), 'charset': ('\x0f', 'number'), 'FDArray': ('\x0c$', 'number'), 'version': ('\x00', 'SID'), 'UnderlinePosition': ('\x0c\x03', 'number'), 'FDSelect': ('\x0c%', 'number'), 'UnderlineThickness': ('\x0c\x04', 'number'), 'ItalicAngle': ('\x0c\x02', 'number'), 'ROS': ('\x0c\x1e', ('SID', 'SID', 'number')), 'CIDFontVersion': ('\x0c\x1f', 'number'), 'CIDFontType': ('\x0c!', 'number'), 'maxstack': ('\x19', 'number'), 'CharstringType': ('\x0c\x06', 'number'), 'CIDFontRevision': ('\x0c ', 'number'), 'FontName': ('\x0c&', 'SID'), 'SyntheticBase': ('\x0c\x14', 'number'), 'UIDBase': ('\x0c#', 'number'), 'FullName': ('\x02', 'SID'), 'StrokeWidth': ('\x0c\x08', 'number'), 'CharStrings': ('\x11', 'number'), 'Weight': ('\x04', 'SID'), 'Encoding': ('\x10', 'number'), 'FamilyName': ('\x03', 'SID'), 'Private': ('\x12', ('number', 'number')), 'PaintType': ('\x0c\x05', 'number'), 'UniqueID': ('\r', 'number'), 'FontBBox': ('\x05', 'array')}¶
-
-
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
-
subrClass
¶ alias of
T2CharString
-
-
class
fontTools.cffLib.
Index
(file=None, isCFF2=None)[source]¶ This class represents what the CFF spec calls an INDEX.
-
compilerClass
¶ alias of
IndexCompiler
-
-
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>, 'vsindex': <fontTools.cffLib.NumberConverter object>, 'StdVW': <fontTools.cffLib.NumberConverter object>, 'LanguageGroup': <fontTools.cffLib.NumberConverter object>, 'initialRandomSeed': <fontTools.cffLib.NumberConverter object>, 'FamilyBlues': <fontTools.cffLib.ArrayConverter object>, 'lenIV': <fontTools.cffLib.NumberConverter object>, 'BlueScale': <fontTools.cffLib.NumberConverter object>, 'ForceBoldThreshold': <fontTools.cffLib.NumberConverter object>, 'StemSnapH': <fontTools.cffLib.ArrayConverter object>, 'FamilyOtherBlues': <fontTools.cffLib.ArrayConverter object>, 'defaultWidthX': <fontTools.cffLib.NumberConverter object>, 'nominalWidthX': <fontTools.cffLib.NumberConverter object>, 'BlueShift': <fontTools.cffLib.NumberConverter object>, 'StemSnapV': <fontTools.cffLib.ArrayConverter object>, 'BlueValues': <fontTools.cffLib.ArrayConverter object>, 'ExpansionFactor': <fontTools.cffLib.NumberConverter object>, 'StdHW': <fontTools.cffLib.NumberConverter object>, 'Subrs': <fontTools.cffLib.SubrsConverter object>, 'OtherBlues': <fontTools.cffLib.ArrayConverter object>, 'ForceBold': <fontTools.cffLib.NumberConverter object>, 'blend': None}¶
-
decompilerClass
¶ alias of
PrivateDictDecompiler
-
defaults
= {'defaultWidthX': 0, 'BlueFuzz': 1, 'ExpansionFactor': 0.06, 'nominalWidthX': 0, 'BlueShift': 7, 'LanguageGroup': 0, 'initialRandomSeed': 0, 'ForceBold': 0, 'BlueScale': 0.039625}¶
-
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]¶ -
-
maxBlendStack
= 513¶
-
opcodes
= {'BlueFuzz': ('\x0c\x0b', 'number'), 'vsindex': ('\x16', 'number'), 'StdVW': ('\x0b', 'number'), 'LanguageGroup': ('\x0c\x11', 'number'), 'initialRandomSeed': ('\x0c\x13', 'number'), 'FamilyBlues': ('\x08', 'delta'), 'lenIV': ('\x0c\x10', 'number'), 'BlueScale': ('\x0c\t', 'number'), 'ForceBoldThreshold': ('\x0c\x0f', 'number'), 'StemSnapH': ('\x0c\x0c', 'delta'), 'FamilyOtherBlues': ('\t', 'delta'), 'defaultWidthX': ('\x14', 'number'), 'nominalWidthX': ('\x15', 'number'), 'BlueShift': ('\x0c\n', 'number'), 'StemSnapV': ('\x0c\r', 'delta'), 'BlueValues': ('\x06', 'delta'), 'ExpansionFactor': ('\x0c\x12', 'number'), 'StdHW': ('\n', 'number'), 'Subrs': ('\x13', 'number'), 'OtherBlues': ('\x07', 'delta'), 'ForceBold': ('\x0c\x0e', 'number'), 'blend': ('\x17', 'blendList')}¶
-
-
class
fontTools.cffLib.
PrivateDictDecompiler
(strings, parent=None)[source]¶ -
operators
= {6: ('BlueValues', 'delta'), 7: ('OtherBlues', 'delta'), 8: ('FamilyBlues', 'delta'), 9: ('FamilyOtherBlues', 'delta'), 10: ('StdHW', 'number'), (12, 12): ('StemSnapH', 'delta'), 19: ('Subrs', 'number'), 20: ('defaultWidthX', 'number'), 21: ('nominalWidthX', 'number'), 22: ('vsindex', 'number'), (12, 16): ('lenIV', 'number'), (12, 9): ('BlueScale', 'number'), (12, 13): ('StemSnapV', 'delta'), (12, 17): ('LanguageGroup', 'number'), 23: ('blend', 'blendList'), (12, 10): ('BlueShift', 'number'), 11: ('StdVW', 'number'), (12, 14): ('ForceBold', 'number'), (12, 18): ('ExpansionFactor', 'number'), (12, 11): ('BlueFuzz', 'number'), (12, 15): ('ForceBoldThreshold', 'number'), (12, 19): ('initialRandomSeed', 'number')}¶
-
-
class
fontTools.cffLib.
SubrsIndex
(file=None, globalSubrs=None, private=None, fdSelect=None, fdArray=None, isCFF2=None)[source]¶ -
compilerClass
¶ alias of
SubrsCompiler
-
-
class
fontTools.cffLib.
TopDict
(strings=None, file=None, offset=None, GlobalSubrs=None, cff2GetGlyphOrder=None, isCFF2=None)[source]¶ -
compilerClass
¶ alias of
TopDictCompiler
-
converters
= {'FontMatrix': <fontTools.cffLib.ArrayConverter object>, 'isFixedPitch': <fontTools.cffLib.NumberConverter object>, 'BaseFontName': <fontTools.cffLib.ASCIIConverter object>, 'PostScript': <fontTools.cffLib.ASCIIConverter object>, 'BaseFontBlend': <fontTools.cffLib.ArrayConverter object>, 'CIDCount': <fontTools.cffLib.NumberConverter object>, 'XUID': <fontTools.cffLib.ArrayConverter object>, 'Notice': <fontTools.cffLib.Latin1Converter object>, 'Copyright': <fontTools.cffLib.Latin1Converter object>, 'VarStore': <fontTools.cffLib.VarStoreConverter object>, 'charset': <fontTools.cffLib.CharsetConverter object>, 'FDArray': <fontTools.cffLib.FDArrayConverter object>, 'version': <fontTools.cffLib.ASCIIConverter object>, 'UnderlinePosition': <fontTools.cffLib.NumberConverter object>, 'FDSelect': <fontTools.cffLib.FDSelectConverter object>, 'UnderlineThickness': <fontTools.cffLib.NumberConverter object>, 'ItalicAngle': <fontTools.cffLib.NumberConverter object>, 'ROS': <fontTools.cffLib.ROSConverter object>, 'CIDFontVersion': <fontTools.cffLib.NumberConverter object>, 'CIDFontType': <fontTools.cffLib.NumberConverter object>, 'maxstack': <fontTools.cffLib.NumberConverter object>, 'CharstringType': <fontTools.cffLib.NumberConverter object>, 'CIDFontRevision': <fontTools.cffLib.NumberConverter object>, 'FontName': <fontTools.cffLib.ASCIIConverter object>, 'SyntheticBase': <fontTools.cffLib.NumberConverter object>, 'UIDBase': <fontTools.cffLib.NumberConverter object>, 'FullName': <fontTools.cffLib.ASCIIConverter object>, 'StrokeWidth': <fontTools.cffLib.NumberConverter object>, 'CharStrings': <fontTools.cffLib.CharStringsConverter object>, 'Weight': <fontTools.cffLib.ASCIIConverter object>, 'Encoding': <fontTools.cffLib.EncodingConverter object>, 'FamilyName': <fontTools.cffLib.ASCIIConverter object>, 'Private': <fontTools.cffLib.PrivateDictConverter object>, 'PaintType': <fontTools.cffLib.NumberConverter object>, 'UniqueID': <fontTools.cffLib.NumberConverter object>, 'FontBBox': <fontTools.cffLib.ArrayConverter object>}¶
-
decompilerClass
¶ alias of
TopDictDecompiler
-
defaults
= {'CIDFontType': 0, 'StrokeWidth': 0, 'FontBBox': [0, 0, 0, 0], 'FontMatrix': [0.001, 0, 0, 0.001, 0, 0], 'Encoding': 0, 'CharstringType': 2, 'CIDFontRevision': 0, 'isFixedPitch': 0, 'UnderlinePosition': -100, 'PaintType': 0, 'UnderlineThickness': 50, 'CIDCount': 8720, 'ItalicAngle': 0, 'CIDFontVersion': 0}¶
-
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']¶
-
-
class
fontTools.cffLib.
TopDictCompiler
(dictObj, strings, parent, isCFF2=None)[source]¶ -
-
opcodes
= {'FontMatrix': ('\x0c\x07', 'array'), 'isFixedPitch': ('\x0c\x01', 'number'), 'BaseFontName': ('\x0c\x16', 'SID'), 'PostScript': ('\x0c\x15', 'SID'), 'BaseFontBlend': ('\x0c\x17', 'delta'), 'CIDCount': ('\x0c"', 'number'), 'XUID': ('\x0e', 'array'), 'Notice': ('\x01', 'SID'), 'Copyright': ('\x0c\x00', 'SID'), 'VarStore': ('\x18', 'number'), 'charset': ('\x0f', 'number'), 'FDArray': ('\x0c$', 'number'), 'version': ('\x00', 'SID'), 'UnderlinePosition': ('\x0c\x03', 'number'), 'FDSelect': ('\x0c%', 'number'), 'UnderlineThickness': ('\x0c\x04', 'number'), 'ItalicAngle': ('\x0c\x02', 'number'), 'ROS': ('\x0c\x1e', ('SID', 'SID', 'number')), 'CIDFontVersion': ('\x0c\x1f', 'number'), 'CIDFontType': ('\x0c!', 'number'), 'maxstack': ('\x19', 'number'), 'CharstringType': ('\x0c\x06', 'number'), 'CIDFontRevision': ('\x0c ', 'number'), 'FontName': ('\x0c&', 'SID'), 'SyntheticBase': ('\x0c\x14', 'number'), 'UIDBase': ('\x0c#', 'number'), 'FullName': ('\x02', 'SID'), 'StrokeWidth': ('\x0c\x08', 'number'), 'CharStrings': ('\x11', 'number'), 'Weight': ('\x04', 'SID'), 'Encoding': ('\x10', 'number'), 'FamilyName': ('\x03', 'SID'), 'Private': ('\x12', ('number', 'number')), 'PaintType': ('\x0c\x05', 'number'), 'UniqueID': ('\r', 'number'), 'FontBBox': ('\x05', 'array')}¶
-
-
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'), (12, 32): ('CIDFontRevision', 'number'), 13: ('UniqueID', 'number'), 14: ('XUID', 'array'), 15: ('charset', 'number'), (12, 5): ('PaintType', 'number'), 17: ('CharStrings', 'number'), (12, 31): ('CIDFontVersion', 'number'), (12, 36): ('FDArray', 'number'), 25: ('maxstack', 'number'), 24: ('VarStore', 'number'), (12, 1): ('isFixedPitch', 'number'), (12, 2): ('ItalicAngle', 'number'), (12, 20): ('SyntheticBase', 'number'), (12, 33): ('CIDFontType', 'number'), (12, 6): ('CharstringType', 'number'), (12, 37): ('FDSelect', 'number'), (12, 3): ('UnderlinePosition', 'number'), (12, 21): ('PostScript', 'SID'), (12, 34): ('CIDCount', 'number'), (12, 7): ('FontMatrix', 'array'), (12, 38): ('FontName', 'SID'), (12, 22): ('BaseFontName', 'SID'), (12, 35): ('UIDBase', 'number'), 16: ('Encoding', 'number'), (12, 0): ('Copyright', 'SID'), 18: ('Private', ('number', 'number')), (12, 4): ('UnderlineThickness', 'number'), (12, 30): ('ROS', ('SID', 'SID', 'number')), (12, 23): ('BaseFontBlend', 'delta'), (12, 8): ('StrokeWidth', 'number')}¶
-
-
class
fontTools.cffLib.
TopDictIndex
(file=None, cff2GetGlyphOrder=None, topSize=0, isCFF2=None)[source]¶ -
compilerClass
¶ alias of
TopDictIndexCompiler
-