Font Typography Features


One of the supported features in the Inline Options for a String meter is the Typography setting.

If explicitly supported by the font you are using, these Typography settings can be used in all or part of the String meter when it is displayed.

It can be challenging to know what Typography features are supported by a given font. There is a free tool that can help with this at dp4 Font Viewer. If you load a font in this tool, then on the panel on the lower-right, select the "Info" tab and "Glyph Substitution" to see a list of all Typography features supported by the font.

The form of the option in the String meter is:

InlineSetting=Typography | code
or
InlineSetting=Typography | code | index

Important: See the Inline Options documentation for details on how this functionality is used in a skin.

Supported codes

The codes supported in the option, with the descriptive name and a short explanation of the feature.

afrc - Alternative Fractions
Replaces figures separated by a slash with an alternative form.

c2pc - Petite Capitals From Capitals
Turns capital characters into petite capitals. It is generally used for words which would otherwise be set in all caps, such as acronyms, but which are desired in petite-cap form to avoid disrupting the flow of text. See the pcap feature description for notes on the relationship of caps, smallcaps and petite caps.

c2sc - Small Capitals From Capitals
Turns capital characters into small capitals. It is generally used for words which would otherwise be set in all caps, such as acronyms, but which are desired in small-cap form to avoid disrupting the flow of text.

calt - Contextual Alternates
In specified situations, replaces default glyphs with alternate forms which provide better joining behavior. Used in script typefaces which are designed to have some or all of their glyphs join.

case - Case Sensitive Forms
Shifts various punctuation marks up to a position that works better with all-capital sequences or sets of lining figures; also changes oldstyle figures to lining figures. By default, glyphs in a text face are designed to work with lowercase characters. Some characters should be shifted vertically to fit the higher visual center of all-capital or lining text. Also, lining figures are the same height (or close to it) as capitals, and fit much better with all-capital text.

ccmp - Glyph Composition Decomposition
To minimize the number of glyph alternates, it is sometimes desired to decompose a character into two glyphs. Additionally, it may be preferable to compose two characters into a single glyph for better glyph processing. This feature permits such composition/decomposition. The feature should be processed as the first feature processed, and should be processed only when it is called.

clig - Contextual Ligatures
Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. Unlike other ligature features, clig specifies the context in which the ligature is recommended. This capability is important in some script designs and for swash ligatures.

cpsp - Capital Spacing
Globally adjusts inter-glyph spacing for all-capital text. Most typefaces contain capitals and lowercase characters, and the capitals are positioned to work with the lowercase. When capitals are used for words, they need more space between them for legibility and aesthetics. This feature would not apply to mono-spaced designs. Of course the user may want to override this behavior in order to do more pronounced letter spacing for aesthetic reasons.

cswh - Contextual Swash
Replaces default character glyphs with corresponding swash glyphs in a specified context. Note that there may be more than one swash alternate for a given character, which are accessed by specifying an index number to the alternative.

curs - Cursive Positioning
In cursive scripts like Arabic, this feature cursively positions adjacent glyphs.

dlig - Discretionary Ligatures
Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. This feature covers those ligatures which may be used for special effect, at the user's preference.

expt - Expert Forms
Replaces standard forms in Japanese fonts with corresponding forms preferred by typographers. For example, a user would invoke this feature to replace kanji character U+5516 with U+555E.

frac - Fractions
Replaces figures separated by a slash with 'common' (diagonal) fractions.

fwid - Full Width
Replaces glyphs set on other widths with glyphs set on full (usually em) widths. In a CJKV font, this may include "lower ASCII" Latin characters and various symbols. In a European font, this feature replaces proportionally-spaced glyphs with mono-spaced glyphs, which are generally set on widths of 0.6 em. For example, a user may invoke this feature in a Japanese font to get full mono-spaced Latin glyphs instead of the corresponding proportionally-spaced versions.

half - Half Forms
Produces the half forms of consonants in Indic scripts. For example, in Hindi (Devanagari script), the conjunct KKa, obtained by doubling the Ka, is denoted with a half form of Ka followed by the full form.

haln - Halant Forms
Produces the halant forms of consonants in Indic scripts. For example, in Sanskrit (Devanagari script), syllable final consonants are frequently required in their halant form.

halt - Alternate Half Width
Re-spaces glyphs designed to be set on full-em widths, fitting them onto half-em widths. This differs from hwid in that it does not substitute new glyphs.

hist - Historical Forms
Replaces the default (current) forms with the historical alternates. While some ligatures are also used for historical effect, this feature deals only with single characters. Some fonts include the historical forms as alternates, so they can be used for a 'period' effect.

hkna - Horizontal Kana Alternates
Replaces standard kana with forms that have been specially designed for only horizontal writing. This is a typographic optimization for improved fit and more even color.

hlig - Historical Ligatures
Replaces the default (current) forms with the historical alternates. Some ligatures were in common use in the past, but appear anachronistic today. Some fonts include the historical forms as alternates, so they can be used for a 'period' effect.

