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, vrt2
half, ruby; ljmo, vjmo, tjmo
trad
smpl
jp78
jp83
jp90
tnam, hojo, nlck
expt, locl
hwid, halt
pwid, palt
fwid
init, medi/med2, fina/fin2/fin3; haln, nukt, vatu, rphf, pres, pstf/psts
isol
calt, clig
curs
ccmp
afrc
frac, dnom, numr
fwid
pwid, palt
fwid
pwid, palt
case
smcp, pcap
c2sc, c2pc
onum
lnum
tnum
pnum
ornm
mgrk
pwid, palt
fwid
hwid, halt
supr
subs, sinf
ordn
Features that take a number of values:
rlig, clig
liga
hlig, dlig
swsh, cswh
falt
jalt
size
titl
locl
zero
Binary features that can only be turned on: