スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
質問等はお気軽に掲示板「中華タブレット 教えて!少女隊」へどうぞ
ユーザー同士のコミュニケーションに「MOMO9 N70双撃 SNS」もどうぞ
カテゴリー: スポンサー広告

「CyanogenMod 10」で日本語フォント化、ハングル文字対応を学ぶ

アンドロイド タブレット PC MOMO9 加強版 Android 4.0 AllWinner A10 タブレット 7インチ CPU 1.5GHz ANDROID TABLET 静電式

今回は、日本語フォント化やハングルフォント対応について調査してみました。
調査に利用したのは、「MOMO9 加強版」でファームウェアは「CyanogenMod 10 Tweaks Lite版」ですが、Android全般の話になりますので、別端末の方も読んで頂けたらと思います

日本語フォント化、ハングルフォント対応の調査

日本語フォント化や、ハングルフォント対応とか調べようと、「CyanogenMod 10 Tweaks Lite版」の中を見ていたのですけど、全て答えが中にありました

CyanogenMod 10は、最初から日本語フォント対応

気づいて無かったのですが「CyanogenMod 10」って特に日本語フォント化とか作業しなくても、日本語出てるんですねw
実は色々なファームを更新する度に、日本語フォントの導入とかするのは手間なので最近は放置していました。
だって、ファーム更新した翌日には別のファーム更新とかよくあるんですよw

それで、日本語フォントですけど「CyanogenMod 10」の場合は「MTLmr3m.ttf」がフォントとして入っています。
これって「モトヤフォント」というフリーのフォントです。
Android4.0で採用されたフォントとか書いてるのを見たことあるんですけど、MOMO9の公式ファームには入っていないですよねぇ?

Androidのフォントに関わるファイル

Android端末のフォントに関わるフォルダーやファイルを示します。
システム領域になりますので、こちらの構成をタブレットPCで見るには「ESファイルエクスプローラー」をルート化してご覧下さい。

