feat(app): a studyset's languages, and Chinese and Korean fonts

The studyset sheet gains Languages, as before: off until "Set
languages", then the language of the cards' fronts and of their backs
(22 languages, Chinese in its two scripts). A studyset without its own
takes those of the nearest studyset above it, both together; set for the
first time, they start from those it took. The payload held both fields
already.

They set its text: Noto Sans SC, TC and KR join Noto Sans JP (bundled,
never fetched; 34 MB more, fonts 42 MB in all, your call), and since
Han characters take the shapes of the first font that has them, every
screen inside a studyset (its screen, cards, notes, paths, studying it)
puts the font of its front's language first, else of its back's,
Japanese otherwise. Every studyset route goes through one helper now.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-08 23:30:31 +02:00
commit b1ef9b9d3a
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -149,10 +149,11 @@ flutter:
- assets/maps/japan_prefectures.geojson
# The bundled fonts' licences, for the licence list (see assets/fonts/ATTRIBUTION.md).
- assets/fonts/OFL-NotoSans.txt
- assets/fonts/OFL-NotoSansJP.txt
- assets/fonts/OFL-NotoSansCJK.txt
# The app's own fonts, the same on every device and never fetched: Noto Sans for
# Latin, Greek and Cyrillic, Noto Sans JP behind it for kana and kanji
# Latin, Greek and Cyrillic; behind it Noto Sans JP, SC, TC and KR for Japanese,
# Chinese and Korean, in the order a studyset's language asks for
# (core/theme/app_fonts.dart). Each file holds every weight (variable fonts).
fonts:
- family: Noto Sans
@ -163,6 +164,15 @@ flutter:
- family: Noto Sans JP
fonts:
- asset: assets/fonts/NotoSansJP-Variable.otf
- family: Noto Sans SC
fonts:
- asset: assets/fonts/NotoSansSC-Variable.otf
- family: Noto Sans TC
fonts:
- asset: assets/fonts/NotoSansTC-Variable.otf
- family: Noto Sans KR
fonts:
- asset: assets/fonts/NotoSansKR-Variable.otf
# The app's icons, written by tool/app_icons.py: it prepares the images derived from
# the kingfisher in build/icons/ first, then runs `dart run flutter_launcher_icons`