開発者ブログ:新日本語フォントについて

musedfusedによる

みなさん、こんにちは。

新しい日本語フォントがパッチ7.4で反映されました。

今回は日本語環境で発生した独自の問題について日本オフィスでどのような取り組みが行われていたかをお話しします。

「フォント」とは?

話を進める前に「フォント」について簡単にご説明したいと思います。

フォントとは文字のデザインが含まれる書体のデータのことです。フォントに含まれる文字数は、欧米で使用される文字や数字とシンボル(カッコや@、#、% といった記号文字)のみが含まれるいわゆる欧文フォントでは1,000文字弱、日本語フォントではひらがな、カタカナに加え、漢字が含まれるため8,000文字から14,000文字程度となります。

ゲーム内にはそのゲーム用に独自のフォントが組み込まれています。普段みなさんがパソコンを使用する際に見かけない形の文字がゲーム内で表示されるのはこのためです。ゲーム内のフォントをプレイヤーが変更することはできません。これはサモナーズリフトのマップを書き換えたりチャンピオンの顔を自分好みに整形したりできないのと同じです。

旧フォントの問題

リーグ・オブ・レジェンド日本語版で使用されている日本語フォントについては、ローンチした当時からみなさんから多数フィードバックをいただいていました。特にご指摘があったのは、チャンピオンがレベル10以上になったとき、観戦モードで十の位しか表示されないという問題でした。

この問題は社内でも深刻に受け止められていました。

リーグ・オブ・レジェンドのUIデザインは、数種類のフォントが使用されている北米版をベースに調整されています。対する日本語版では、英数字が北米版より幅が広いデザインの日本語フォントを使用しており、また日本語の文字については固定幅のフォントを使用していました。この日本語フォントは読みやすさに貢献はしていましたが、多用なUIデザインには対応しきれず、文字切れを起こす原因となっていました。

問題を解決するために北米版と同様に、数種類の日本語フォントを組み込む試みを行いましたが、日本語フォントの英数字が、欧文フォントよりも横方向、縦方向に大きくデザインされているものが多く、スコアやヘルスなどの点で文字切れが完全に解消されないことが分かり、別の方法を考えなくてはなりませんでした。

合成フォント

北米版で使用されている欧文フォントを日本語版でそのまま使うことができれば、少なくとも英数字とシンボルが使用されている箇所では文字切れの問題は解決するはずです。しかし欧文フォントには日本語で使われるひらがな、カタカナ、漢字といった文字は含まれていないため、日本語版でそのまま使用することはできません。

検討の末、欧文フォントにひらがななどの必要な文字を移植して、特別な日本語フォントを作ることとしました。

このようにして作られた日本語フォントは、英数字やシンボルに関しては北米版と完全に同じ位置、同じ形状で表示させることができるようになります。このようなフォントを、ここでは便宜上「合成フォント」と呼ぶことにします。

使用するフォントの数とメモリ使用量

合成フォントを作り上げたことにより、必要なだけのフォントを使用することが “理論上は” 可能になりました。しかし実際は、メモリの使用量の観点から見ても、実現は簡単なことではありませんでした。一番はじめに書きましたが、欧文フォントは1,000弱、それに比べて日本語フォントは少なくとも8,000ほどと8倍以上の文字が使用されています。たとえばゲーム内で使うフォントを1つの種類に限定したとしても、使用メモリが段違いだということはお分かりいただけますね?

そういった「日本語ならでは」な事情もあって、日本語版でメモリの使用量を抑えるために、使用するフォントの数を絞る必要がありました。

どのフォントがどこで使われているか

フォントの数を絞るには、まずどのフォントがどこで使われているか正確に把握する必要があります。

そこで、開発環境の中にある欧文フォントファイルを加工し、それぞれ特定の文字しか表示できないようにして、北米版でテキストの表示エリアを確認していきました。

この際の開発環境の画面は次のようになります。

調査を開始した当時は旧クライアントも対象に入れていました。旧クライアント、アップデートクライアント、さらにゲーム内と、それぞれ異なるテクノロジーが使用されているため、開発環境もそれぞれ別個に構築することとなります。それぞれのクライアントで固有のフォントが使用されているため、全てを総合的に見て判断する必要がありました。

このような調査を経て、北米版で使用されているフォントすべてを日本語版で使用しなくても、アップデートクライアント、ゲーム内の全てのエリアを網羅することができることが確認できました。これによりメモリ使用量の制限もクリアできることとなりました。

日本語フォントの決定

前段の調査によって、日本語版で使用する欧文フォントが決まりました。次に行った作業は日本語フォントの選定です。ライセンス的にリーグ・オブ・レジェンドで使用できる100種類以上の日本語フォントの中から絞り込み、欧文フォントと実際に合成し、開発環境に組み込んで確認し、ゲームとの親和性、視認性や文字切れのリスク等を見積もり、さらに絞り込んでいくという作業を続けました。

最終的に合成に使用される日本語フォントの決定に至るまでには、日本オフィス内で長い議論を要しました。技術的な観点での議論はもちろん、リーグ・オブ・レジェンドが持つイメージや、ファンタジーをベースにした世界観、PvPを主軸とするゲーム性といった様々な視点から議論がなされた結果、現在使用しているフォントに決定しました。

最終調整

欧文フォントと合成させる日本語フォントが決まったら、最後にサイズと縦方向の位置(ベースライン)と比率を確定させることとなります。

日本語フォントの文字が大きすぎれば見切れてしまいますし、小さくしすぎれば読みづらい、英数字とのバランスが悪い、といった問題が出てしまいます。元々ある欧文フォントの高さにあわせて日本語のサイズや比率を調整することにより、すべての文字が違和感なく表示されるようになります。ここでもまたさらに細かな調整をしては開発環境で確認するという作業が繰り返されました。

リリース

以上のような試行錯誤を経て日本語フォントが完成しました。

文字切れなど、これまでの問題は一掃されています。また、リーグ・オブ・レジェンドのオリジナルのデザイン思想を持ち込むことができたと思います。

一方で、場所によっては文字サイズが以前に比べて小さくなり、可読性が下がってしまった部分もあります。この点については今後レイアウトを調整して解決していく予定です。

最後に

時間がかかってしまいましたが、パッチ7.4で新しい日本語フォントをみなさんにお届けすることができました。

しかし、これで終わりではありません。

フォントに関しては今後も引き続きより良いものになるよう対応していきますので、みなさんからのフィードバックをお待ちしております。


2 months ago