詩と創作・思索のひろば

ドキドキギュンギュンダイアリーです!!!

Fork me on GitHub

漢字スライダー

会社では基本的にすべての場でインターネットネームによる運用なんだけど、たまに戸籍ネームが必要になることがあって、そういう時、とても威圧感がある。威圧感はどこからやってくるの? それは漢字の画数の多さだと思う。その着眼のもと、漢字の画数をコントロールできる「漢字スライダー」を作りました。

motemen.github.io

スライダーで画数をコントロールできます。文字列は好きに編集できるよ。

f:id:motemen:20191205202901g:plain

威圧感を自由に上げ下げできて、さまざまなシーンで活躍しそうですね!

unihan-etl で日本語の漢字の一覧を取得する

漢字とその画数の一覧は、ユニコードコンソーシアムによる Unihan というやつから取得するのがよさそうだった。単純に漢字(/\p{Han}/)を抽出すると見慣れない中国語の漢字まで含まれてしまうので、日本語の漢字のみに絞りたい。今回は kJis0 というフィールドを利用することで、JIS X 0208 の文字だけを対象にできそうなことがわかった。

Unihan のデータ抽出/加工には、unihan-etl という Python 製のツールが便利だった。以下のコマンドで、Unihan からデータをダウンロードして、それぞれの漢字の画数と、JIS X 0208 におけるコードを CSV で取得できる。

% unihan-etl -f kTotalStrokes kJis0 -d /dev/stdout

ちょっと余談だけど Python の argparse ではひとつのフラグに複数の引数を与えるとき上記のように書く(-f kTotalStrokes -f kJis0 とか -f -f kTotalStrokes,kJis0 とかではなく)ようで、ちょっとハマった。

はてなで一緒に働きませんか?