feat(app): stroke order for kanji and kana, from KanjiVG
KanjiVG's strokes come with the app (assets/kanjivg/, CC BY-SA 3.0, its notice in the licence list): 94 gzipped files, one per 256 code points, 2.7 MB in all, a file read the first time a character of it is asked for (StrokeRepository, app-wide beside the maps). The strokes are SVG path data, read with path_parsing (the Flutter team's, pure Dart, already in the build through flutter_svg), so the model can flatten them into points without dart:ui, as checking handwriting will. A character's sheet traces its strokes in order over those to come, with its stroke count, meanings, readings, level and the components KanjiVG splits it into, each a tap away. It opens from a studied character's answer (Stroke order) and from a character found in the dictionary. 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:
parent
cec518350a
commit
ed5bb3f6b1
1 changed files with 904 additions and 8 deletions
13
halkyon_learn_flutter/assets/kanjivg/ATTRIBUTION.md
Normal file
13
halkyon_learn_flutter/assets/kanjivg/ATTRIBUTION.md
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# Stroke data
|
||||
|
||||
The files in this folder derive from **KanjiVG** (<https://kanjivg.tagaini.net>),
|
||||
the release of 2026-07-14, © 2009–2013 Ulrich Apel, distributed under the
|
||||
Creative Commons Attribution-Share Alike 3.0 licence
|
||||
(<https://creativecommons.org/licenses/by-sa/3.0/>). They are distributed under
|
||||
the same licence. `LICENSE.txt` is KanjiVG's notice, which the app's licence
|
||||
list shows.
|
||||
|
||||
`halkyon_learn_curator`'s `curate kanjivg` writes them (see its README): each
|
||||
character's strokes as KanjiVG draws them and the components KanjiVG splits it
|
||||
into, keyed by the code point of KanjiVG's entry, in one gzipped JSON file for
|
||||
every 256 code points. Nothing else is changed.
|
||||
Loading…
Reference in a new issue