攻撃は最大の防御なり

50代おやじの適当なブログです。

[Android] 日本語Fontを入れてみよう

2011-10-03 08:25:10 | Android
今日は日本語Fontを入れてみましょう。

そもそも何で日本語Fontを入れる必要があるのか?って所を話しておきますが、
輸入物の端末や中華パッドとかは日本語Fontが入っていない場合があります。
この状態でも日本語表示は出来るのですが中国繁体字を流用しているので、たまに変な字体が混じります。
これを回避するために入れると言うのがひとつ。
後は単純に表示が気に食わないので、自分が見やすいのに変更する場合ですね。

先ずは入れるFontを用意しましょう。
俺はいつもAndroid gitにある標準日本語Fontを使っています。
Windowsで使っているFontを使う場合は、ファイル名をDroidSansJapanese.ttfに変更して入れます。

adb remount 又は mount -o rw,remount /dev/block/xxx /system

でsystem以下を書き込み可能にします。
そして

adb push DroidSansJapanese.ttf /system/fonts/
adb shell chmod 644 /system/fonts/DroidSansJapanese.ttf
adb reboot

これで終わりです。簡単でしたね。

ここではパーミッションの変更をしていますが、行わなくても不具合が出ることは無いと思います。
ただ、他のファイルと合わせておかないと気持ち悪いので慣例的に行うものですね。
Linuxの場合でシステム上にあるファイルを上書く場合、元のファイルパーミッションが引き継がれますが
Androidは常に新規ファイルと同じ状態にパーミッションが変更されてしまいます。

既に何回か物を突っ込んだ事がある人は、入れたファイルは常に同じパーミッションになっている事に気付くと思いますが
これはumaskの値で決まっています。
shell上で「umask」と入力してみましょう。
これの下3桁が通常使っているパーミッションに当たります。
4桁表記の説明は省きますので興味がある人は調べて見てください。

マスクなので0777からこの値を差し引いたものが、ディフォルトのファイルパーミッションになります。

0000 の場合は 0777 に
0133 の場合は 0644 になります。

Androidのumask値はinitの中で設定されていて、メーカー側が独自設定していない限り0000です。

shell上で「umask 0133」のように入力すると変更できます。
再起動するまで有効です。

最新の画像もっと見る

12 コメント

コメント日が  古い順  |   新しい順
質問です。 (HTC好き(yas))
2011-10-03 10:14:08
アレックス様

HTC好きのyasです。
いつも稚拙な質問ばかりで申し訳ありません。
入れ換えたいフオントはどこに置けば宜しいでしょうか?

Sdcard直下でしょうか?それとも母艦のwindowsのCドライブ直下でしょうか?

OTAをあてる場合はこのフォントも元に戻しておいてから、
あてるべきでしょうか?
宜しくお願い致します。
返信する
Unknown (アレ)
2011-10-03 18:31:55
この記事の内容だとPC上、コマンドプロンプトのカレントディレクトリになります。
どこに置いても構いませんがCドライブ直下に置いた場合は

cd c:\

の後にpushして下さい。

また、OTAを当てる場合に問題となるのは既存ファイルを上書きした場合です。
日本語Fontは元々入っていませんから何ら問題はありません。
返信する
お助け下さい (nisaydii)
2011-10-04 00:42:20
アレックス様今晩は、以前Sensationについて何度かお尋ねした者です。今日はSensationについてではなくPCの不具合について教えていただけないでしょうか。(ググって見ましたがどうもよくわからないもので・・・)

※一方的なお願いですので無視して頂いても結構です。(本当にすみません)以下に状況を記載します
OSはWindows7
症状
デュアルディスプレーのメイン画面が真っ白な状態

原因と思われる操作
Google Chrameを使ってあるサイトに(変なサイトではないです)ログインするとき重かったので重複してログインボタンを押したところ上記のようになった。

それ以後の操作
強制終了しモニターケーブルの抜き差し及び有線LANの抜き差しし、モニター2面電源を入れた後PC立ち上げ → メイン画面は真っ白のまま、サブ画面は通常な状態。
再度、強制終了しメイン画面の電源は入れずにサブ画面のみ電源を入れPC立ち上げ → サブ画面にセーフモードの画面が表示されたので「システムの復元」を実施 → 改善されず → Google Chrameを削除も改善されず現在に至る
ディスプレイの設定を見るとサブ画面のみ認識されているようであります。

このような状態なのです。改善策ありましたらお教えいただけないでしょうか。よろしくお願いします
返信する
Unknown (アレ)
2011-10-04 10:30:04
デバイス構成が分からないので一般的な事しかお答え出来ませんが
疑われるのは

・グラフィックボードの故障
・モニタの故障
・接続ケーブルの不良

位ですかね。
まずは可能な限り機器の入れ換えをしてみて、
ハード的な問題かソフト的な問題か切り分けるといいと思います。
返信する
Unknown (vf)
2011-10-04 22:03:53
以前日本語フォントを入れたのですが、ブラウザを拡大/縮小したときのHTC senseの自動改行機能が働かなくなってしまい、それ以来元の中華フォントで運用を続けています。
これは何か日本語フォントを入れる手順がおかしい等のミスがあったり、ローカライズがされていないグローバル機のHTC senseに起因する問題だったりするんでしょうか。
返信する
ありがとうございました (nisay)
2011-10-05 00:19:03
ご親切にありがとうございました。(ペコリ)

モニターが壊れたようです。今のところPCの方は大丈夫そうで助かりました。 
このところ電化製品がよく壊れます・・・。

Sensationいじるのが怖いです・・・!?

感謝
返信する
Unknown (アレ)
2011-10-05 10:33:02
>> vfさん

私はSenseを使わない人なので、折り返しが出来ない状況がちょっと分かりませんが
豆腐状態にはなって無いようなので入れ方は問題無いと思います。
恐らく使おうとしているFontが合わないんじゃないかと思いますが。

>> nisayさん

原因が分かったのは良かったですが、故障は嬉しくないですね。
故障が多いのは同感です。うちもDesireが壊れました。
返信する
Unknown (セラードア)
2011-12-30 11:56:26
はじめまして。
最近Galaxy Tab 7.0 Plus(Android 3.2)を海外で買ったんですが、日本語環境で一部文字化けが発生するので、このエントリーを参考にさせていただき、フォントを入れて変えてみようと思いました。Win7 32bit環境です。なお、root化の作業もしていません。

プログラミングに関する知識がほとんどないので、いきなり躓いてしまったんですが、

adb remount 又は mount -o rw,remount /dev/block/xxx /system

の段階で、

Operation not permitted(前者)とか、
"mount"は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません(後者)
の表示がされます。
ここから進むための方法はあるのでしょうか。

adb shellで$になっているので、suと入力してみても、
su: not found
となります。

他のエントリーで当該事項に関する記述がなされていたらごめんなさい。
返信する
Unknown (セラードア)
2011-12-30 11:59:55
補足で申し訳ありません。

adb devicesと入力すると、
* daemon not running. starting it now *
* daemon started successfully *
が表示されずに、List of device→デバイス名となっています。
返信する
Unknown (アレ)
2011-12-30 12:59:20
申し訳ないですが、この作業はrooted端末じゃないと行えません。
root取得の方法は機種毎に異なるので、他のGylaxy Tabに詳しいサイトを参考にして下さい。
adbの「deamon~」は出力されなくても問題ありません。
返信する

コメントを投稿