D-05 picked Newsreader as display serif. Engineering research
(01-12-RESEARCH.md §1, commit 3df2750) verified Newsreader ships NO
Cyrillic glyphs via designer's own Brief embedded subset list +
Production Type's repo README ("Google Fonts Latin Plus glyph set").
Russian display text (welcome hero, tagline) under current D-05 picks
silently falls through to Iowan Old Style → Times New Roman → serif.
Mokosh's audience is Russian-primary, so this is the default rendering
path, not a corner case.
Routing back to designer per D-05 OWNER (Design team) with 4 options:
- R1 fallback chain (Newsreader + Cyrillic-capable secondary)
- R2 substitute display family entirely
- R3 other (designer proposes)
- R4 accept the Iowan/Times fallback
Candidate Cyrillic-capable OFL serifs: PT Serif, EB Garamond, Lora,
Source Serif. PT Serif highlighted (ParaType, RU-foundry, pairs with
IBM Plex Sans).
Blocks Plan 01-12 planner spawn + Plan 01-10 welcome hero.
Plan 01-11 (harness) unaffected — non-overlapping surface.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4.2 KiB
Brand Decisions v1 — Follow-up #1: Display Font Cyrillic Gap
Date: 2026-05-17 Open against: D-05 (Type pairing) Owner: Design team (per D-05 OWNER row) Blocker for: Plan 01-12 (Design Integration) planner spawn; Plan 01-10 welcome hero text rendering
What was picked (D-05)
A · Newsreader + IBM Plex Sans + IBM Plex Mono
What engineering research found
Engineering research (.planning/phases/01-stabilize-video-pipeline/01-12-RESEARCH.md,
commit 3df2750, §1) verified Newsreader's glyph coverage via two independent
sources:
- The Decision Brief's own embedded
@font-facedeclarations — subsets shipped:latin/latin-ext/vietnamese - Production Type's
productiontype/Newsreaderrepo README — quote: "Google Fonts Latin Plus glyph set"
Newsreader ships NO Cyrillic glyphs. Under the current D-05 pick, Russian
display text (welcome hero, tagline, any future display-register H1/H2) would
silently fall through --mks-font-display to Iowan Old Style → Times New Roman → serif.
Mokosh's audience is Russian operators primary; display text in Russian is the default case, not the exception. This is therefore not a corner case — it affects the default rendering path.
Options for designer to pick
| Option | Approach | Trade-off |
|---|---|---|
| R1 | Keep Newsreader for Latin; add Cyrillic-capable OFL serif as fallback in --mks-font-display chain (e.g. 'Newsreader', 'PT Serif', serif) |
Preserves Newsreader aesthetic for Latin/English. Mixed-glyph paragraphs (Latin tagline + RU phrase together, or English wordmark + Russian subtitle) render in two different serifs — visually disharmonious |
| R2 | Substitute Newsreader entirely with a Cyrillic-native OFL serif | Unified rendering across all locales. Departs from designer's Newsreader pick — the aesthetic match for the Loom palette + 2×2 weave mark may or may not transfer |
| R3 | Other — designer proposes alternative (different display family / drop display register in favor of unified Plex Sans / use unicode-range @font-face to scope Newsreader to Latin-only and load second face for Cyrillic without disharmony / etc.) |
Designer's call |
| R4 | Keep Newsreader as-is, accept Cyrillic fallback to Iowan Old Style → Times New Roman |
If the operator-facing aesthetic for RU is intentional or acceptable |
Candidate Cyrillic-capable OFL serifs (research §1 R1)
| Family | Provenance | Aesthetic notes |
|---|---|---|
| PT Serif | ParaType (Russian foundry) | Designed specifically for Russian government use; excellent Cyrillic coverage; visually pairs well with IBM Plex Sans |
| EB Garamond | OFL recreation of classic Garamond | Classical, formal feel; full Cyrillic |
| Lora | OFL contemporary serif | Modern, slightly humanist; Cyrillic native |
| Source Serif | Adobe OFL | Clean, neutral; Cyrillic via subset |
What we need back from designer
A one-line reply is enough:
"R1, fallback chain Newsreader → PT Serif"(or another fallback)"R2, substitute with PT Serif"(or another family)"R3: <your proposal>""R4, accept the Iowan/Times fallback for Cyrillic"
You can also reply on the Decision Brief HTML, send updated tokens.css, a
Figma link, or just a Slack/Russian-voice-memo — anything readable.
What's paused until designer responds
- Plan 01-12 (Design Integration) planner spawn — needs final
--mks-font-displaytoken value to write the WOFF2 bundling task spec - Plan 01-10 (welcome tab) execution — welcome hero uses display register, needs the resolved font
- The 8 i18n copy strings work (Brief §02) — depends on whether display-register copy lands in the welcome hero (most candidates do)
Plan 01-11 (Puppeteer UAT harness) runs in parallel — non-overlapping surface; not affected.
Related
.planning/intel/brand-decisions-v1.md— original 9 decisions.planning/intel/design-incoming/system/bundle/mokosh-handoff/tokens.css— current tokens.css (with Newsreader pick at line 76).planning/phases/01-stabilize-video-pipeline/01-12-RESEARCH.md§1 — full engineering research- Open against D-05 in
.planning/intel/design-incoming/mokosh/dist/Decision Brief (standalone).html