Skip to content

ADR-043 — Serbian Cyrillic font gate for sr-Cyrl

Status · Accepted Date · 2026-05-06 Supersedes in part · docs/adr/ADR-032.md (Cyrillic deferred note) Scope · sr-Cyrl rollout only

Context

Issue #36 adds Serbian in both Latin (sr-Latn) and Cyrillic (sr-Cyrl). ADR-032 explicitly deferred Cyrillic decisions to a later gate. Before enabling sr-Cyrl, we need an explicit decision on whether to:

  • add a new bundled Cyrillic font, or
  • keep the current display stack and rely on browser fallback for missing glyphs.

Decision

For sr-Cyrl in Wave 1.5, Orrery keeps existing bundled fonts and uses system fallback for Cyrillic glyphs where needed.

No new font files are added in this rollout.

Rationale

  • Preserves current bundle size and avoids adding a global font payload.
  • Keeps implementation aligned with URL-based locale rollout in ADR-031.
  • Serbian Cyrillic support is required now, while broader Wave 3 script work (Hindi/Arabic) remains separately scheduled.

Consequences

Positive:

  • sr-Cyrl can ship immediately with no asset pipeline changes.
  • No new font download or preload tuning required.

Negative:

  • Typography may vary slightly by platform because fallback glyphs are rendered by system fonts.
  • A future design pass may standardize Cyrillic rendering with a dedicated bundled fallback if visual consistency becomes a product requirement.

Implementation notes

  • Add sr-Cyrl to locale config/runtime lists and picker entries.
  • Add messages/sr-Cyrl.json and full overlay tree at static/data/i18n/sr-Cyrl/.
  • Validate via i18n compile, tests, data validation, and sr-Cyrl e2e smoke.

Orrery — architecture documentation · MIT · No tracking