feat(app): Noto Sans and Noto Sans JP, bundled, the same on every device

The app brought no fonts: text took each device's own, a minimal Linux
showed Japanese as boxes, and kanji could take Chinese shapes. Now Noto
Sans is the app's font everywhere (Latin, Greek with polytonic,
Cyrillic), and Noto Sans JP fills in kana and kanji in their Japanese
shapes. Noto Sans JP alone wouldn't do: it lacks accented and polytonic
Greek. Both come with the app and are never fetched; scripts neither
covers fall back to the device's own fonts.

Each family is one variable font holding every weight (Flutter sets the
weight axis from the requested weight; a test checks bold inks more):
0.7 MB Noto Sans, 0.7 MB its italic, 8.1 MB Noto Sans JP, from Noto's own
GitHub releases (assets/fonts/ATTRIBUTION.md). Their SIL Open Font
License texts join the app's licence list.

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:02:08 +02:00
commit 4345741646
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -3,12 +3,14 @@ import 'package:halkyon_learn_flutter/src/app/person_app.dart';
import 'package:halkyon_learn_flutter/src/core/bloc/app_bloc_observer.dart';
import 'package:halkyon_learn_flutter/src/core/dependencies/dependencies.dart';
import 'package:halkyon_learn_flutter/src/core/dependencies/dependencies_scope.dart';
import 'package:halkyon_learn_flutter/src/core/theme/app_fonts.dart';
import 'package:halkyon_learn_flutter/src/feature/auth/widget/session_gate.dart';
import 'package:material_ui/material_ui.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
Bloc.observer = const AppBlocObserver();
registerAppFontLicenses();
final dependencies = await Dependencies.create();
runApp(
DependenciesScope(