- List of typographic features
-
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. The two lists below provide information about many features
Contents
Digital Typographic Systems
OpenType, a font format devised by Microsoft and Adobe Systems, is one modern implementation of typographic features in typefaces, and Apple Inc's Apple Advanced Typography (AAT) is another. 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 TeX, 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.
OpenType Typographic Features
Long name tag type script Description Above-base Forms abvf
S1 Indic Above-base Mark Positioning abvm
P4,5 Indic Above-base Substitutions abvs
S4 Indic Access All Alternates aalt
S1,3 any Used to present user with choice all alternate forms of the character Akhand akhn
S4 Indic Alternate Annotation nalt
S1,3 any Alternate Half Widths halt
P1 CJKV Re-positions full-width glyphs on half-width spaces Alternative Fractions afrc
S4 any Converts figures separated by slash with alternative nut fraction form Alternative Vertical Metrics valt
P1 vert. Positions shorter characters to be centered vertically with full-height characters Alternative Vertical Half Metrics vhal
P1 vert. Positions characters to be centered vertically with half-height characters Below-base Forms blwf
S4 Indic Below-base Mark Positioning blwm
P4,5 Indic Below-base Substitutions blws
S4 Indic Capital Spacing cpsp
P1 cased Adjusts spacing between letters in all-capitals text Capitals to Petite Caps c2pc
S1 cased Substitutes capital letters with petite caps Capitals to Small Caps c2sc
S1 cased Substitutes capital letters with small caps Case Sensive Forms case
P1 cased Replace characters, especially punctuation, with forms better suited for all-capital text Centered CJK Punctuation cpct
P1 CJKV Positions punctuation marks vertically and horizontally Character Variant 01 - 99 cv01-
cv99S3 any Multiple variants of a single character, which may not apply to many other characters. See references for voluminous documentation. Conjunct Forms cjct
S4 Indic Conjunct Form After Ro cfar
S1 Khm. Contextual Alternates calt
S6 any Applies a second substitution feature based on a match of a character pattern within a context of surrounding patterns Contextual Ligatures clig
S8 any Applies a second ligature feature based on a match of a character pattern within a context of surrounding patterns Contextual Swash cswh
S8 any Converts letter to a swashed version based on characters around the letter Cursive Positioning curs
P3 curs. Precise positioning of a letter's connection to an adjacent one Denominator dnom
S1 any Converts to appropriate fraction denominator form. Invoked by frac
.Discretionary Ligatures dlig
S4 any Ligatures to be applied at the user's discretion Distance dist
P2 Indic Adjusts horizontal positioning between glyphs Expert Forms expt
S1 Jap. Final Glyph on Line Alternates falt
S3 curs. Replaces final glyph on the line with an alternate. Fractions frac
S4 any Converts figures separated by slash with diagonal fraction Terminal Form #2 fin2
S5 Syr. Terminal Form #3 fin3
S5 Syr. Full Widths fwid
S1 CJKV Substitutes proportionally spaced character with full-width versions (esp. for Latin letters within Chinese) Glyph Composition/Decomposition ccmp
S4,2 any Either calls a ligature replacement on a sequence of characters or replaces a character with a sequence of glyphs. Provides logic that can for example effectively alter the order of input characters. Halant Forms haln
S4 Indic Half Form half
S4 Indic Half Widths hwid
S1,P1 CJKV Substitutes uniformly-spaced characters with a version of 1/2 width Hangul hngl
S1,3 Kor. Replaces Chinese-style characters with Korean Hangul Historical Forms hist
S1 any Obsolete forms of characters to be applied at the user's discretion Historical Ligatures hlig
S1 any Obsolete ligatures to be applied at the user's discretion Horizontal Kana Alternates hkna
S1 Kana Hojo Kanji Forms hojo
Kanji Initial Forms init
S1 any Substitutes a special form of a letter occurring at the beginning of a word (required by Arabic and Syriac) Isolated Forms isol
S1 curs. Substitutes a special form of a letter occurring outside a word (required by Arabic and Syriac) Italics ital
S1 Lat. Replaces letter with corresponding italic glyph JIS 04 Forms jp04
Jap. JIS 78 Forms jp78
S1,3 Jap. JIS 83 Forms jp83
S1 Jap. JIS 90 Forms jp90
S1 Jap. Justification Alternates jalt
S3 curs. Kerning kern
P2,8 any Fine horizontal positioning of one glyph to the next, based on the shapes of the glyphs Lining Figures lnum
S1 cased Replaces numerals with glyphs meant to fit better in all-capitals text Leading Jamo Forms ljmo
S4 Kor. Left Bounds lfbd
P1 any Re-positions glyphs at end of line. Called by opbd
.Left-to-right glyph alternates ltra
S1 ltr Replaces characters with possibly mirrored forms befitting left-to-right presentation Left-to-right mirrored forms ltrm
S1 ltr Replaces characters with forms befitting left-to-right presentation (except mirrored forms) Localized Forms locl
S1 any Substitutes character with the preferred form based on script language Mark Positioning mark
P4,5 any Fine positioning of a mark glyph to a base character Mark-to-mark Positioning mkmk
P6 any Fine positioning of a mark glyph to another mark character Mathematical Greek mgrk
S1 any Replaces Greek characters with special forms for use in mathematics. Medial Forms medi
S1 any Substitutes a special form of letters between other letters in words (required by Arabic and Syriac) Medial Form #2 med2
S5 Syr. mset mset
S5 curs. Deprecated. Used in Windows 95 for positioning of Arabic marks. NLC Kanji Forms nlck
Kanji Nukta Forms nukt
S4 Indic Numerator numr
S1 any Converts to appropriate fraction numerator form. Invoked by frac
.Oldstyle Figures onum
S1 any Replaces numerals with old-style numerals Optical Bounds opbd
P1 any Re-positions glyphs at beginning and end of line, for precise justification of text. Ordinals ordn
S6,4 Lat. Replaces characters with ordinal forms for use after numbers Ornaments ornm
S3,1 any Petite Caps pcap
S1 cased Substitute lower-case letters with their petite caps analogs Pre-base Forms pref
S4 Khm. (and other similar scripts: Myanmar, Malayalam, Telugu) Pre-base Substitutions pres
S4,5 Indic Post-base Substitutions psts
S4 Indic (any alphabetic?) Post-base Forms pstf
S4 Khm. (and Gurmukhi, Malayalam) Proportional Alternates palt
P1 CJKV Re-positions otherwise monospace characters according to glyph width Proportional Alternate Vertical Metrics vpal
P1 vert. Re-positions glyphs vertically to be centered on proportional full-height characters Proportional Figures pnum
S1 any Replaces numerals with glyphs of proportional width Proportional Kana pkna
S1 Kana Proportional Widths pwid
S1 CJKV Replaces uniformly-spaced glyphs with proportional ones Quarter Widths qwid
S1 CJKV Replaces uniformly-spaced glyphs with quarter-width ones (punctuation etc.) Randomize rand
S3 any Replaces chararacter with random forms (meant to simulate handwriting) Rakar Forms rkrf
S4 Indic Reph Form rphf
S4 Indic Required Ligatures rlig
S3 curs. Ligatures required for correct text display (esp. in Arabic and Syriac) Right Bounds rtbd
P1 any Re-positions glyphs at beginning of line. Called by opbd
.Right-to-left glyph alternates rtla
S1 rtl Replace characters with forms befitting right-to-left presentation (except mirrored forms) Right-to-left mirrored forms rtlm
S1 rtl Replace characters with possibly mirrored forms befitting right-to-left presentation Ruby Notation Forms ruby
S1 CJKV Scientific Inferiors sinf
S1 any Simplified Forms smpl
S1 CJKV Replaces Chinese characters with their simplified versions Optical size size
any Not a lookup: feature's table provides to applications information about the appearance and intent of the font, to aid in font selection. Slashed Zero zero
S1 any Replaces 0 figure with slashed 0 Small Caps smcp
S1 cased Substitutes lower-case letters with small caps versions Standard Ligatures liga
S4 any Replaces (by default) sequence of characters with a single ligature glyph Stylistic Alternates salt
S1,3 any Replaces character with stylistic alternative Stylistic Sets ss01-
ss20S1 any Replaces character with a one from a font-specific set of stylistic alternatives Subscript subs
S1 any Replaces character with subscript version Superscript sups
S1 any Replaces character with superscript version Swash swsh
S1,3 any Replaces character with swashed version Tabular Figures tnum
S1 any Replaces numerals with glyphs of uniform width Terminal Forms fina
S1 any Substitutes a special form of a letter at end of words (required by Arabic and Syriac) Third Widths twid
S1,P1 CJKV Substitutes uniformly-spaced character with a version of 1/3 width (punctuation, etc.) Titling Alternates titl
S1 any Replaces characters with forms suited for large type, as in titles Traditional Forms trad
S1,3 CJKV Replaces Chinese characters with their traditional versions Traditional Name Forms tnam
S1 Jap. Trailing Jamo Forms tjmo
S4 Kor. Unicase unic
S1 cased Replaces lowercase and uppercase letters with a set of single case glyphs Vattu Variants vatu
S4 Indic Vertical Alternates vert
S1 vert. A subset of vrt2
: prefer the latter feature.Vertical Alternates and Rotation vrt2
S1 vert. Replaces characters with forms suitable for vertical writing, possibly by rotating 90° Vertical Kana vkna
S1 Kana Vertical Kerning vkrn
P2,8 vert. Fine vertical positioning of characters based on shape Vowel Jamo Forms vjmo
S4 Kor. OpenType features may be applicable only to certain language scripts or specific languages, or in certain writing modes. The script column above indicates such dependencies.
abbrev. applicable in any any script cased bicameral scripts (those with a case distinction) such as Greek, Latin, and Cyrillic curs. cursive mode; required in Arabic and Syriac vert. vertical mode; especially used in CKJV ltr left-to-right mode rtl right-to-left mode mono monospaced mode CJKV Chinese, Japenese, Korean, Vietnamese -- especially in display of block ideographic characters Indic Indic scripts Jap. Japanese only Kanji Japanese Kanji only Kana Kana only (Japanese, Ainu) Kor. Korean only Lat. Latin-based scripts only Khm. Khmer script, and often other similar, Brahmi-based ones Syr. Syriac only
OpenType lookup table types, used in the "type" column in the above table. 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.abbrev. type description S1 GSUB 1 simple substitution of one glyph with another S2 GSUB 2 multiple substitution of one character by several glyphs S3 GSUB 3 variant selection S4 GSUB 4 ligatures S5 GSUB 5 contextual substitution S6 GSUB 6 chained contextual substitution S7 GSUB 7 extension for GSUB tables past 64kB S8 GSUB 8 reverse chained contextual substitution P1 GPOS 1 positioning of single glyph P2 GPOS 2 positioning of pair of glyphs P3 GPOS 3 cursive attachment P4 GPOS 4 positioning of mark glyphs relative to base P5 GPOS 5 positioning of mark glyphs relative to ligature P6 GPOS 6 positioning of mark glyphs relative to another mark glyph P7 GPOS 7 contextual positioning P8 GPOS 8 extended contextual positioning P9 GPOS 9 extension for GPOS tables past 64kB AAT Typographic Features
Features that take one value, mutual exclusive from the rest:
- Annotation
nalt
- No Annotation
- Box Annotation
- Rounded Box Annotation
- Circle Annotation
- Inverted Circle Annotation
- Parenthesis Annotation
- Period Annotation
- Roman Numeral Annotation
- Diamond Annotation
- Character Alternatives
- No Alternates
- …
rand; aalt, calt, falt, jalt, salt, ssXX, hkna/vkna, rtla, vrt2
- Character Shape
half, ruby; ljmo, vjmo, tjmo
- Traditional Characters
trad
- Simplified Characters
smpl
- JIS 1978 Characters
jp78
- JIS 1983 Characters
jp83
- JIS 1990 Characters
jp90
- Traditional Characters, Alternative Set 1…5
tnam, hojo, nlck
- Expert Characters
expt, locl
- Traditional Characters
- CJK Roman Spacing
- Half-width
hwid, halt
- Proportional
pwid, palt
- Default Roman
- Full-width Roman
fwid
- Half-width
- Cursive Connection
init, medi/med2, fina/fin2/fin3; haln, nukt, vatu, rphf, pres, pstf/psts
- Unconnected
isol
- Partially Connected
calt, clig
- Cursive
curs
- Unconnected
- Design Complexity
- Design Level 1
- Design Level …
- Diacritics
- Show Diacritics
- Hide Diacritics
- Decompose Diacritics
ccmp
- Fractions
- No Fractions
- Vertical Fractions
afrc
- Diagonal Fractions
frac, dnom, numr
- Ideographic Spacing
- Full Width
fwid
- Proportional
pwid, palt
- Full Width
- Kana Spacing
- Full Width
fwid
- Proportional
pwid, palt
- Full Width
- Letter Case
case
- Upper & Lower Case
- All Caps
- All Lower Case
- Small Caps
smcp, pcap
- Initial Caps
c2sc, c2pc
- Initial Caps and Small Caps
- Number Case
- Lower Case Numbers
onum
- Upper Case Numbers
lnum
- Lower Case Numbers
- Number Spacing
- Monospaced Numbers
tnum
- Proportional Numbers
pnum
- Monospaced Numbers
- Ornament Sets
ornm
- None
- Dingbats
- Pi Characters
- Fleurons
- Decorative Borders
- International Symbols
- Math Symbols
mgrk
- Text Spacing
- Proportional
pwid, palt
- Monospace
fwid
- Half-width
hwid, halt
- Normal
- Proportional
- Vertical Position
- No Vertical Position
- Superiors
supr
- Inferiors
subs, sinf
- Ordinals
ordn
Features that take a number of values:
- Ligatures
- Required Ligatures
rlig, clig
- Common Ligatures
liga
- Rare Ligatures
hlig, dlig
- Logos
- Rebus Pictures
- Diphthong Ligatures
- Squared Ligatures
- Squared Ligatures, Abbreviated
- Required Ligatures
- Mathematical Extras
- Hyphen to Minus (‘-’ → ‘−’)
- Asterisk to Multiply (‘*’ → ‘×’)
- Slash to Divide (‘/’ → ‘÷’)
- Inequality Ligatures
- Exponents
- Smart Swashes
swsh, cswh
- Word Initial Swashes
- Word Final Swashes
- Line Initial Swashes
- Line Final Swashes
falt
- Non-Final Swashes
jalt
- Style Options
- No Style Options
- Display Text
size
- Engraved Text
- Illuminated Caps
- Titling Caps
titl
- Tall Caps
- Transliteration
locl
- Typographic Extras
- Hyphens to Em Dash (‘--’ → ‘—’)
- Hyphen to En Dash (‘-’ → ‘–’)
- Unslashed Zero
zero
- Form Interrobang (‘!?’/‘?!’ → ‘‽’)
- Smart Quotes (‘"'"’ → ‘“’”’)
- Periods to Ellipsis (‘...’ → ‘…’)
Binary features that can only be turned on:
- All Typographic Features
- Linguistic Rearrangement
- Overlapping Characters
- Vertical Substitution
External links
- Adobe Feature Tag Registry - OpenType layout tag specs
- Microsoft OpenType Layout tag registry
- Apple Font Feature Registry - AAT layout tag specs
- OpenType User Guide for Adobe Fonts
- Fontfont OpenType user guide
Typography terminology Page Paragraph Character Typeface anatomyCounter · Diacritics · Dingbat · Glyph · Initial · Kerning · Letter-spacing · Ligature · Subscript and superscript · Swash · Text figuresCapitalizationVertical aspectsClassifications Punctuation Typesetting Calligraphy · ETAOIN SHRDLU · Font (Computer font) · Font catalog · Letterpress · Lorem ipsum · Movable type · Pangram · Phototypesetting · Punchcutting · Type design · Typeface · Type foundry · MicrotypographyTypographic units Digital typography Categories: - Annotation
Wikimedia Foundation. 2010.