hwid - Half Width
Replaces glyphs on proportional widths, or fixed widths other than half an em, with glyphs on half-em (en) widths. Many CJKV fonts have glyphs which are set on multiple widths; this feature selects the half-em version. There are various contexts in which this is the preferred behavior, including compatibility with older desktop documents.

hojo - Hojo Kanji Forms
Used to access the JIS X 0212-1990 glyphs for the cases when the JIS X 0213:2004 form is encoded. The JIS X 0212-1990 (aka, "Hojo Kanji") and JIS X 0213:2004 character sets overlap significantly. In some cases their prototypical glyphs differ. When building fonts that support both JIS X 0212-1990 and JIS X 0213:2004 (such as those supporting the Adobe-Japan 1-6 character collection), it is recommended that JIS X 0213:2004 forms be the preferred encoded form.

jp04 - JIS04 Forms
The National Language Council (NLC) of Japan has defined new glyph shapes for a number of JIS characters, which were incorporated into JIS X 0213:2004 as new prototypical forms. The 'jp04' feature is A subset of the 'nlck' feature, and is used to access these prototypical glyphs in a manner that maintains the integrity of JIS X 0213:2004.

jp78 - JIS78 Forms
Replaces default (JIS90) Japanese glyphs with the corresponding forms from the JIS C 6226-1978 (JIS78) specification.

jp83 - JIS83 Forms
Replaces default (JIS90) Japanese glyphs with the corresponding forms from the JIS X 0208-1983 (JIS83) specification.

jp90 - JIS90 Forms
Replaces Japanese glyphs from the JIS78 or JIS83 specifications with the corresponding forms from the JIS X 0208-1990 (JIS90) specification.

kern - Kerning
Adjusts amount of space between glyphs, generally to provide optically consistent spacing between glyphs. Although a well-designed typeface has consistent inter-glyph spacing overall, some glyph combinations require adjustment for improved legibility. Besides standard adjustment in the horizontal direction, this feature can supply size-dependent kerning data via device tables, "cross-stream" kerning in the Y text direction, and adjustment of glyph placement independent of the advance adjustment. Note that this feature may apply to runs of more than two glyphs, and would not be used in mono-spaced fonts. Also note that this feature does not apply to text set vertically.

liga - Standard Ligatures
Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. This feature covers the ligatures which the designer/manufacturer judges should be used in normal conditions.

lnum - Lining Figures
Changes selected figures from oldstyle to the default lining form. For example, a user may invoke this feature in order to get lining figures, which fit better with all-capital text. This feature overrides results of the Oldstyle Figures feature (onum).

locl - Localized Forms
Enables localized forms of glyphs to be substituted for default forms. Many scripts used to write multiple languages over wide geographical areas have developed localized variant forms of specific letters, which are used by individual literary communities. For example, a number of letters in the Bulgarian and Serbian alphabets have forms distinct from their Russian counterparts and from each other. In some cases the localized form differs only subtly from the script 'norm', in others the forms are radically distinct.

mark - Mark Positioning
Positions mark glyphs with respect to base glyphs. For example, in Arabic script positioning the Hamza above the Yeh.

mgrk - Mathematical Greek
Replaces standard typographic forms of Greek glyphs with corresponding forms commonly used in mathematical notation (which are a subset of the Greek alphabet).

mkmk - Mark To Mark Positioning
Positions marks with respect to other marks. Required in various non-Latin scripts like Arabic. For example, in Arabic, the ligatured mark Ha with Hamza above it can also be obtained by positioning these marks relative to one another.

nalt - Alternate Annotation Forms
Replaces default glyphs with various notational forms (such as glyphs placed in open or solid circles, squares, parentheses, diamonds or rounded boxes). In some cases an annotation form may already be present, but the user may want a different one.

nlck - NLC Kanji Forms
Used to access glyphs made from glyph shapes defined by the National Language Council (NLC) of Japan for a number of JIS characters in 2000.

onum - Old Style Figures
Changes selected figures from the default lining style to oldstyle form. For example, a user may invoke this feature to get oldstyle figures, which fit better into the flow of normal upper- and lowercase text. This feature overrides results of the Lining Figures feature (lnum).

ordn - Ordinals
Replaces default alphabetic glyphs with the corresponding ordinal forms for use after figures. One exception to the follows-a-figure rule is the numero character (U+2116), which is actually a ligature substitution, but is best accessed through this feature.

palt - Proportional Alternate Width
Respaces glyphs designed to be set on full-em widths, fitting them onto individual (more or less proportional) horizontal widths. This differs from pwid in that it does not substitute new glyphs (GPOS, not GSUB feature). The user may prefer the mono-spaced form, or may simply want to ensure that the glyph is well-fit and not rotated in vertical setting (Latin forms designed for proportional spacing would be rotated).

