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 |
[edit] 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.
[edit] 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- |
S3 | 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- |
S1 | 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 |
[edit] 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
[edit] 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
|
||||||||||||||||||||||||||||||||||||||||||||