my-server
← Wiki

List of typographic features

Typographic features made possible using digital typographic systems have solved many of the demands placed on computer systems to replicate 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 computer fonts to define their own features.

OpenType typographic features

The OpenType format defines a number of typographic features that a particular font may support. Some software, such as Adobe InDesign, LibreOffice/OpenOffice, or recent versions of Lua/XeTeX, gives users control of these features, 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. Some web browsers also support OpenType features in accordance with the CSS Fonts Module Level 3 specification, which allows OpenType features to be set directly via the property, or indirectly by means of higher-level mechanisms.

The following tables list the features defined in version 1.8.1 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.

Features primarily intended for or exclusively required by South-Asian alphasyllabaries (Indic/Brahmic)

Features primarily intended for or exclusively required by East-Asian tetragrams (Chinese, Japanese, Korean)

Features primarily intended for or exclusively required by West-Asian (Semitic, Arabic) and other cursive scripts or fonts

Features intended for bicameral [cased] alphabets (Latin, Greek, Cyrillic, etc.)

Features depending on writing direction

Features intended for digits and math

Ligation and alternate forms features intended for all scripts

Positioning features intended for all scripts

Special features intended for all scripts

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:

  • Annotation <code>nalt</code>
  • 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
  • ... <code>rand; aalt, calt, falt, jalt, salt, ssXX, hkna/vkna, rtla, vrt2</code>
  • Character Shape <code>half, ruby; ljmo, vjmo, tjmo</code>
  • Traditional Characters <code>trad</code>
  • Simplified Characters <code>smpl</code>
  • JIS 1978 Characters <code>jp78</code>
  • JIS 1983 Characters <code>jp83</code>
  • JIS 1990 Characters <code>jp90</code>
  • Traditional Characters, Alternative Set 1...5 <code>tnam, hojo, nlck</code>
  • Expert Characters <code>expt, locl</code>
  • CJK Latin Spacing
  • Half-width <code>hwid, halt</code>
  • Proportional <code>pwid, palt</code>
  • Default Latin
  • Full-width Latin <code>fwid</code>
  • Cursive Connection <code>init, medi/med2, fina/fin2/fin3; haln, nukt, vatu, rphf, pres, pstf/psts</code>
  • Unconnected <code>isol</code>
  • Partially Connected <code>calt, clig</code>
  • Cursive <code>curs</code>
  • Design Complexity
  • Design Level 1
  • Design Level ...
  • Diacritics
  • Show Diacritics
  • Hide Diacritics
  • Decompose Diacritics <code>ccmp</code>
  • Fractions
  • No Fractions
  • Vertical Fractions <code>afrc</code>
  • Diagonal Fractions <code>frac, dnom, numr</code>
  • Ideographic Spacing
  • Full Width <code>fwid</code>
  • Proportional <code>pwid, palt</code>
  • Kana Spacing
  • Full Width <code>fwid</code>
  • Proportional <code>pwid, palt</code>
  • Letter Case <code>case</code>
  • Upper & Lower Case
  • All Caps
  • All Lower Case
  • Small Caps <code>smcp, pcap</code>
  • Initial Caps <code>c2sc, c2pc</code>
  • Initial Caps and Small Caps
  • Number Case
  • Lower Case Numbers <code>onum</code>
  • Upper Case Numbers <code>lnum</code>
  • Number Spacing
  • Monospaced Numbers <code>tnum</code>
  • Proportional Numbers <code>pnum</code>
  • Ornament Sets <code>ornm</code>
  • None
  • Dingbats
  • Pi Characters
  • Fleurons
  • Decorative Borders
  • International Symbols
  • Math Symbols <code>mgrk</code>
  • Text Spacing
  • Proportional <code>pwid, palt</code>
  • Monospace <code>fwid</code>
  • Half-width <code>hwid, halt</code>
  • Normal
  • Vertical Position
  • No Vertical Position
  • Superiors <code>supr</code>
  • Inferiors <code>subs, sinf</code>
  • Ordinals <code>ordn</code>

Features that take a number of values:

  • Ligatures
  • Required Ligatures <code>rlig, clig</code>
  • Common Ligatures <code>liga</code>
  • Rare Ligatures <code>hlig, dlig</code>
  • Logos
  • Rebus Pictures
  • Diphthong Ligatures
  • Squared Ligatures
  • Squared Ligatures, Abbreviated
  • Mathematical Extras
  • Hyphen to Minus (‘-’ → ‘−’)
  • Asterisk to Multiply (‘*’ → ‘×’)
  • Slash to Divide (‘/’ → ‘÷’)
  • Inequality Ligatures
  • Exponents
  • Smart Swashes <code>swsh, cswh</code>
  • Word Initial Swashes
  • Word Final Swashes
  • Line Initial Swashes
  • Line Final Swashes <code>falt</code>
  • Non-Final Swashes <code>jalt</code>
  • Style Options
  • No Style Options
  • Display Text <code>size</code>
  • Engraved Text
  • Illuminated Caps
  • Titling Caps <code>titl</code>
  • Tall Caps
  • Transliteration <code>locl</code>
  • No Transliteration
  • Hanja to Hangul
  • Hanja to Hangul, Alternative Set 1...3
  • Hiragana to Katakana
  • Katakana to Hiragana
  • Kana to Romanization
  • Romanization to Hiragana
  • Romanization to Katakana
  • Typographic Extras
  • Hyphens to Em Dash (‘--’ → ‘—’)
  • Hyphen to En Dash (‘-’ → ‘–’)
  • Unslashed Zero <code>zero</code>
  • Form Interrobang (‘!?’/‘?!’ → ‘‽’)
  • Smart Quotes (‘"'"’ → ‘“’”’)
  • Periods to Ellipsis (‘...’ → )

Binary features that can only be turned on:

  • All Typographic Features
  • Linguistic Rearrangement
  • Overlapping Characters
  • Vertical Substitution

See also

External links

  • – AAT layout tag specs