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-nUdeVi/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-nUdeVi/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]
-