《》で囲っているのはフォルダーです

  • 《/》
    • 《system》
      • 《etc》
        • fallback_fonts.xml <=== フォント定義ファイル
        • fallback_fonts-ja.xml
          (CM10で準備されている、日本語対応の定義ファイル)
        • fallback_fonts-ko.xml
          (CM10で準備されている、ハングル対応の定義ファイル)
      • 《fonts》
        • DroidSansFallback.ttf <=== Androidデフォルトのフォント
        • MTLmr3m.ttf <=== 日本語フォント(モトヤフォント)
        • NanumGothic.ttf <=== ハングルフォント
        • NanumGothicBold.ttf <=== ハングル太字フォント

    Androidのフォント表示の仕組み

    上記ファイルの「fallback_fonts.xml」がフォント表示の定義ファイルです。
    このファイルの内容が分かれば、自分の好きなフォントを指定することが出来ますよ。

    では、中を確認してみましょう。
    ESファイルエクスプローラー」を利用すれば、定義ファイルの内容も確認出来ます。
    「fallback_fonts.xml」をタップして「ESテキストエディター」を選べば、「fallback_fonts.xml」(テキストファイル)の中が見れますよ。

    全文を載せると長くなりすぎるので定義の部分からです。

    <familyset>
        <family>
            <fileset>
                <file>DroidNaskh-Regular-SystemUI.ttf</file>
            </fileset>
        </family>
        <family>
            <fileset>
                <file>DroidSansEthiopic-Regular.ttf</file>
            </fileset>
        </family>
        <family>
            <fileset>
                <file>DroidSansHebrew-Regular.ttf</file>
                <file>DroidSansHebrew-Bold.ttf</file>
            </fileset>
        </family>

    ~ 中略 ~

        <family>
            <fileset>
                <file>AndroidEmoji.ttf</file>
            </fileset>
        </family>
        <family>
            <fileset>
                <file>DroidSansFallback.ttf</file>
            </fileset>
        </family>
        <family>
            <fileset>
                <file>MTLmr3m.ttf</file>
            </fileset>
        </family>
    </familyset>

    記述ルール

    以下の繰り返しになっています

    <family>
        <fileset>
            <file>フォントファイル名</file>
            <file>太字フォントファイル名</file>
        </fileset>
    </family>

    フォントを探す仕組み

    Androidは、フォントをこの定義ファイルに従って探していきます。
    文字コードに対して、定義ファイルのフォントファイルを上から順に探します。
    見つかった時点のフォントが表示されるので、もし同じコードのフォントが上のファイルにあった場合、下に記述されたファイルのフォントは表示されません。
    優先度の高いフォントファイルは上の方に記述してあげましょう。

    DroidSansFallback.ttf

    全ての文字コードが入っているフォントファイルです。
    このファイルがないと表示出来ないフォントが出てきてしまうので要注意です。
    まだフォントの仕組みがよく分かっていない時に、DroidSansFallback.ttfを日本語フォント(メイリオフォント)をDroidSansFallback.ttfに名前を変えて上書きするという荒業で日本語化を行いました。
    うまく行ってたように見えたのですけど、記号とかが全て□で表示されてました。見つからなかったフォントが□で表示されていたようです。
    知らないということは、怖いですねぇ。

    日本語フォントの場合

    この「CM110」付属の定義ファイルは日本人が利用するにはちょっと問題があるように見えます。(問題なかったのは続きを読めば分かります)
    「MTLmr3m.ttf」の定義が一番下に入っているんです。このため、「DroidSansFallback.ttf」側で日本語と同じコードが先に見つかってしまった場合、違うフォントが表示されてしまいます。

    通常は、「DroidSansFallback.ttf」が一番下に定義されている状態が望ましいです。
    全てのフォントファイルを探して見つからなかった時に、「DroidSansFallback.ttf」のフォントが表示されるのが本来の形です。

    CM10での日本語フォントを表示する仕組み

    日本対応の定義ファイルとして「fallback_fonts-ja.xml」が準備されています。
    このファイルをデフォルトの「fallback_fonts.xml」と比較してみたら、下の部分だけ異なっていました。

        <family>
            <fileset>
                <file>MTLmr3m.ttf</file>
            </fileset>
        </family>
        <family>
            <fileset>
                <file>DroidSansFallback.ttf</file>
            </fileset>
        </family>
    </familyset>

    これは本来の望ましいスタイルです。
    どうやら言語設定で日本語を選んだ場合は、こちらの定義ファイルが参照されているようです。
    便利に作られていますね。
    試しに言語設定を中国にして表示してみたところ「直」の字が中華フォントに変わりました。なるほど~って感じですw

    もう1つの定義ファイル

    もう1つ「fallback_fonts-ko.xml」という定義ファイルが入っています。
    これを「fallback_fonts-ja.xml」と比較してみたところ、さらにフォント定義が追加されていました。

        <family>
            <fileset>
                <file>MTLmr3m.ttf</file>
            </fileset>
        </family>
        <family>
            <fileset>
                <file>NanumGothic.ttf</file>
                <file>NanumGothicBold.ttf</file>
            </fileset>
        </family>
        <family>
            <fileset>
                <file>DroidSansFallback.ttf</file>
            </fileset>
        </family>
    </familyset>

    定義の内容は「NanumGothic.ttf」と「NanumGothicBold.ttf」のハングルフォントの追加です。
    おそらく、こちらも言語設定に連動して切り替わる仕組みになっていると思われます。

    ハングルフォント対応

    以前、ハングルフォントに対応したいという質問を受けましたが、その時は明確な回答が出来ませんでした。
    今回の調査結果、上の定義を「fallback_fonts.xml」に追記、fontsフォルダーの下に「NanumGothic.ttf」と「NanumGothicBold.ttf」を入れて上げれば対応出来ることが分かりました。
    質問してくれた人見てくれないかな。。。w

    応用として

    仕組みを理解していれば、モトヤフォントの代りに好きなフォントを入れ替えるのは難しい話ではないと思います。
    但し、システムにかなり影響する部分で失敗すると本体が起動しなくなるというトラブルをお聞きしますので、ご注意下さい。CWMでシステムのバックアップを取った状態などで行われるとイザというときに戻すことが出来て安心ですよ。

    よく失敗で聞くのが「タヌキフォント」を導入してうまく行かないとか聞こえてきます。
    実際に試してないのでなんとも言えませんけど、要注意かもです。
    あと導入するフォントサイズが大きいと、うまく行かないかもしれないですよ。

    さいごに

    今回は、フォントが表示される仕組みについて書いてみました。
    フリーのフォントファイルがネット上にいっぱいあるので、フォントの入れ替えに挑戦してみるのも楽しいかもしれませんね(^^)v


    関連記事
質問等はお気軽に掲示板「中華タブレット 教えて!少女隊」へどうぞ
ユーザー同士のコミュニケーションに「MOMO9 N70双撃 SNS」もどうぞ
カテゴリー: トピックス | タグ: 中華タブレット ployer momo9 加強版 | コメント: 0 | トラックバック: 0

人気ページランキングTOP10
人気ページランキングは、上部メニューに移しました。

この記事へのコメント

コメントの投稿

非公開コメント


サイト内検索
Twitter
プロフィール

あみ

Author:あみ
興味があるのはAndroid、アニメなどのオタク系少女です。
「MOMO9」を手に入れ、2012年5月より当サイトを作成。
中華タブレットのファームの更新やカスタム化を分かりやすく紹介したいと思います。

注意事項
※当サイトで紹介するカスタムファームでのトラブルはメーカー保証外となります。他、root化、日本語フォント化など、それが原因で生じたいかなる損害についても当サイトは一切の責任を負いません。全て自己責任の上行なって下さい。
最新コメント

openclose

最新トラックバック
RSSリンクの表示
リンク
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。