[Android] 日本語フォントをボールドで
この方法では、日本語フォントにボールド(太字)の書式指定があったとしても、ノーマルフォントで表示されてしまいます。
その時点では「太くならない程度なら問題ないでしょ」と思っていたのですが、しばらく使ってみて考えが変わりました。
Web上の文章においては「注意を喚起したい部分を太字にする」という手法を見かけます。著者が気を利かせてくれたのに、現在の環境ではその真意を汲み取れない可能性があるのです。これはいけません。ちゃんと日本語のボールド表示ができるようにしてみましょう。
まずは準備から。なお、使いたいフォントは人によりけりかと思われますので、適時読み替えてくだされ。
前回、日本語フォントを変更した際には、『Migu 1VS』フォントを使用しました。これは非常に気に入っているので、このまま使用するとして他に必要なファイルを追加していきます。
Androidでは『DroidSans-Bold.ttf』にボールドのフォントが収録されています。けれども、このファイルには日本語が収録されていないため、日本語のボールド表現ができない訳です。
となれば話は簡単。日本語のボールドなフォントを含んだファイルを『DroidSans-Bold.ttf』にリネームして使えば良いのです。『Migu 1VS』の場合では、ダウンロードしたファイルの中に『Migu-1VS-bold.ttf』というファイルが同梱されておりますのでこれを使用します。
このファイルには英語フォントも含まれているので置き換えても大丈夫。ただし、システム標準の『DroidSans.ttf』とフォントデザインが異なるため、ノーマルの英字とボールド英字が並んだ場合にその違いが目立ってしまいます。
それなら、この『DroidSans.ttf』も変更してしまいましょう。方法は2つあります。ひとつは、『DroidSansJapanese.ttf』の複製を作り『DroidSans.ttf』にリネームして使う方法。名前は異なるけれども、中身はまったく同じになります。
もうひとつは、『Migu 1VS』で使用されている英字フォントのオリジナル『DejaVu Sans Condensed』を『DroidSans.ttf』にリネームする方法です。
どちらにもメリット/デメリットがあり、前者は使わない日本語フォントでメモリ圧迫する可能性があり、後者はフォントの調整が異なるため日本語フォントとのマッチングがよろしくない可能性があります。少し悩みましたが、今回は、前者の方法を採用しました。
これで、日本語のボールドにも対応したフォント『DroidSans-Bold.ttf』と、これに合わせた英字フォント『DroidSans.ttf』ができました。整理すると以下の表のようになっております。
用途 | ファイル名 | 中身(元ファイル名) |
日本語 | DroidSansJapanese.ttf | migu-1vs-regular.ttf |
日英太字 | DroidSans-Bold.ttf | migu-1vs-bold.ttf |
英字 | DroidSans.ttf | migu-1vs-regular.ttf |
後は、各ファイルをAndoridの「/system/fonts」に入れてあげればOK。具体的な作業の流れは先の投稿をご参照くだされ。
日本語のボールドが表示できるようになり、「これで完璧」と思っておったのですが、世の中そうはうまく行かないもの。少々の不都合がありました。
こちらの画像をご覧くだされ。上が作業前の状態。すなわち『DroidSansJapanese.ttf』のみを変更した場合です。
下が作業後。すなわち『DroidSans-Bold.ttf』および『DroidSans.ttf』も変更した状態のスクリーンショットです。
長いアプリ名のため折り返して表示されておりますが、下のスクリーンショットでは、2行目が正しく表示されておりません。文字が半分ほど隠れてしまっています。
これを解決するには、フォント自体をいじるか、アプリ側の対応を待つしかありません。とは言え、現在見つかっている不都合は、この「マイアプリ」のみなので、気にしなければそれまでなのですが。
何より、当初の予定である「日本語フォントをボールドで」という目的は達成されたので、今のところはこれで満足することにしましょう。
***Edit***
『ICONIA TAB A100』用のリーク版ICSでもフォントを変更(兼ボールド表示)してみました。詳しくはこちらから。
コメント