feat(dictionary): characters of Chinese, Korean and Greek, written by hand; pinyin typed
Parity with Japanese's kanji and kana: - The characters' tab is named by its language (Hanzi, Hangul & Hanja, Alphabet), its groups too: HSK levels and the characters in common use (Hong Kong's grades for traditional ones); Hangul and the Hanja taught in schools; Greek's letters. Radicals for Chinese and Korean in their own forms (讠 for 言 in simplified Chinese), none for Greek. - A character's readings are named as its language names them: On and Kun, Pinyin, Eum and Hun (음, 훈); a letter means its sound and name. - How characters are written comes by language: Chinese from Make Me a Hanzi (its medians in KanjiVG's square, Arphic Public License, a data file beside the app, never in cards), the Hangul letters drawn by the curator; a Korean word is written letter by letter (닭: ㄷ ㅏ ㄺ). Words of alphabets (German, Greek) aren't written by hand. - A Chinese word's pinyin is typed in a session, tone numbers turning into marks (ni3 → nǐ); KRDict's levels (초급, 중급, 고급) tag Korean words; a Korean word's pronunciation shows in brackets ([가치]). - Smaller: Look up in the composer keeps a noun's article; the Watch filter names its level list; hints and placeholders by language. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
7070cd6bd2
commit
5479b973fc
1 changed files with 2559 additions and 230 deletions
|
|
@ -286,6 +286,42 @@ box, in the order they're written) and the components KanjiVG first splits it
|
|||
into (`c`, when it has any). Then update the release named in the folder's
|
||||
`ATTRIBUTION.md`.
|
||||
|
||||
Chinese characters are written as Make Me a Hanzi draws them
|
||||
([skishore/makemeahanzi](https://github.com/skishore/makemeahanzi), decided
|
||||
2026-10-14 for parity with KanjiVG: its own shapes and the mainland's stroke
|
||||
order, 9,574 characters of both scripts; the strokes under the Arphic Public
|
||||
License, the components under the LGPL). Download its `graphics.txt` and
|
||||
`dictionary.txt`, then:
|
||||
|
||||
```sh
|
||||
dart run halkyon_learn_curator:curate makemeahanzi \
|
||||
--input graphics.txt --dictionary dictionary.txt \
|
||||
--output ../halkyon_learn_flutter/assets/makemeahanzi
|
||||
```
|
||||
|
||||
It writes the same files as for KanjiVG (99 files, 2.7 MB): each stroke is the
|
||||
line Make Me a Hanzi draws through the middle of its outline (its median),
|
||||
scaled from its 1024 square, whose y axis points up from 124 below the bottom,
|
||||
into KanjiVG's 109 square, y pointing down; the outlines are left out, as the
|
||||
app draws and checks strokes along their middle. A character's components are
|
||||
the first split of its decomposition (海: 氵, 每). Each file says how and when it
|
||||
was changed (`notice`), as the Arphic Public License asks of a changed file.
|
||||
They stay a data file beside the app, never in cards (the folder's
|
||||
`ATTRIBUTION.md`).
|
||||
|
||||
The Hangul letters are drawn by the curator itself (CC0), as no openly
|
||||
licensed data draws them with their strokes:
|
||||
|
||||
```sh
|
||||
dart run halkyon_learn_curator:curate hangul \
|
||||
--output ../halkyon_learn_flutter/assets/hangul
|
||||
```
|
||||
|
||||
writes `031.json.gz`: the 40 letters in the order Korean schools teach their
|
||||
strokes (`lib/src/sources/hangul_strokes.dart`), and the pairs of consonants
|
||||
(ㄲ, and the clusters closing syllables, 닭's ㄺ) as their two letters side by
|
||||
side, so a Korean word is written letter by letter.
|
||||
|
||||
## Adding a source
|
||||
|
||||
Write an adapter in `lib/src/sources/` that turns the source into the lines
|
||||
|
|
|
|||
Loading…
Reference in a new issue