Typography

Every section type has access to these typography controls.

The controls panel: font size, line height, letter spacing, and alignment

Core Typography

  • Font size: spinner and text field input
  • Line height: multiplier (1.0 to 2.0 typical range)
  • Letter spacing: horizontal and vertical, entered in tracking units, thousandths of an em. Type 5 to add 5/1000 em between every glyph; at 1000 UPM that’s one font unit per gap, so adding or subtracting a few units to test sidebearings globally reads exactly like the numbers in your font editor (remember the gap between two glyphs is the sum of two sidebearings, so tracking +50 corresponds to widening each sidebearing by 25). Arrow keys step by 1, shift-arrows by 10, and decimals work. Separate controls for CJK vertical text. Grid cell labels print the value as trk +N.
  • Paragraph spacing: space after paragraphs (in ems)
  • Word wrap: toggle on or off
  • Kerning: “Use Kerning” toggle on or off

Case Transforms

Six options:

  • Auto (unchanged), UPPERCASE, lowercase, Sentence case, Small Caps (OpenType), Forced Small Caps
  • Scope control: Latin-only vs. all scripts (handles Turkish i, Greek sigma, etc.)

Alignment

  • Auto (script-aware: Arabic and Hebrew right-align, Latin left-aligns)
  • Start, Center, End, Justify

Text Direction & Orientation

  • Direction: auto (content-based detection), LTR, RTL
  • Orientation: auto, horizontal, vertical-left, vertical-right
  • Force upright in vertical: keeps Latin characters upright in CJK vertical text

Language & Script

  • Language tag support: auto-detect, Arabic, Farsi, Hebrew, Japanese, Korean, Simplified Chinese, Traditional Chinese, German, Turkish
  • Proper text shaping via CoreText for each language
  • Numeral systems: default, Arabic-Indic, Extended Arabic-Indic, Latin

OpenType Features

Comprehensive OpenType feature management with 70+ features organized by category.

OpenType feature toggles: per-font, per-section controls with feature descriptions
  • Ligatures: liga, dlig, clig, rlig, hlig
  • Numbers: lnum, onum, pnum, tnum, zero
  • Case & Capitalization: smcp, c2sc, pcap, c2pc, unic, case, cpsp, titl
  • Fractions & Math: frac, afrc, numr, dnom, sups, subs, sinf, ordn
  • Stylistic: salt, swsh, cswh, hist, aalt, rand, plus ss01 to ss20 stylistic sets
  • Positioning: kern, vkrn, palt, halt, vpal, vhal
  • Language-Specific: locl, ccmp, isol, init, medi, med2, fina, fin2, fin3, mset
  • CJK: jp78, jp83, jp90, jp04, smpl, trad, ruby, vert, vrt2, hojo, nlck, expt, hkna, vkna, hngl
  • Character Variants: cv01 to cv99

Features are toggled per-font, per-section, and in Columns & Rows sections they can also be toggled per-cell as an override. Each font group has Enable all and Disable all buttons, and features shared across fonts are grouped as All Fonts or Some Fonts. The app parses the font’s OpenType tables to detect available features and displays custom feature names from the font’s name table.