pcap - Petite Capitals
Turns lowercase characters into petite capitals. Forms related to petite capitals, such as specially designed figures, may be included. Some fonts contain an additional size of capital letters, shorter than the regular smallcaps and it is referred to as petite caps. Such forms are most likely to be found in designs with a small lowercase x-height, where they better harmonize with lowercase text than the taller smallcaps.

pnum - Proportional Figures
Replaces figure glyphs set on uniform (tabular) widths with corresponding glyphs set on glyph-specific (proportional) widths. Tabular widths will generally be the default, but this cannot be safely assumed. Of course this feature would not be present in mono-spaced designs.

pwid - Proportional Widths
Replaces glyphs set on uniform widths (typically full or half-em) with proportionally spaced glyphs. The proportional variants are often used for the Latin characters in CJKV fonts, but may also be used for Kana in Japanese fonts.

qwid - Quarter Widths
Replaces glyphs on other widths with glyphs set on widths of one quarter of an em (half an en). The characters involved are normally figures and some forms of punctuation.

rlig - Required Ligatures
Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. This feature covers those ligatures, which the script determines as required to be used in normal conditions. This feature is important for some scripts to ensure correct glyph formation.

ruby - Ruby Notation Forms
Identifies glyphs in the font which have been designed for "ruby", from the old typesetting term for four-point-sized type. Japanese typesetting often uses smaller kana glyphs, generally in superscripted form, to clarify the meaning of kanji which may be unfamiliar to the reader.

salt - Stylistic Alternates
Replaces the default forms with the stylistic alternates. Many fonts contain alternate glyph designs for a purely aesthetic effect; these don't always fit into a clear category like swash or historical. As in the case of swash glyphs, there may be more than one alternate form, which are accessed by specifying an index number to the alternative.

sinf - Scientific Inferiors
Replaces lining or oldstyle figures with inferior figures (smaller glyphs which sit lower than the standard baseline, primarily for chemical or mathematical notation). May also replace lowercase characters with alphabetic inferiors.

smcp - Small Capitals
Turns lowercase characters into small capitals. This corresponds to the common SC font layout. It is generally used for display lines set in Large & small caps, such as titles. Forms related to small capitals, such as oldstyle figures, may be included.

smpl - Simplified Forms
Replaces 'traditional' Chinese or Japanese forms with the corresponding 'simplified' forms.

ss01 - Stylistic Set 1 (ss01 ... ss20)
In addition to, or instead of, stylistic alternatives of individual glyphs (see 'salt' feature), some fonts may contain sets of stylistic variant glyphs corresponding to portions of the character set, such as multiple variants for lowercase letters in a Latin font. Glyphs in Stylistic Sets may be designed to harmonize visually, interact in particular ways, or otherwise work together. Individual features numbered sequentially with the tag name convention 'ss01' 'ss02' 'ss03' ... 'ss20' provide a mechanism for glyphs in these sets to be associated to default forms and to each other, and for users to select from available Stylistic Sets

subs - Subscript
May replace a default glyph with a subscript glyph, or it may combine a glyph substitution with positioning adjustments for proper placement. Many fonts will only support numeric digits.

sups - Superscript
Replaces lining or oldstyle figures with superior figures, and replaces lowercase letters with superior letters. Many fonts will only support numeric digits.

swsh - Swash
Replaces default character glyphs with corresponding swash glyphs. Note that there may be more than one swash alternate for a given character, which are accessed by specifying an index number to the alternative.

titl - Titling
Replaces the default glyphs with corresponding forms designed specifically for titling. These may be all-capital and/or larger on the body, and adjusted for viewing at larger sizes.

tnam - Traditional Name Forms
Replaces 'simplified' Japanese kanji forms with the corresponding 'traditional' forms. This is equivalent to the Traditional Forms feature, but explicitly limited to the traditional forms considered proper for use in personal names (as many as 205 glyphs in some fonts).

tnum - Tabular Figures
Replaces figure glyphs set on proportional widths with corresponding glyphs set on uniform (tabular) widths. Tabular widths will generally be the default, but this cannot be safely assumed. Of course this feature would not be present in mono-spaced designs.

trad - Traditional Forms
Replaces 'simplified' Chinese hanzi or Japanese kanji forms with the corresponding 'traditional' forms.

twid - Third Widths
Replaces glyphs on other widths with glyphs set on widths of one third of an em. The characters involved are normally figures and some forms of punctuation.

unic - Unicase
Maps upper- and lowercase letters to a mixed set of lowercase and small capital forms, resulting in a single case alphabet. The letters substituted may vary from font to font, as appropriate to the design. If aligning to the x-height, smallcap glyphs may be substituted, or specially designed unicase forms might be used. Substitutions might also include specially designed figures.

zero - Slashed Zero
Allows the user to change from the default 0 to a slashed form. Some fonts contain both a default form of zero, and an alternative form which uses a diagonal slash through the counter. Especially in condensed designs, it can be difficult to distinguish between 0 and O (zero and capital O) in any situation where capitals and lining figures may be arbitrarily mixed.