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