💭

【JavaScript】WebブラウザーでUnicodeから文字を得る方法 ~ 異体字はJavaScriptで変換致しましょう

2023/09/11に公開

PCUnicodeを縦にする

突然乍ら、Unicode Padというアプリケーションをご存じでしょうか。

https://play.google.com/store/apps/details?id=jp.ddo.hotmist.unicodepad&hl=ja&gl=US

こちらはUnicode表とでも言い表すべきものであり、フォントの有無に依らずほぼ全ての文字を表示する、正に佳品であります。言わずもがな漢字は厖大な数を擅恣にし乍ら、字形選択子を用いるときは更に詳細な異体字を得、仮名は変体仮名捨て仮名に加え、稍整理され居らずと雖も合略仮名さえ扱えるようになりつつあります。その他悉曇のような本国の文化に親しいものから、上付き下付き縦書き踊り字などの便利な記号類なども用い得べきとは、どうしてこれを使わずに居られましょうか。携帯端末の文字使用程度を格段に高める、極めて有益な逸品でございました。

然れどその可用である範疇が携帯端末に限られていることは寔に惜しく、PCからは迚も扱い易からぬことは瑕釁に外なりません。単字であれば自ら検索することで対処して居りましたが、字形選択子は検索するまでもありませんから、大変不満でありました。

などと述べて参りましたが、既にこの問題を解消する術は確立して居ります。実践してご覧に入れましょう。

WebブラウザーとJavaScript

今回使用する二要素を確認しましょう。

Webブラウザー

極めて珍妙な代物でもなければ、大抵のWebブラウザーで同様の操作を行うことで、開発者ツールと称される機能が現れます。今回は、平素より全く使用していないEdgeを例に示します。

上の流れの通り、F12とあるキーを押すことで開発者ツールが現れます。ノートPCであれば、fnキーをも同時に押す必要があるかもしれません。

開発者ツール

画面右側に現れました。この画面では、>>とある部からコンソールを選ぶ必要があるようです。

コンソール

文字を入力できる画面が現れます。茲で記述できるものは、JavaScriptというプログラミング言語です。

JavaScript

とは言え、今達せんとする目的にプログラムは要しません。一例を示しましょう。

Unicodeから文字へ変換する
"\u{7777}"
Output
'睷'

単にUnicodeが変換されただけですが、これもJavaScriptあればこその結果です。

余談 文字からUnicodeへの変換

こちらはプログラムらしくなります。

単字からUnicodeを得る
'睷'.codePointAt(0).toString(16)
Output
'7777'

0番目というからには、1番目があればそれを指定することもできます。

二字から選んでUnicodeを得る
'睷睶'.codePointAt(1).toString(16)
Output
'7776'

稍覚えにくいものですが、検索するよりは早いかもしれません。

字形選択

これを用いれば、簡単に異体字を得ることができます。しかしZennのフォントが対応しているとは思えませんから、画像でお示しします。

龍󠄌

U+E0100以降が字形選択子ですから、適当な文字にこれを付け加えている様子です。フォントさえ対応しているならば、画像の通りに異体字が得られていると分かります。

フォント

私が使用するフォントは花園明朝ですが、PCにこれを使用させるために、以下のアプリケーションを使用しています。

https://www.gigafree.net/system/registry/noMeiryoUI.html

有志の作られたものですから、使用は自己責任となるでしょう。

以上が異体字を扱う上での基本要素となります。同様の手法を用いて、日本語に限らずあらゆる言語・記号を扱いましょう。

Discussion