「漢字検索、異体字検索 - 福」たくさんの福!
縮退とは6万の漢字を表現できない環境向けに代替漢字へと変換すること。ユニコード前提な現代ではあいまい検索など、正規化に使うと良さそうです。
「文字情報基盤 MJ縮退デモ」
難解な漢字をいれると適度にやさしい漢字になります。
縮退マップの利用ガイドにおもしろいことが書いてあります。読みも意味も不明な漢字が400字もあるそうです。
「漢字検索、異体字検索 - 秀丸」
福井高専の先輩、斉藤秀夫さん開発の有名ソフトウェア「秀丸エディタ」はなんと漢字にもなっていた!?
ここで問題です、JavaScript でこの難解文字 "𤔜㙒𡙌𡗟".length を表示するとどうなるでしょう?
正解は、7!
見た目は4文字なのに不思議ですね。
ユニコードの仕様で異体字セレクタ(IVS)は2つのコードポイントで表現させるので、1つの文字を表現するために2つのJavaScript文字を使っています。
この仕様のせいでJavaScriptの文字列はややこしいことになっているので改善しましょう。 普通の文字列関数、charAtやcodePointAtでは中途半端なコードにしかならなかったり、indexOfの数がずれてしまったりするので、新たに Str.js を作りました。
import { Str } from "https://code4fukui.github.io/mojikiban/Str.js"; console.log(new Str("𤔜㙒𡙌𡗟").length); // 4
見た目と一致する文字は、書記素(グラフィーム)と言います。以前結合絵文字を扱うときに使った GraphemeSplitter を内部に使っています。
Code for Fukui によるオープンソースプロジェクト。社会OS開発、ぜひご一緒に!
「code4fukui/mojikiban src on GitHub」