Converting features data between formats

The following modules help with converting font features information to and for different formats.

class fontFeatures.feaLib.FeaParser(featurefile, font=None, glyphNames=None, includeDir=None)

Turns a AFDKO feature file or string into a FontFeatures object.

Parameters:
  • featurefile – File object or string.

  • font – Optionally, a TTFont object.

  • glyphNames – Optionally, a list of glyph names in the font

parse()

Parse the feature code.

Returns:

A FontFeatures object containing the rules of this file.

ttLib: Interfacing with TrueType fonts.

This package contains routines for converting between fontTools objects (representing TrueType/OpenType fonts) and fontFeatures. This particular module is mainly concerned with getting information out of binary OTF/TTF fonts and into fontFeatures.

fontFeatures.ttLib.unparse(font, do_gdef=False, doLookups=True, config={})

Convert a binary OpenType font into a fontFeatures object

Parameters:
  • font – A TTFont object.

  • do_gdef – Boolean. Whether the GDEF table should also be read.

  • doLookups – Whether the lookups should be read, or just the script/language information and top-level features.

  • config – A dictionary of glyph class and routine names.

fontFeatures.ttLib.unparseLanguageSystems(tables)

Build a set of script / language pairs from a GSUB/GPOS table.

Parameters:

tables – A list of fontTools.ttLib.tables.G_S_U_B_.table_G_S_U_B_ / fontTools.ttLib.tables.G_P_O_S_.table_G_P_O_S_ objects.

Returns an ordered dictionary whose keys are four-character script tags and

whose values are a set of four-character language tags.

class fontFeatures.fontDameLib.FontDameParser(lines, config={}, glyphset=())

Convert layout files in Monotype’s FontDame format to fontFeatures.

Parameters:
  • lines – An array of strings containing the FontDame file, one line per string.

  • config – A dictionary of glyph class names.

  • glyphset – A list of glyph names in the font.

parse()

Parses the font file, creating a fontFeatures object.

Returns: A fontFeatures object containing the rules in the FontDame file.