Merge the fixed #31 branch (which carries #38's font fallback) and resolve: - theme.rs: build on #38's fallback_faces/load_fallback instead of the old load_cjk. The interface language only reorders the two Han entries (sys-cjk-han-ja / sys-cjk-han-zh; Japanese first for ja, Chinese first otherwise); Hangul, Thai and Hebrew keep their place. The region-merged Noto Sans CJK .ttc is loaded once, with the leading language's face index. - Fonts are rebuilt on a language switch only when the Han order changes (HanOrder), not on every switch. font_definitions()/setup_context() use the default order and never read the host locale. - Tests stay locale-independent (UiState defaults to English; the desktop app applies the system language). The web build follows the browser language except CJK, which would render as tofu without system fonts. - app.language.set error/params list all five codes; engine.commands lists it. zh/ko/ru gain the keys #31 added (Page Layout|Orientation, display theme). The Page Layout screen checkbox keeps English "View" via a "Sheet Options|View" key (was shown as "Screen"). - Coverage test checks zh/ja/ko/Thai/Hebrew/Cyrillic in both the UI and cell families by comparing glyphs with the tofu glyph. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| gridcraft | ||
| gridcraft-cli | ||
| gridcraft-web | ||