wordcraft/docs
Valentin Klein 2e9d4a22ce
Chinese interface: keep a system CJK fallback after the bundled face; find PingFang on macOS 12 (#486) (#495)
The screenshots in #486 show exactly the characters BIZ UDPGothic (the
Japanese interface face) lacks: 选项规语简户另为导 … in Simplified and
啟內另 … in Traditional, with "?" in the Inter-based medium/semibold
families (no U+25FB replacement glyph) and boxes in the proportional one.
That is the font chain of v0.4.0 and earlier, which embedded no Chinese
face and had no installed-font fallback; v0.5.0 (#248) embeds Noto Sans
CJK SC. This hardens the chain so it can't silently regress:

- The installed CJK font is chosen by coverage: it is added after the
  embedded faces whenever they leave a CJK character of the CJK catalogs
  or the language names without a glyph (not only when no "Hans" face
  exists), and the face picked is the one mapping the most of those
  characters.
- macOS: look inside com_apple_MobileAsset_Font<N>/<hash>.asset/AssetData
  (bounded, one level) where macOS 10.15+ keeps PingFang.ttc, also under
  /System/Library/Assets; PingFangUI.ttc as a last resort.
- Test: every CJK character of the zh-hans, zh-hant and ja catalogs and
  the language names has a glyph in the embedded chain in all three
  interface weights (skips without craft-fonts; fails with a Japanese-only
  craft-fonts, listing exactly the characters from the screenshots).

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-11 17:26:23 -04:00
..
brand M0.1–M0.6: workspace, geom, document model, fonts, layout, render 2026-10-05 22:30:16 -04:00
images M7/M14: comment balloons in the margin; ROADMAP alpha and parity estimates; README Review and Layout screenshots; cargo xtask alias 2026-10-06 01:38:55 -04:00
architecture.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#277) 2026-10-10 14:11:53 -04:00
contributors.md About: contributor and model credits compiled in (grab bag + table, self-submitted names) (#6) 2026-10-07 21:17:02 -04:00
control-protocol.md i18n: add Russian (ru) interface translation (#300) 2026-10-11 11:53:41 -04:00
file-format-parity.md Compare, Restrict Editing and AutoCorrect Options dialogs (#412) (#476) 2026-10-11 17:10:02 -04:00
gaps.md Compare, Restrict Editing and AutoCorrect Options dialogs (#412) (#476) 2026-10-11 17:10:02 -04:00
hardware-parity.md Windows: use OpenGL when DirectX 12 has no GPU driver (#316) (#325) 2026-10-10 16:24:16 -04:00
layout-parity.md Layout fixes: mirrored margins, tall headers/footers push the body, endnote continuation, footnote caret on continuation pages (#452, #453, #454, #456, #457) (#490) 2026-10-11 17:23:30 -04:00
localization-parity.md Chinese interface: keep a system CJK fallback after the bundled face; find PingFang on macOS 12 (#486) (#495) 2026-10-11 17:26:23 -04:00
localization-tr.md i18n: add Turkish (tr) interface translation (#494) 2026-10-11 11:16:22 -04:00
mcp.md Headless: file.setAuthor takes a name; review.trackChanges lists its value param (#90) (#224) 2026-10-10 09:43:05 -04:00
parity-checklist.md WordArt text effects and transforms, and shape connectors (#416) (#481) 2026-10-11 16:51:01 -04:00
releasing.md Bump version to 0.5.0; add Linux riscv64 release build (#394) 2026-10-10 19:41:30 -04:00
roadmap.md Draw: Lasso Select, Add Pen, Ink to Shape and Ink Replay (#395) (#408) 2026-10-11 15:53:47 -04:00
target-app-parity.md Compare, Restrict Editing and AutoCorrect Options dialogs (#412) (#476) 2026-10-11 17:10:02 -04:00
typing-parity.md Editing fixes: Center range, undo grouping, Change Case runs and offsets, Bold undo at caret (#418, #419, #420, #421, #424) (#477) 2026-10-11 17:13:50 -04:00
ui-parity.md Compare, Restrict Editing and AutoCorrect Options dialogs (#412) (#476) 2026-10-11 17:10:02 -04:00
zotero.md Read Aloud: player with speed control, sentence skipping, skips citations (#190) 2026-10-10 08:36:19 -04:00