CRPGを楽しむためのメモ

PCOTで海外ゲームを日本語翻訳しながら遊ぶ

【PCOT】『Avadon』の”より良い”誤読防止フォント

"Avadon2 : The Corruption" Spiderweb Software Inc.

【このブログの概要】「その英語ゲームは、今すぐ日本語で遊べる」

【PCOT用OCR誤読防止改造フォントへのリンク】

 ●【PCOT】Spiderweb社のRPGを、日本語で快適に遊ぶためのフォント
 ●【PCOT】OCRが誤読しない背景壁紙『Avernum』『Avadon』
 ●【PCOT】『Queen's Wish』の誤読防止フォント
 ●【PCOT】『Geneforge』の誤読防止フォント

 ●【PCOT】『Avernum』の”より良い”誤読防止フォント
 ●【PCOT】『Avadon』の”より良い”誤読防止フォント
 ●【PCOT】『Geneforge5』(旧版)の誤読防止フォント

--------------
 

前回予告したように『Avadonシリーズ』の ”より良い” 誤読防止フォントについて書く。
といっても、メインである「通常フォント」については、前回の『Avernum』のものと同じなのでコピペしただけ。今回は「特殊フォント」に手を入れた。

シリーズごとに違う「特殊フォント」。まったく触れずになんとかなるAvernumと違い、Avadonの場合は、クセが強すぎて、ハナからOCRがまともに読んでくれないのだ。

以前にアップしたフォント画像では、TesseractOCRで、なるべく普通の日本語になるように改造した。今回は、もっと丁寧な改造で「もとのフォントをなるべく活かしつつ、OCRがちゃんと読めるフォントにする」ことを目標にした(結局あまり果たせなかった。詳細後述)。

 

ー目次ー

 

〈Avadonの ”より良い”改造フォント画像〉

【概要】

Spiderweb software inc.(以下SW社)のRPGは、日本語翻訳支援ソフトPCOTと非常に相性が良いが、文章の行間が狭いため(初期作品ほどその傾向が強い)、前後の行の文字と文字が重なって、OCRが誤読し、意味不明の翻訳をすることがある。 *1 しかしSW社ゲームのフォントは単なるPNGのため、画像編集ソフトで簡単にいじることができる。
以前掲載したものより、「通常フォント」を原典をなるべく活かす形で改造し、Avadon特有のクセのある「特殊フォント」も、より読み取りやすいようにしたい。

 

【Avadonシリーズ "より良い" 改変フォント画像】

