Automatic Feature Generation

Glyphs can automatically generate many OpenType features if it finds glyphs with certain names in the font.

TagNameDescription

aalt

All Alternatives

Glyphs automatically builds the aalt feature based on all features that substitute glyphs.

liga

Standard Ligatures

Join the glyph names of the components with an underscore (_). Some common ligatures (f_f_i, f_f_l, f_f, fi, fl, lu_lakkhangyao-thai, ru_lakkhangyao-thai) are automatically placed in the liga feature; all others go into dlig by default. Force a ligature into the liga feature by adding the .liga suffix to its name, for example, f_b.liga or ­yi_yi-cy.liga.

dlig

Discretionary Ligatures

Join the glyph names of the components with an underscore (_), for example, f_odieresis.

hlig

Historical Ligatures

Ligatures with longs, or with a .hlig or .hist suffix.

rlig

Required Ligatures

Add .rlig to the ligature name. Also triggered by lam_alef-ar, lam_alefHamzaabove-ar, lam_alefHamzabelow-ar, lam_alefMadda-ar, lam_alef-ar.fina, lam_alefHamzaabove-ar.fina, lam_alefHamzabelow-ar.fina, lam_alefMadda-ar.fina, lam_alefWasla-ar, lam_alefWasla-ar.fina.

c2sc

Small Capitals from Capitals

Add .sc, .c2sc, or .smcp to the glyph name. For separate sets for c2sc and smcp, use .c2sc for uppercase glyph names and .smcp for lowercase glyph names.

smcp

Small Capitals

Add .sc or .smcp to the glyph name.

c2pc

Petite Capitals from Capitals

Add .pc, .c2pc, or .pcap to the glyph name.

pcap

Petite Capitals

Add .pc or .pcap to the glyph name.

sups

Superscript

Add .sups to the glyph name. Or extend figure names with superior, without the period, for example, onesuperior.

subs

Subscript

Add inferior, .sinf or .subs to the glyph name. If the font does not differentiate between subscript and scientific inferior, use one set of .subs glyphs, and Glyphs will create both features with it.

sinf

Scientific Inferiors

Add inferior, .sinf or .subs to the glyph name.

afrc

Alternative Fractions

Add figures, slash, and any of these nut fraction glyphs to the font: oneovertwo, zerooverthree, oneoverthree, twooverthree, oneoverfour, threeoverfour, oneoverfive, twooverfive, threeoverfive, fouroverfive, oneoversix, fiveoversix, oneoverseven, twooverseven, threeoverseven, fouroverseven, fiveoverseven, sixoverseven, oneovereight, threeovereight, fiveovereight, sevenovereight, oneovernine, twoovernine, fourovernine, fiveovernine, sevenovernine, eightovernine, oneoverten, threeoverten, sevenoverten, nineoverten, oneovereleven, twoovereleven, threeovereleven, fourovereleven, fiveovereleven, sixovereleven, sevenovereleven, eightovereleven, nineovereleven, tenovereleven, oneovertwelve, fiveovertwelve, sevenovertwelve, elevenovertwelve, oneoveronehundred.

frac

Fractions

The frac feature is generated from the .numr, .dnom, and fraction glyphs. If they are not present in the font, then the feature will be composed of any pre-built fractions mentioned in the afrc above.

dnom

Denominators

Add .dnom to the glyph name.

numr

Numerators

Add .numr to the glyph name.

onum

Oldstyle Figures

Add .osf (for proportional oldstyle figures) or .tosf (for tabular oldstyle figures) to the glyph name. Can be applied to other characters as well, for example, currency signs.

tnum

Tabular Figures

Add .tf (for tabular figures) or .tosf (for tabular oldstyle figures) to the glyph name. Can be applied to other characters as well, for example, currency signs. Do not use the figure suffix for the default figures; for example, if the default figures are proportional oldstyle figures, do not use figures with a .osf suffix.

pnum

Proportional Figures

Add .osf (for proportional oldstyle figures) or .lf (for proportional lining figures) to the glyph name. Can be applied to other characters as well, for example, currency signs.

lnum

Lining Figures

Add .lf (for proportional lining figures) or .tf (for tabular figures) to the glyph name. Can be applied to other characters as well, for example, currency signs.

ordn

Ordinals

Automatically built if default figures, numero, ordfeminine, and ordmasculine are found in the font.

ornm

Ornaments

Add .ornm to the glyph name of letters A–Z or a–z. Also, make sure the bullet glyph is in the font.

hist

Historical Forms

Add .hist to the glyph name.

case

Uppercase Forms

Add .case to the glyph name or .lf to the name of a figure.

cpsp

Capital Spacing

Add uppercase letters to the font, and choose Capital Spacing from the plus  menu in the bottom-left of File → Font Info… → Features.

locl

Localized Forms

