2018年9月26日水曜日

Pillars of Eternity 2 で日本語が表示できない・・・その5

Pillars of Eternity II: Deadfire 第二弾DLC「Seeker, Slayer, Survivor」がリリースされ、ゲームのバージョンも v3.0.0 になりました。

今回のアップデートによりフォント関連の仕様が変更されましたので、メモを残しておきます。


■フォントの解析


アップデートにより日本語が表示できなくなったので、再度フォントの解析を行いました。韓国語のフォントテクスチャーについては v2.1.0012 から変更はありませんでしたが、座標情報については、Fallback Font 関連のパラメタ「FallbackFontAssetsDataFileID」と「FallbackFontAssetsDataPathID」が削除されており、「フォント座標情報変換ツール」を修正しました。
(以前の解析結果は以下のURLを参照)

「韓国語版のフォントの座標情報を調査した時の資料です。」
https://gist.github.com/synctam/c9e7a32164b26ae89107f89599e458f3


Fallback Fontについては以下のサイトの「2.4 Fallback Font Assets」を参照。
「Font, TextMesh Pro Documentation」
http://digitalnativestudios.com/textmeshpro/docs/font/



■フォント関連の仕様変更


フォント指定方法の変更


v3.0.0より使用するフォントを指定できなくなりました。

  • v2系では、「<Charset>xxxx</Charset>」の指定によりフォントを切り替える事ができ、未指定の場合は英語フォントが使用されていた。 
  • v3系では、「<Charset>xxxx</Charset>」の指定は無効となり、表示する文字のコードポイントに応じ使用するフォントが切り替わる。

例えば、表示する文字のコードポイントが中国語(C)の場合は中国語フォントが、韓国語(K)の場合はハングルフォントが使用されるようです。なお、日本語(J)のコードポイントに該当するフォントはゲーム内には存在しないので空白となります。これにより、一つの画面で複数のフォントを併用できるようになりました。

英語・中国語・ハングルの併用。
日本語部分(ひらがな・カタカナ)はフォントがないので空白となる。



■日本語化の現状


今までの手順で韓国語フォントを差し替えて日本語を表示したところ、漢字は中国語フォント、ひらがな・カタカナは日本語フォントとなり、統一感のない非常にバランスの悪い見た目になってしまいました。

アルファベットは英語フォント
ひらがな・カタカナは日本語フォントでゴシック体
漢字は中国語フォントで明朝体



■今後の日本語化の方針


漢字の文字コードは中国語と日本語で共通部分があるため、日本語だけフォントを切り替えることはできなくなりました。そこで、今までのように韓国語のフォントを流用し日本語フォントに差し替えるのではなく、中国語フォントを差し替えることにします。これにより、日本語の漢字、ひらがな、カタカナなどを統一された見た目(グリフ)にすることができる予定です。

それと、既存の中国語フォントは文字数が多いためフォントテクスチャーは二面使用していますが、日本語の場合は一面に収まるため二面目の取り扱いを検討する必要があります。または、フォントのサイズを二倍にして二面使用する方法もありです。サイズを大きくすると理論的には見た目がきれいになることが期待できます。


■仕様変更に伴う弊害


今回の仕様変更で、「<Charset>xxxx</Charset>」が廃止となり、言語切り替えによるフォントの切り替えができなくなったことにより、中国と日本双方が納得する漢字の見た目を実現する方法がなくなったわけです。現状のように中国の漢字フォントを使用すると日本の人は違和感を感じますし、逆もまた同様です。なぜこのような仕様変更が行われたのかはわかりませんが、以前の仕様では韓国語を選択するとハングル文字しか表示できず、漢字の表示ができなかったのが問題だったのかもしれません。

とは言っても元々日本語はサポートされていないので文句は言えませんが、できれば、元の仕様のように言語の変更でフォントテクスチャーを切り替える仕組みに戻して、各言語毎に用意したフォントに必要な文字種を全て格納するほうが良いと感じます。そうすれば、各言語毎に統一の取れた文字が使用でき、文章をきれいに表現できるはずです。


新しいフォントが完成したら、また記事をアップしたいと思います。

では・・・

2 件のコメント:

  1. 一度Obsidianに苦情メールでもしなきゃならんすな

    返信削除
    返信
    1. 「日本語フォントを入れて!」ってお願いしたいですね。

      削除

Raspberry Pi 3 Model A+ で広告ブロックサーバーを作る(その2)

前回作成した 広告ブロックサーバー の稼働状況をAmbientにアップロードするスクリプトを書いたのでメモを残しておきます。