この画像ファイルが使えるゲーム(win版 Steam/GOG

〈Avadonシリーズ用誤読防止改造フォント〉
  1. 上の画像を右クリックし、ダウンロードして、G290.pngにリネーム
  2. ゲームがあるフォルダ中の「Graphics Core」にある、オリジナルのG290.pngをバックアップした上、先程ダウンした画像をそこにコピー。
    (『Avadon : The Black Fortress』ならAvadon※→Avadon※ Files→Graphics Core 『2』『3』の場合、※にその数字が入る*2
  3. ゲームを起動してフォントが表示できることを確認

特殊フォントを含め、PCOTのOCR設定は、処理速度の速いWindows10 OCR、倍率2倍で読み取れる(そう、今回の特殊フォントは、Tesseract OCRじゃなくても、Windows10 OCRで読めるのだ)。

 

〈どうフォントを変更したか〉

今回は特に愚痴っぽく長いので、読まないほうがいいかも。

【特殊フォント改造:当初の方針】

SW社のRPGの多くが、共通の通常フォントと、シリーズごとの特殊フォントで構成されている。前回のここあたりの図 を参照してほしい。 

ゲーム内で使われるのは基本的に通常フォントであり、これは共通なので、今回はAvernum用に改造したものをそのままコピペして終わりである。*3

Avernumと違うのは、図の下半分の特殊フォントが、そのままでは誤読の嵐になるということである。もともと崩れたフォントに強いTesseract OCRなら、まだそれなりに文章になるが、動作が軽快でメインに使う人が多いであろうWindows10 OCRだと、変な記号や漢字が入り混じった不気味な暗号になっちゃうのだ。

PCOTはデフォルトでTesseract OCRが使え、オプションでWindows10 OCRを導入し、切り替えることができる。僕はもっぱら動作が速い後者を使っているが、ゲームによってクセのあるフォントが使われているときは、それに強いTesseract OCRに切り替える。(切り替え方は、PCOTのメニューバー「設定」→「画像加工OCR読取設定」→下のほうにある「使用OCRエンジン」で選択)

Windows10 OCRで読んだ、未加工の特殊フォント。Avadonのプロローグ部分。まったく意味不明。▼って何?なんか怖い。

念のために言っておくが、特殊フォントは読めなくても、ゲームをやるにはあまり支障がない。ゲーム内のメッセージのほとんどは通常フォントであり、特殊フォントは装飾的に、小見出しなどに数節使われる程度だからである。 *4

ただ例外的に、プロローグとエピローグでは、特殊フォントが長文で使われており、特にエンディングはマルチであることもあって、一応読めるに越したことはない。

ここは、Windows10 OCRでの読み取りはあきらめるとして、前回の「なんでもかんでも上下に圧縮してしまっていた」のを止め(特殊フォントは行間問題がほぼ発生しない)、独特なフォントデザインを活かしつつ、原典を尊重した最低限の改造にとどめたいと考える。

特殊フォントの改造について当初の方針をまとめると

  1. 行間問題はないのでフォント全体を縮小せず、問題ありそうな文字だけいじる。
  2. 大中小とあるサイズのうち、プロローグやエピローグに使われる中サイズの文字の小文字だけいじる。
  3. Windows10 OCRは諦め、Tesseract OCRであまり誤読がおきない程度に、最低限に手を加える
  4. たまに読み間違いする文字があっても、気にしない。

と、結構ゆるめの目標とした。何度も言うが、特殊フォントは読めなくてもそれほど困らないのだ。

ちなみに、さきほどの文章をTesseract OCRで読んだところ。先の悪夢のような文章とは違い、それなりに読める。
ブリッジがブリオッシュになっているのは「d」を「o」に読み間違えているからだが、これは元のフォントを見ると、むしろ納得してしまうだろう。
アヴァドンがアバドボンになってると、「これでいいのだ」と言いたくなる。

【特殊フォント改造:崩れる思惑】

中サイズフォントの小文字をメインにいじると決め、まずはフォントのクセをじっくり観察

  • 拡大するとこれらの文字が非常に「立体的」に描かれているのが判る。グレイの濃淡のグラデーションで文字が作られており、純粋なホワイトは、実はあまり使われていない。これがこのフォントの独特のクセを作っている
  • 立体感を残しつつ、改変していくのはなかなか難しい。昔、アイコン作りをしてたので、ドットうちは嫌いじゃないが、フォントのこと知らないし。
  • 「d」「g」あたりは、人間が見ても「こんなん読めるか」というぐらいクセが強く、完全に描き直す必要がありそう。「y」も怪しい。
  • その他「他の文字に誤認しそうな文字」に手を加え、間違えないようにする。

「なるべく原典を崩すことなく最低限の改造」をしようとするが、dやgの変更もなかなかうまくいかないし、他の文字も、うまく読んだと思ったら次には駄目で。

手を加える部分がどんどん多くなり、もとの立体感を活かしていては埒があかない。「とにかく文字をちゃんと認識させる」ために、白い部分が増えていき・・・。

かなり読みやすくなったかな?と、ものは試しにWindows10 OCRで読んでみたら、次の画像のような結果に。

かなり手を入れたのでもう少しマシになってると思ったんですが(泣)

頭の中で、何かがプツンと切れたような気がした。

「何が、原典を尊重や、そんなもんくそくらえ!」

これまでいかに元のフォントを残そうかと、細かくいじってたのに、ヤケクソのように、濃い白のドットで、全文字をぶっとい線に改造しはじめてしまった。ああ・・・。

【特殊フォント改造:結局こうなった】

とにかく、それぞれの文字をちゃんと認識させるために、全体的に文字を、くっきりはっきりさせていった。立体的じゃなくなるのも目をつぶった。

そして、どうせこんだけ改変するならWindows10 OCRで読めるようにしようと、方針変更。

ほんとは、dやgなどは、もっと読みやすい別のフォントをどっかから持ってきて移植する(前にやったように、Avernumの特殊フォントからとか)なんて方法もあるんだが、もうなんだか意地になってきて、ドットを打ち続けた。

それにどうも、謎の誤読は別の文字で起きているようだった。
「m」や「n」である。これは、元の状態でも、人間の目にはそれ以外に見えないのだが、いじってもいじっても、誤読する。Tesseract OCRでも、時々おきる。どうも「m」などを「ttl」などと読んでしまっている。背の高さに比して横幅が広いせいで、いくつかの文字がくっついていると判断するようなのだ。こしゃくな。
一体感を強めるべく、ぶっとい線でつないでやるが、何度やっても駄目(常に駄目なわけじゃないんだけど、どういう条件かは判らないが高頻度で誤読する)。

前の改造のときも、mがそういう挙動を示したことがあった。だが、横幅を狭くすると、次の文字との間が空きすぎて、それが新たな誤読を呼んでしまう。横幅をかえられないならば、縦に伸ばしてなんとか一文字の「m」と認識してもらう。だから「m」は妙にでかい。ブサイクだけど、Avadonの特殊フォントはもともとガチャガチャしてるので、それほど目立たないだろう・・・(勘弁してください)。

「m」と同じような誤読は、大文字でも起きているようだった。例えば「W」が「v v」と読まれてしまったり。大文字はもともと大きいため、縦に伸ばすわけにはいかない。ここも文字のシャドウを減らすことぐらいでしか対応できない。

あっちを直せば、こっちが変になる。もう終わりなんて来ないんじゃないかと思うぐらいだった。三日間、朝から晩までいじっていた。

・・・とまあ、結局大文字も小文字も、もはや原形が影も形もないぐらい、全部に手を入れているうちに、なんとか、誤読が減ってきた。Windows10 OCRの翻訳がやっとマシになってくる。

「やっとまともな文になってきた!」
この時点では、mはあまりでかくしてないが、ちゃんと読めてた。この時点では、ね・・・。

Avadon1~3のプロローグを、何度も何度もリピートしながら、検証し、修正し、ついに誤読箇所がなくなり、ガッツポーズをした・・・・。

しかし、翌日、もう一度読み直してみると、どういうわけか、前日までちゃんと読めていた同じフォントなのに、「d」を軒並み「a」と読んだり、「g」を全部「s」と読んだりする。「m」もまた「rtl」と読んだりする。またいじる・・・(無限ループ)。

この、再現性のなさというか、タイミングや選択範囲によって、コロコロ読み取り精度が変わるのは、もはやどうもできん。これ以上精度を出すためには、いっそ『SWER』を使って全然別のフォントに入れ替えるべきかもしれない。

通常フォントは、どこを直せばどうなるか、論理的に計算できるから実はラクだった。ブログ書いてる時間のほうがずっと長いぐらい。けど、今回は理屈が通じないし、やるたびに違う結果になるのは、本当にイライラする。

ただ、やり続けているうちに、誤読箇所がたまに出るとしても、簡単に訂正できる程度まで減らすことができたと思う。全然、原典を尊重してないけどね。

というわけで、上の方で例示した部分を、最終的にWindows10 OCRで読んでみた。

最終的にこうなりました。 *5

まあ、あの恐怖の暗号が、なんとか普通に読めるようになった。明日はまた違っちゃうかもしれないと、ビクビクしてるけど。
一応特殊フォントの見た目も、雰囲気だけは残ってるから、勘弁してね。

さて、ほんとは中サイズフォントだけいじるつもりだったのだが、最初のキャラクター作成画面やインストラクション画面の小見出しなどで、小サイズフォントがちょろっと使われているので、えいや!と手を入れてしまった。それについてもすったもんだしたのだが、いちいち書くのも疲れたので省略。大サイズフォントはテキストウィンドウのタイトルなどにちらっと出るだけで、翻訳することもほぼないから、手をつけなかった。

Windows10 OCRで読めるようにする・・・という途中からの目的は一応果たしたが、Tesseract OCRなら、誤読はもっと減るだろう。ただ、これも絶対とはいえない。OCRエンジンを気にせずに、よりストレスなく遊べるようになったということで、ひとつお許しを。

結局、当初の方針を遂行できたのは「たまに読み間違いする文字があっても、気にしない。」だけであった。

〈その他のご注意〉

『Avadon』シリーズの特に『2』には、「テキスト表示部の壁紙問題」があるので、誤読防止のために、データを取り替えられることをお勧めする。詳しくはこちら

yupi1go.hatenablog.com

さて、今のところやらねばならない(別にやらなくてもいい)フォント改造は、一応終了である。といいつつ、「終わる終わる詐欺」は、宇宙戦艦ヤマト世代に染み付いた習性なので、あてにならない。

でも、次にブログ書く時は、違う角度からにしたいなー。

 

w.atwiki.jp

 

-------------

-脚注-

*1:『行間狭すぎ問題』とは:Spiderweb Softwareのゲームは、最近作を除き、「行間狭すぎ問題」が発生することがある。フォント自体はトラディショナルで、OCR読み取りに問題がないのだが、行間が狭すぎるため、何行にも渡る長い英文の場合、前後の行の文字がつながって重なり、誤読されることがまれにあるのだ。具体的には小文字のg,j,p,q,yなどの標準よりかなり下にはみ出している文字と、上に背の高い文字(小文字のb,d,f,h,i,j,k,lや大文字全般、記号!,?など)の一部が重なることがある。それを何らかの大きな一文字と誤読し、おかしなところで行替えが行われて、単語の順がメチャクチャに読み取られてしまう。結果、意味不明な文字化け翻訳文章が現出することがあるのだ。これが起きないように、フォントファイル(PNG画像)をいじって、行間が狭くても、重なりが起きないように改造するのが「誤読防止改造フォント」の骨子である。

*2:steamやGOGのゲームフォルダは結構階層の深いところにある。各自の環境によって異なるが、うちのsteamの場合はI:\Program Files (x86)\Steam\steamapps\commonに各ゲームフォルダあり。GOGだとI:\Program Files (x86)\GOG Galaxy\Games。

*3:Avernumとは通常フォントが共通なのだが、本来Avadonのフォント画像には、前回の図で赤く塗った「ダミー部分」はない。だがダミーなので気にせずそのまんまコピペした。たぶん問題ない。

*4:エスト発生場面で、クエスト内容が特殊フォントで表示されるが、気にせずウインドウを閉じてしまおう。ジャーナルのクエスト欄で、ちゃんと通常フォントで読める。ローディング時のtipsも特殊フォントだけど、どうせ一瞬で消えるので無視。

*5:OCRが読んでいるのに、翻訳が抜けてる部分があるが、これはDeepLがたまにやる、悪いクセであろう。同時起動しているGoogle翻訳や、最近同時実装できるようになったTex Tra Clipboardを参照しながら、補完していきたい。未だ完璧な翻訳とはいかないが、DeepLのこなれた翻訳は、楽しく遊ぶにはやはり欠かせない。