In this section, we shall describe the tables BASE, GDEF, GPOS, GSUB, and JSTF, which make up the major artillery of the OpenType format. They are called advanced typographic tables, not to be confused with AAT (Apple advanced typographic tables), which we shall see in the following section, §D.11.
Script, language, feature, lookup
In the advanced typographic tables, we use the concepts of script and language. OpenType considers that the behavior of a font should differ according to its script, and sometimes even according to the language being used. Of course, this is an enormous simplification of what actually happens in the real world, but we can accomplish quite a lot even with this simplification.
More original are the concepts offeature and lookup. In an interactive context, the font's user selects those of the font's features that she wishes to apply. Some features can be enabled automatically when the font is selected. Each feature includes a number of lookups in the string being typeset. Each of these lookups can, according to the string being typeset, contain some operations: positionings or glyph substitutions, etc.
The system works in the following way: the user selects the script and possibly the language (otherwise the default language will be used); the software shows the available features; the user decides to apply some of them to a block of text; each feature contains some lookups, all of ...