ios-typography

Installation
SKILL.md

iOS typography — Dynamic Type, SF, and data-grade numerics

Source: Apple HIG Typography + SwiftUI Font docs + WWDC 2026 (iOS 27 / "What's New in SwiftUI", Apple Developer), cross-checked across research passes (June 2026). iOS 26 is the shipping baseline; iOS 27 (WWDC 2026) is the current cycle — and it changes nothing here: iOS 27's "refined typography" is Liquid Glass v2 visual polish (weight/spacing tuning for readability + hierarchy), not a new text style, weight, or scale. The system below holds through iOS 27. Apple says: use the built-in text styles, prefer SF, avoid thin weights, support Dynamic Type.

1. The SF family system

Four system typefaces — SwiftUI selects optical sizes automatically:

  • SF Pro — default UI sans (.fontDesign(.default)). Auto-switches Text (small) vs Display (large) optical sizes.
  • SF Pro Rounded — friendlier; great for large numerics / health-app tone (.fontDesign(.rounded)).
  • SF Mono — fixed-width, code/data (.fontDesign(.monospaced)).
  • New York — system serif, editorial/reading (.fontDesign(.serif)).

Weights run Ultralight→Black. Don't embed system fonts — use the Font.Design constants. Default iOS text size is 17 pt; minimum 11 pt.

Verify-at-source flag (width styles): SF Pro also exposes width axes (Compressed / Condensed / Standard / Expanded), surfaced in SwiftUI's font tooling. Use only on large display numerals/titles where the compression earns its keep — never on body text. Confirm the exact API (Font.Width / a width: parameter) and that it stays Dynamic-Type-safe against current SwiftUI docs before shipping; the canonical hierarchy below is built from size + weight + Design, not width.

2. Dynamic Type built-in text styles (default "Large" size)

Use these, not hard-coded sizes — they scale with the user's setting, hit larger accessibility sizes, and switch the SF optical variant automatically.

Installs
4
First Seen
Oct 8, 2026