route127の日記: glyphwikiでUnicodeから諸橋大漢和検字番号
glyphwikiでUnicodeのコードポイントから諸橋大漢和検字番号への対応を取っていた。
漢数字の一のグリフはコードポイントU+4E00で
https://glyphwiki.org/wiki/u4e00
からアクセスできるがここから諸橋大漢和のグリフにリンクされている。
https://glyphwiki.org/wiki/dkw-00001
以前Unihanデータベースと諸橋大漢和の齟齬は話題にしたがCJK統合漢字の範囲であればインターネットに接続せずワンライナで検字番号を引ける。
perl -MEncode -MUnicode::Unihan -e "print Unicode::Unihan->new->morohashi(decode('cp932','一'));"
00001
これを改造してコードポイントから検字番号を引ける。
perl -MUnicode::Unihan -e "print Unicode::Unihan->new->morohashi(qq/\x{4e00}/);"
00001
逆もできて検字番号からコードポイントを調べることもできそうではある。
perl -MUnicode::Unihan -e "$uh=Unicode::Unihan->new;($cp)=grep{$uh->morohashi(pack('U',$_)) == 0001}0x3000..0x30000;printf(qq/%x/,$cp);"
4e00
実際はCJK統合漢字拡張A(4e00以前)とか拡張B以降(10000以後)のコードポイントを持つ場合はUnihanがmorohashiの値をもっておらず使い物にならない。
そこでIDS-Daikanwaを使ったりもするのだがこれはこれで問題がある。
例えば「𡈲」(U+21232)は諸橋大漢和を当たると検字番号として「4858」が引けるが、一方IDS-Daikanwa3.txtでは
M-04858 &M-04858;
と表現されていて コードポイントからは検字番号を引けない。
そこで結局ネットにつないでglyphwikiの
https://glyphwiki.org/wiki/u21232
へアクセスし、そのエイリアスとして登録されている
https://glyphwiki.org/wiki/dkw-04858
から検字番号を調べることになる。
glyphwikiでUnicodeから諸橋大漢和検字番号 More ログイン