Skip to content

case — Case-Sensitive Forms

case (Case-Sensitive Forms) shifts punctuation and switches oldstyle figures to lining figures, so they work better with an all-capital run of text or with lining figures.

Dashes, brackets, guillemets and similar punctuation sit at a default position tuned for lowercase text, which reads too low next to a run of capitals. case raises them to a height that matches the optical center of the capitals. At the same time, oldstyle figures switch to lining figures.

This “oldstyle to lining figures” effect is the same one lnum (Lining Figures) produces. The specification also states that case overrides the results of other figure-related features such as onum and tnum.

Without case
(A-B)
With case
(A-B)
.fea source
Compiling…

The rules are written with Lookup Type 1.

Without rules
(A-B)
With rules
(A-B)
Compiling…