Add .loclXXX to the glyph name, where XXX represents the three letter language tag, for example, .loclENG for English, or .loclSVE for Swedish. There is also a built-in list of glyphs that trigger localizations:

  • idotaccent, i.TRK or i.loclTRK: trigger i substitutions for TRK, AZE, CRT, KAZ, and TAT if i is present.

  • Scommaccent, Tcommaaccent, scommaaccent, and tcommaaccent: trigger substitutions for ROM and MOL if Scedilla, Tcedilla, scedilla, and tcedilla are present.

  • periodcentered.loclCAT (add a .case suffix for uppercase; L_periodcentered_L.loclCAT, l_periodcentered_l.loclCAT; or the legacy Ldot, ldot: trigger ella geminada (punt volat) substitutions for CAT if L, l, and periodcentered are also present in the font.

  • Iacute_J.loclNLD and iacute_j.loclNLD, or Jacute and jacute: trigger accented ij substitutions for NLD if Iacute, iacute, J, and j are present.

  • six-ar and numbers with .urdu suffix (for example, four-persian.urdu) will trigger URD localization for Persian.

cv01–
cv99

Character Variants

Add .cv01 through .cv99 to the glyph name. Note that the OpenType spec recommends grouping related alternative glyphs into the same feature.

Use manual feature code if there are multiple alternatives for a glyph; for example, place the following code in a single cv## feature: sub a from [a.alt1 a.alt2 a.alt3].

ss01–
ss20

Stylistic Set

Add .ss01 through .ss20 to the glyph name. Stylistic sets can be named.

salt

Stylistic Alternates

By default, Glyphs will duplicate the ss01 feature in salt. Adobe Illustrator and Adobe Photoshop make use of this feature in their OpenType palettes.

swsh

Swashes

Add .swsh to the glyph name.

titl

Titling

Add .titl to the glyph name.

init

Initial Forms

Add .init to the glyph name.

medi

Medial Forms

Add .medi to the glyph name.

med2

Medial Forms

Add .med2 to the glyph name. Used only with the Syriac script.

fina

Terminal Forms

Add .fina to the glyph name.

fin2

Terminal Forms

Add .fin2 to the glyph name. Used only with the Syriac script.

fin3

Terminal Forms

Add .fin3 to the glyph name. Used only with the Syriac script

fwid

Full Widths

Add .full or .fullwidth to the glyph name, and emspace will substitute space.

hkna

Horizontal Kana Alternates

Add .hori to a Katakana or Hiragana glyph name.

hojo

Hojo Kanji Forms

Add .hojo to the glyph name. Use it for JIS X 0212–1990 Kanji Forms. The respective unsuffixed default glyphs should be JIS X 0213: 2004 shapes.

hwid

Half Widths

Add .half to the glyph name, end enspace will substitute space.

ital

Italics

Add .italic to the glyph name.

pkna

Proportional Kana

Add .proportional to a Katakana or Hiragana glyph name.

pwid

Proportional Widths

Add .proportional to the glyph name.

qwid

Quarter Widths

Add .qartwidth to the glyph name.

ruby

Ruby Notation Forms

Add .ruby to the glyph name.

twid

Third Widths

Add .thirdwidth to the glyph name.

vkna

Vertical Kana Alternates

Add .vert to a Katakana or Hiragana glyph name.

vrt2

Vertical Alternates and Rotation

Add .vert to the glyph name.

abvs

Above-base Substitutions

Triggered by certain base and mark combinations in South Asian scripts.

akhn

Akhands

Triggered by a number of letter and ligature glyphs in South Asian scripts.

blwf

Below Base Forms

Triggered by halants and .below glyphs in combination with a range of other glyphs in South Asian scripts.

blws

Below-base Substitutions

Triggered by certain letter combinations in South Asian scripts, such as Gujarati letters with a .straight suffix or specific halant combinations in Oriya.

cjct

Conjunct Forms

Triggered by conjunct clusters in South Asian scripts.

half

Half Forms

Triggered by half-form glyphs ending in Halfform in conjunction with halant in South Asian scripts.

nukt

Nukta Forms

Triggered by nukta ligatures ending in Nukta and the script abbreviation, in conjunction with the same glyphs without nukta, in South Asian scripts.

pref

Pre-base Forms

Triggered by a halant in certain letter constellations in South and Southeast Asian scripts.

pres

Pre-base Substitutions

Triggered by certain matra and conjunct constellations in South Asian scripts. Define width variants with number suffixes, for example, iMatra-deva.01 through iMatra-deva.20, and the feature generator will pick the appropriate width variant for each conjunct.

psts

Post-base Substitutions

Triggered by a halant glyph in combination with script-specific base and matra constellations, such as eMatra-kannada with .base and .base.e glyphs in Kannada. Applies to South Asian scripts only.

rkrf

Rakar Forms

Triggered by rakar ligatures in conjunction with the isolated glyphs and halant in Devanagari, Gujarati, and Malayalam.

rphf

Reph Forms

Triggered by ra-deva, halant-deva and reph-deva, or an analogous glyph structure in other South Asian scripts.

vatu

Vattu Variants

Triggered by the presence of specific lookups in the rkrf feature.

ccmp

Glyph Com­po­sition and De­composition

A wide range of glyph constellations in various scripts will trigger the automatic creation of ccmp. For instance, idotless and jdotless next to i, j and combining top marks will trigger a ccmp lookup for Latin, which replaces the dotted with the dotless glyphs before top marks.

mark

Mark to Base Positioning

Add anchors without underscores to base letters, like top or bottom, and add combining marks (for example, acutecomb) with underscore anchors (for example, ­_top or ­_bottom) to glyphs in the font. Their width is automatically set to zero at export. This GPOS feature is not added to the Features tab but calculated at export.

mkmk

Mark to Mark Positioning

Add combining marks (U+0300 and above) with both underscore (for example, _top) and non-underscore anchors (for example, top) to glyphs in the font. This GPOS feature is not added to the Features tab but calculated at export.