halkyon/halkyon_learn_flutter/assets/fonts/ATTRIBUTION.md
Tizian 「ティツィアーン」 b1ef9b9d3a
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>
2026-10-09 18:09:24 +02:00

1.4 KiB

Fonts

The app brings its fonts with it and never fetches any: text looks the same on every device, whatever fonts it has.

File Font Source Licence
NotoSans-Variable.ttf, NotoSans-Italic-Variable.ttf Noto Sans (Latin, Greek incl. polytonic, Cyrillic), every weight notofonts/latin-greek-cyrillic release NotoSans-v2.015, unhinted/slim-variable-ttf SIL Open Font License 1.1, OFL-NotoSans.txt
NotoSansJP-Variable.otf, NotoSansSC-Variable.otf, NotoSansTC-Variable.otf, NotoSansKR-Variable.otf Noto Sans JP, SC, TC, KR (Japanese, Simplified and Traditional Chinese, Korean), every weight notofonts/noto-cjk Sans/Variable/OTF/Subset/NotoSans{JP,SC,TC,KR}-VF.otf, commit f8d157532fbf (2026-10-08) SIL Open Font License 1.1, OFL-NotoSansCJK.txt

Noto Sans is the app's font; the CJK fonts fill in the glyphs it lacks, the one matching a studyset's language first, Japanese otherwise (lib/src/core/theme/app_fonts.dart): they share most Han characters but draw them differently. Noto Sans JP alone would not do as the app's font: it has no accented or polytonic Greek. Scripts none of them covers (Arabic, Hebrew, Thai, Devanagari, …) come from the device's own fonts. The files are renamed only; their glyphs are unchanged. The licences are shown in the app's licence list.