State-of-the-art digital typographic systems have solved virtually all the demands of traditional typography and have expanded the possibilities with many new features. Three systems are in common use: OpenType, devised by Microsoft and Adobe, Apple's Apple Advanced Typography (AAT), and SIL's Graphite. The lists below provide information about OpenType and AAT features. Graphite does not have a fixed set of features; instead it provides a way for fonts to define their own features.
Contents
OpenType typographic features
The OpenType format defines a number of typographic features that a particular font may support; some software, such as Adobe InDesign or recent versions of Lua/XeTeX, gives users control of these, for example to enable fancy stylistic capital letters (swash caps) or to choose between ranging (full-height) and non-ranging (old-style, or lower-case) digits.
The following tables list the features defined in version 1.7 of the OpenType specification. The codes in the "type" column are explained after the tables. OpenType features may be applicable only to certain language scripts or specific languages, or in certain writing modes. The features are split into several tables accordingly.
Legend of substitution and positioning codes
Below are listed the OpenType lookup table types, as used in the "type" column in the above tables. S stands for substitution, and P stands for positioning. Note that often a feature can be implemented by more than one type of table, and that sometimes the specification fails to explicitly indicate the table type.
AAT typographic features
Features that take one value, mutual exclusive from the rest:
nalt
rand; aalt, calt, falt, jalt, salt, ssXX, hkna/vkna, rtla, vrt2half, ruby; ljmo, vjmo, tjmo
tradsmpljp78jp83jp90tnam, hojo, nlckexpt, loclhwid, haltpwid, paltfwidinit, medi/med2, fina/fin2/fin3; haln, nukt, vatu, rphf, pres, pstf/psts
isolcalt, cligcursccmpafrcfrac, dnom, numrfwidpwid, paltfwidpwid, paltcase
smcp, pcapc2sc, c2pconumlnumtnumpnumornm
mgrkpwid, paltfwidhwid, haltsuprsubs, sinfordnFeatures that take a number of values:
rlig, cligligahlig, dligswsh, cswh
faltjaltsizetitllocl
zeroBinary features that can only be turned on:
