Files
mokosh/.planning/intel/brand-decisions-v1-followup-display-font.md
Mark 2669ce38e7 docs(intel): designer follow-up #1 — Newsreader has no Cyrillic glyphs
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>
2026-05-17 21:25:35 +02:00

79 lines
4.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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:
1. **The Decision Brief's own embedded `@font-face` declarations** — subsets shipped: `latin` / `latin-ext` / `vietnamese`
2. **Production Type's `productiontype/Newsreader` repo 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-display` token 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`