きゅぶろぐ

きゅぶんずの ぶろぐができて べんりだな

多言語対応!「日本語」「韓国語」「中国語」ってどの文字が表示出来れば良いの?

多言語対応しよう!と思った時、例えば「英語」ならASCIIが表示できれば対応できそうです。
しかし、「日本語」「韓国語」「中国語」の3つは一体何の文字が表示出来れば良いのでしょうか?

日本語

親しみのある日本語から始めましょう。
「ひらがな」「カタカナ」等は良いとして、漢字をどこまで含めるか。
漢字の一覧と聞くとパッと思い浮かぶのは常用漢字とかでしょうか。でも、「杖」「叩く」「絆」などゲームで使われそうな漢字が含まれていません。

ここでは「フォントを作る時、何の文字セットを参考にしているのだろう」という方針で考えてみます。
調べてみたところ、Adobe-Japan1というAdobeさんが定めてくれた文字セットがあるようです。

えー、実はここまでは 「常用漢字を突っ込むのはもうやめ!Adobeが定めた良い感じの日本語文字セットをTextMeshProで使う」 という記事で既に取り上げているので、そちらをご覧ください。

Supplement 0-7まで全部入れると23,060文字あります。
現実的には Supplement 0 の8,284文字だけ入れて、後はDynamicで描画する等の工夫が必要そうです。
その手法に関してはこちらの記事をご覧ください。

韓国語

ようやく本題、次に「韓国語」はどうでしょう。
なんと、Adobe-KR もあります。最高ですね。

Supplement 0-9まで全部入れると22,897文字あります。
Supplement 0 は3,059文字。

この文字を流し込むのに、文字一覧が欲しい・・・と思ったそこのあなたのために準備しておきました。
https://github.com/kyubuns/Adobe-Japan1-List/blob/main/Adobe-KR1-9.txt

中国語 (繁体字)

日本語、韓国語があるということは、Adobe-CNS1もあります。

Supplement 0-9まで全部入れると19,179文字あります。
Supplement 0 は14,099文字。0だけで!?

文字一覧
https://github.com/kyubuns/Adobe-Japan1-List/blob/main/Adobe-CNS1-7.txt

まとめ

日本語、中国語、韓国語はそれぞれ2万文字ずつぐらい表示出来ないといけないことが分かりました。
TextMeshProでフォントデータを作るにも、流石に2万文字は多すぎです。
次回は現実的にTextMeshProで描画する方法について書きます。