1OpenType fonts are "programmed" using features, which are normally authored in
2Adobe's feature file format. This like source code to a computer program: it's a
3user-friendly, but computer-unfriendly, way to represent the features.
4
5Inside a font, the features are compiled in an efficient internal format. This
6is like the binary of a computer program: computers can use it, but they can't
7do else anything with it, and people can't read it.
8
9The purpose of this library is to provide a middle ground for representing
10features in a machine-manipulable format, kind of like the abstract syntax tree
11of a computer programmer. This is so that:
12- features can be represented in a structured human-readable and
13  machine-readable way, analogous to the XML files of the Unified Font Object
14  format.
15- features can be more directly authored by programs (such as font editors),
16  rather than them having to output AFDKO feature file format.
17- features can be easily manipulated by programs - for example, features from
18  two files merged together, or lookups moved between languages.
19