feaLib¶
fontTools.feaLib – a package for dealing with OpenType feature files.
ast¶
-
class
fontTools.feaLib.ast.
AlternateSubstStatement
(location, prefix, glyph, suffix, replacement)[source]¶
-
class
fontTools.feaLib.ast.
Anchor
(location, name, x, y, contourpoint, xDeviceTable, yDeviceTable)[source]¶
-
class
fontTools.feaLib.ast.
ChainContextPosStatement
(location, prefix, glyphs, suffix, lookups)[source]¶
-
class
fontTools.feaLib.ast.
ChainContextSubstStatement
(location, prefix, glyphs, suffix, lookups)[source]¶
-
class
fontTools.feaLib.ast.
CursivePosStatement
(location, glyphclass, entryAnchor, exitAnchor)[source]¶
-
class
fontTools.feaLib.ast.
FeatureNameStatement
(location, nameID, platformID, platEncID, langID, string)[source]¶
-
class
fontTools.feaLib.ast.
FeatureReferenceStatement
(location, featureName)[source]¶ Example: feature salt;
-
class
fontTools.feaLib.ast.
GlyphClass
(location, glyphs=None)[source]¶ A glyph class, such as [acute cedilla grave].
-
class
fontTools.feaLib.ast.
GlyphClassDefStatement
(location, baseGlyphs, markGlyphs, ligatureGlyphs, componentGlyphs)[source]¶ Example: GlyphClassDef @UPPERCASE, [B], [C], [D];
-
class
fontTools.feaLib.ast.
GlyphClassDefinition
(location, name, glyphs)[source]¶ Example: @UPPERCASE = [A-Z];
-
class
fontTools.feaLib.ast.
GlyphClassName
(location, glyphclass)[source]¶ A glyph class name, such as @FRENCH_MARKS.
-
class
fontTools.feaLib.ast.
GlyphName
(location, glyph)[source]¶ A single glyph name, such as cedilla.
-
class
fontTools.feaLib.ast.
LanguageStatement
(location, language, include_default, required)[source]¶
-
class
fontTools.feaLib.ast.
LigatureSubstStatement
(location, prefix, glyphs, suffix, replacement, forceChain)[source]¶
-
class
fontTools.feaLib.ast.
LookupFlagStatement
(location, value, markAttachment, markFilteringSet)[source]¶
-
class
fontTools.feaLib.ast.
MarkClassName
(location, markClass)[source]¶ A mark class name, such as @FRENCH_MARKS defined with markClass.
-
class
fontTools.feaLib.ast.
MultipleSubstStatement
(location, prefix, glyph, suffix, replacement)[source]¶
-
class
fontTools.feaLib.ast.
NameRecord
(location, nameID, platformID, platEncID, langID, string)[source]¶
-
class
fontTools.feaLib.ast.
PairPosStatement
(location, enumerated, glyphs1, valuerecord1, glyphs2, valuerecord2)[source]¶
-
class
fontTools.feaLib.ast.
ReverseChainSingleSubstStatement
(location, old_prefix, old_suffix, glyphs, replacements)[source]¶
-
class
fontTools.feaLib.ast.
SingleSubstStatement
(location, glyphs, replace, prefix, suffix, forceChain)[source]¶
-
class
fontTools.feaLib.ast.
SizeParameters
(location, DesignSize, SubfamilyID, RangeStart, RangeEnd)[source]¶
-
class
fontTools.feaLib.ast.
ValueRecord
(location, vertical, xPlacement, yPlacement, xAdvance, yAdvance, xPlaDevice, yPlaDevice, xAdvDevice, yAdvDevice)[source]¶
builder¶
-
class
fontTools.feaLib.builder.
Builder
(font, featurefile)[source]¶
-
class
fontTools.feaLib.builder.
ClassPairPosSubtableBuilder
(builder, valueFormat1, valueFormat2)[source]¶
-
class
fontTools.feaLib.builder.
LookupBuilder
(font, location, table, lookup_type)[source]¶
-
class
fontTools.feaLib.builder.
PairPosBuilder
(font, location)[source]¶ -
SUBTABLE_BREAK_
= 'SUBTABLE_BREAK'¶
-
error¶
-
class
fontTools.feaLib.parser.
Parser
(featurefile, glyphNames=(), **kwargs)[source]¶ -
-
ast
= <module 'fontTools.feaLib.ast' from '/build/fonttools-XA9gJl/fonttools-3.21.2/Doc/source/../../Lib/fontTools/feaLib/ast.py'>¶
-
extensions
= {}¶
-
make_cid_range_
(location, start, limit)[source]¶ (location, 999, 1001) –> [“cid00999”, “cid01000”, “cid01001”]
-
make_glyph_range_
(location, start, limit)[source]¶ (location, “a.sc”, “d.sc”) –> [“a.sc”, “b.sc”, “c.sc”, “d.sc”]
-
parse_glyphclass_definition_
()[source]¶ Parses glyph class definitions such as ‘@UPPERCASE = [A-Z];’
-
lexer¶
-
class
fontTools.feaLib.lexer.
Lexer
(text, filename)[source]¶ -
ANONYMOUS_BLOCK
= 'ANONYMOUS_BLOCK'¶
-
CHAR_DIGIT_
= '0123456789'¶
-
CHAR_HEXDIGIT_
= '0123456789ABCDEFabcdef'¶
-
CHAR_LETTER_
= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'¶
-
CHAR_NAME_CONTINUATION_
= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.+*:^~!/-'¶
-
CHAR_NAME_START_
= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_+*:.^~!\\'¶
-
CHAR_NEWLINE_
= '\r\n'¶
-
CHAR_SYMBOL_
= ",;:-+'{}[]<>()="¶
-
CHAR_WHITESPACE_
= ' \t'¶
-
CID
= 'CID'¶
-
COMMENT
= 'COMMENT'¶
-
FILENAME
= 'FILENAME'¶
-
FLOAT
= 'FLOAT'¶
-
GLYPHCLASS
= 'GLYPHCLASS'¶
-
MODE_FILENAME_
= 'FILENAME'¶
-
MODE_NORMAL_
= 'NORMAL'¶
-
NAME
= 'NAME'¶
-
NEWLINE
= 'NEWLINE'¶
-
NUMBER
= 'NUMBER'¶
-
RE_GLYPHCLASS
= re.compile('^[A-Za-z_0-9.]+$')¶
-
STRING
= 'STRING'¶
-
SYMBOL
= 'SYMBOL'¶
-
parser¶
-
class
fontTools.feaLib.parser.
Parser
(featurefile, glyphNames=(), **kwargs)[source] -
advance_lexer_
(comments=False)[source]
-
ast
= <module 'fontTools.feaLib.ast' from '/build/fonttools-XA9gJl/fonttools-3.21.2/Doc/source/../../Lib/fontTools/feaLib/ast.py'>
-
expect_cid_
()[source]
-
expect_class_name_
()[source]
-
expect_decipoint_
()[source]
-
expect_float_
()[source]
-
expect_glyph_
()[source]
-
expect_keyword_
(keyword)[source]
-
expect_language_tag_
()[source]
-
expect_markClass_reference_
()[source]
-
expect_name_
()[source]
-
expect_number_
()[source]
-
expect_script_tag_
()[source]
-
expect_string_
()[source]
-
expect_symbol_
(symbol)[source]
-
expect_tag_
()[source]
-
extensions
= {}
-
is_cur_keyword_
(k)[source]
-
is_next_value_
()[source]
-
make_cid_range_
(location, start, limit)[source] (location, 999, 1001) –> [“cid00999”, “cid01000”, “cid01001”]
-
make_glyph_range_
(location, start, limit)[source] (location, “a.sc”, “d.sc”) –> [“a.sc”, “b.sc”, “c.sc”, “d.sc”]
-
parse
()[source]
-
parse_FontRevision_
()[source]
-
parse_GlyphClassDef_
()[source] Parses ‘GlyphClassDef @BASE, @LIGATURES, @MARKS, @COMPONENTS;’
-
parse_anchor_
()[source]
-
parse_anchor_marks_
()[source] Parses a sequence of [<anchor> mark @MARKCLASS]*.
-
parse_anchordef_
()[source]
-
parse_anonymous_
()[source]
-
parse_attach_
()[source]
-
parse_base_script_list_
(count)[source]
-
parse_base_script_record_
(count)[source]
-
parse_base_tag_list_
()[source]
-
parse_block_
(block, vertical, stylisticset=None, size_feature=False)[source]
-
parse_chain_context_
()[source]
-
parse_class_name_
()[source]
-
parse_device_
()[source]
-
parse_enumerate_
(vertical)[source]
-
parse_featureNames_
(tag)[source]
-
parse_feature_block_
()[source]
-
parse_feature_reference_
()[source]
-
parse_glyph_pattern_
(vertical)[source]
-
parse_glyphclass_
(accept_glyphname)[source]
-
parse_glyphclass_definition_
()[source] Parses glyph class definitions such as ‘@UPPERCASE = [A-Z];’
-
parse_ignore_
()[source]
-
parse_language_
()[source]
-
parse_languagesystem_
()[source]
-
parse_ligatureCaretByIndex_
()[source]
-
parse_ligatureCaretByPos_
()[source]
-
parse_lookup_
(vertical)[source]
-
parse_lookupflag_
()[source]
-
parse_markClass_
()[source]
-
parse_name_
()[source]
-
parse_nameid_
()[source]
-
parse_position_
(enumerated, vertical)[source]
-
parse_position_base_
(enumerated, vertical)[source]
-
parse_position_cursive_
(enumerated, vertical)[source]
-
parse_position_ligature_
(enumerated, vertical)[source]
-
parse_position_mark_
(enumerated, vertical)[source]
-
parse_script_
()[source]
-
parse_size_menuname_
()[source]
-
parse_size_parameters_
()[source]
-
parse_substitute_
()[source]
-
parse_subtable_
()[source]
-
parse_table_
()[source]
-
parse_table_BASE_
(table)[source]
-
parse_table_GDEF_
(table)[source]
-
parse_table_OS_2_
(table)[source]
-
parse_table_head_
(table)[source]
-
parse_table_hhea_
(table)[source]
-
parse_table_name_
(table)[source]
-
parse_table_vhea_
(table)[source]
-
parse_valuerecord_
(vertical)[source]
-
parse_valuerecord_definition_
(vertical)[source]
-
static
reverse_string_
(s)[source] ‘abc’ –> ‘cba’
-
split_glyph_range_
(name, location)[source]
-
static
unescape_byte_
(match, encoding)[source]
-
unescape_string_
(string, encoding)[source]
-
static
unescape_unichr_
(match)[source]
-