こんな感じで使えます。
import { Kanji, JKAT } from "@marmooo/kanji";
const kanji = new Kanji(list);
const jkat = new Kanji(JKAT); // 教育指導要領 / 日本漢字能力検定
jkat.getGrade("学校"); // --> 0
jkat.getGrade("漢"); // --> 2
jkat.getGrade("うどん"); // --> -1
Kanji クラスの初期化で漢字のリストを読み込むので、カスタム化もできます。
今のところ以下の 9つをサポートしています。
今後も Unicode3Radical, Unicode3RadicalStrokes など追加したい機能はあります。
- JISCode: JIS 漢字コード (第 1 水準〜第 4 水準)
- Jinmei: 人名用漢字 (常用漢字, 常用漢字の異体字, 人名用漢字)
- JKAT: 教育指導要領 / 日本漢字能力検定 (10級〜1級)
- Unicode1Radical: Unicode 1.1 の康熙字典 214 部首コード
- Unicode1RadicalStrokes: Unicode 1.1 の康熙字典 214 部首の画数データ
- JoyoRadical: 常用漢字の康熙字典 214 部首コード
- JoyoRadicalStrokes: 常用漢字の康熙字典 214 部首の画数データ
- JoyoStrokes: 常用漢字の画数データ
- JIS4UnihanStrokes: JIS 第 4 水準の Unihan_IRGSources.txt に基づく画数データ
開発に当たっては色々なことを調査・検証したので、その内容についても記事としてまとめました。
ライブラリ化するときにはとにかく扱いの難しい漢字として「𠮟」があります。 「𠮟」は新しい常用漢字ですが、[音訓の小・中・高等学校段階別割り振り表(平成29年3月)] を見ると、「𠮟」じゃなくて「叱」で書かれているんですよねえ。 漢字検定の漢字一覧も表記は「𠮟」なのですがコピペすると「叱」になったりして困ります。 他にも間違いがいくつかあって紛らわしい。 そういったものは実用上どっちでも良いとされているのがほとんどと思いますが、それならなぜ「𠮟」を常用漢字にしたのだ?という感じはあります。 IME とかでも「しかる しっする」では変換できず、「しつ しった」くらいでしか変換できないので、面倒臭い漢字です。 デザイン差でしかないなら、もう「叱」で良いんじゃない? という気もしますが、ライブラリでは両方考慮することで統一しました。
JLPT も対応しようと思ったのですが、漢検のように情報公開されてないので、 きちんとしたものは作れないと思って無視しました。 リストがないなら漢検の順序で学べば良いはずです。
0 件のコメント:
コメントを投稿