2009-11-18 05:25:06
カテゴリタグ:
携帯電話
「Fontrouter LTでフォントを置き換える(ノキアS60)」の続編。
最近、いつも言ってますが、リスクが伴う作業なので、自己責任でお願いします。
脅しではなく、実際、多少の問題が発生します。(笑)
いつもの通り「5730 XpressMusic」での例ですが、勿論、他のモデルにも応用できる内容です。
今回は、具体的にフリーフォントを使って例を上げながら、「Fontrouter LT」の設定について解説します。
まず、前提として
・出荷時に本体にインストールされているフォントのファイル名を知らない。
・出荷時に本体にインストールされているフォント名を知らない。
としておきます。
これらが分かれば、より高度な設定が可能なのですが、これらを把握するには別にツールが必要になります。
ここでは、次にステップの宿題にしておきましょう。
1.設定ファイル「FontRouter.ini」
「Fontrouter LT」を外部メモリ(E)にインストールすると、外部メモリ(E)の「\Data\Fonts\」フォルダの中に「FontRouter.ini」と言うファイルができます。
これが設定ファイルです。
USBケーブルでPCと繋ぎ、「Nokia PC Suite」または「Mass Storage」として接続しても良いですし、メモリーカードを抜いてカードリーダーで読んでも構いません。
ともかく、PC上でこのファイルを「メモ帳」などのエディタで開いてみてください。
弄る前に「FontRouter.ini」のコピー作成しておくと、編集に失敗したときに便利ですね。
色々、書かれていますが、殆どがコメントです。
まず、ON、OFF制御。
の行を
に変えると「Fontrouter LT」が無効になります。
続いて、ログレベルの制御。
本体メモリ(Phome memory)上に「\Logs\FontRouter」というフォルダを作る必要がありますが、フォルダ作成は、標準のファイルマネージャーでOKです。
もっとも作らなくても大きな問題はないように思いますが、作っておいたほうが安心。
と変更するとログを取らなくなるようです。
フォントのギザギザ感を軽減するアンチエイリアシングの設定もあります。
デフォルトの設定「4」では、強制的にアンチエイリアシングが掛かります。
アンチエイリアシングは、後述する「FontMap」でも指定できますので、ここで指定する必要はありません。
デフォルトでは、コメントアウトされていますが、読み込まないフォントの指定もできます。
ここを
とすれば、「S60SC.ccc」と「S60TCHK.ccc」と言うフォントは読み込みません。
置き換えてしまえば、不要な標準のフォントも出来るので、ここで指定すれば良いのですが、「標準のフォント名が分からない。」と言う前提で話を進めているので、今回は、パスします。
結構、重宝するのが、フォントの大きさを制御する「Global zoom」の設定。
例えば、
とすると90%に縮小されます。
文字が大きすぎる時に便利です。
後述する「FontMap」でも指定できますので、ここでZoomを指定する必要はありません。
注意事項として「ZoomRatio=100」以外を指定すると「Nokia 5730 XpressMusic」では「N-Gage Ver.1.40(1557)」を起動しても直ぐに落ちると言う不具合が発生します。
他のモデルでも要注意ですよ。
続く、
は、フォントの透明度の設定。
値は%で、値を小さくするほど、フォントが透けて見え難くなります。
使う場合は、適度に。
これも、後述する「FontMap」でも指定できますので・・・。
用意した置き換えフォントの指定は
でされてます。
デフォルトでは、「\Data\Fonts\」フォルダ以下のフォントファイルを全て読み込む設定になっています。
1つだけフォントファイルを置く場合はこれでOKですが、複数のファイルを置く場合は、必要なものを
や
と言った具合に指定すると良いでしょう。
さて、最後が「Fontrouter LT」のキモである「FontMap」。
[FontMap]以下の記述は、すべて「FontMap」に関する設定です。
「S60」に関係する設定だけ集めると
となっています。
書式は
「A」=「B」
Aと言うフォントがシステムやアプリから呼び出された時は、Bというフォントで置き換えると言う意味になります。
つまり、「FontMap」で置き換えルールを決定しています。
ただし「フォント名」が分からないと指定できません。
しかし、標準の設定でも問題なく、
と言うルールでちゃんと置き換わります。
意味は、どんなフォントの呼び出しに対しても、あらゆるフォントを参照して置き換える。
つまり、システムやアプリがどんなフォントを呼び出したとしても、全てのフォントの中で最も優先度の高いフォントで置き換えます。
この場合、優先度が最も高いのが「E:\Data\Fonts\」以下のフォント。
「E:\Data\Fonts\」にフォントファイルを置いたので問題ないですね。
例外として、
の指定があるので、「Series 60 ZDigi」と言うフォントが呼ばれた場合は、そのまま「Series 60 ZDigi」が使われます。
この「=」で終わっている書式は、「Fontrouter LT」の制御下に置かないフォントの指定で、「Series 60 ZDigi」は、「Fontrouter LT」の置き換え制御から外れ、システムやアプリから呼ばれれば、そのまま「Series 60 ZDigi」が使われます。
機能上は、
と変わらないように思うかもしれませんが、この場合は「Fontrouter LT」の制御下に置いた上で、「Series 60 ZDigi」を「Series 60 ZDigi」で置き換えます。
「Series 60 ZDigi」は、1~9までの半角数字、A~Fまでの半角アルファベットの大文字のみ、一部記号を含むフォントで「Calculator」などで使われてますね。
デフォルト値は、こんな不思議なフォントの扱いは、システム任せたほうが良いと言う配慮でしょう。
それから、
は、システムやアプリが明示的にフォントを指定して呼び出さなかった場合の設定でしょう。
つまり、「フォントは何でも良いから文字を表示して」みたいなリクエストに対するルールです。
この場合も、すべてのフォントを参照した上で、最も優先度の高いフォントで置き換わるように指定されていますね。
より高度な置き換えを行うためには、「@」でのフォントサイズの指定や「Y」や「Z」と言った便利なパラメーターの使い方もマスターする必要がありますが、こちらは具体例を上げながら説明します。
では、フリーフォントを使って具体的に説明しましょう。
2.フリーフォントを使った具体例
①IPAフォント
IPAフォントは、オープンソースのフリーフォントです。
拡張子が「otf」になっていますが、「ttf」に変更すれば使えました。
「IPAゴシック(ipag.otf)」を使用。

フォントの高さ(縦位置)がズレるので「Y」と言うパラメーターで補正。
大きさも95%に縮小してみました。

・FontRouter.iniの変更点
を
に変更。
パラメーター「Y」は、便利ですので、マスターしておきましょう。
ちなみに、このように「Z」を100以外の数値で指定した場合も、「N-Gage」が起動直後に落ちる問題が発生しました。
②M+フォント(OUTLINE)
M+フォントもオープンソースのフリーフォントですが、開発中のため不具合もあります。
表示できない文字があるのが難点。
「M+1P(mplus-1p-regular.ttf)」を使用。

大きさを90%に縮小してみました。

・FontRouter.iniの変更点
を
に変更。
③M+とIPAの合成フォント
M+フォントのIPAフォントの派生フリーフォントで「M+ と IPAフォントの合成フォント」で公開されています。
「M+1P+IPAG(M+1P+IPAG.ttf)」を使用。

90%に縮小。

・FontRouter.iniの変更点
を
に変更。
④梅フォント
梅フォントは、オープンソースのフリーフォントです。
完成度が高く、このフォントを利用している製品もあります。
しかし、何も設定しない状態だとズレが激しいです。

ズレ方が場所によって違うようにも見えます。

一箇所を基準に「Y」で高さを補正すると

見事にアイコン下のタイトルがが消えた。

全体的に微妙に変でしょう?
仕方ないので、表示場所によってフォントサイズが違うことを利用して補正してみます。
・FontRouter.iniの変更点
を
に変更。
やってる事わかりますか?
フォントサイズ16で呼ばれたときだけ、例外的な設定でフォントを置き換えています。
その他は、高さを-10に補正し、90%縮小。
そうすると、

随分と良くなりました。

色々なフリーフォントで設定を行いましたが如何でしたか?
例では、ゴシック系のフォントを使ってみましたが、文字の横幅が長すぎると感じる場合は、UIゴシック系のフォントを使うと良いと思います。
しかし、私は、満足できません。
どのフォントも素晴らしいとは思いますが、残念ながら簡体中国語の文字が表示できません。
日本語フォントですから当たり前ですが。
そうなんです。
贅沢ですが、どうしても日本語も簡体中国語も美しく表示したい。
と言うことで挑戦は続きます。
【関連記事】
・Fontrouter LTでフォントを置き換える(ノキアS60) 2009/11/16
・ノキア製携帯電話(S40、S60)の日本語化とは 2009/11/13
・アプリケーションのインストール(ノキア S40、S60) 2009/11/08
・活用してますか?ノキア携帯電話の便利な操作方法 2009/11/05
・地図アプリ「Maps」を活用する その2(ノキア S60、S40) 2009/11/04
・地図アプリ「Maps」を活用する その1(ノキア S60、S40) 2009/11/03
・データ通信と無線LANの設定 その3(ノキア) 2009/10/30
・データ通信と無線LANの設定 その2(ノキア) 2009/10/27
・データ通信と無線LANの設定 その1(ノキア) 2009/10/25
・ファームウェアの更新(ノキア) 2009/10/20
・本体メモリのバックアップとNokia PC Suite(ノキア) 2009/10/10
・Nokia 5730 XpressMusic 2009/10/2
気に入ったら下のバナーのクリックをお願いします。
最近、いつも言ってますが、リスクが伴う作業なので、自己責任でお願いします。
脅しではなく、実際、多少の問題が発生します。(笑)
いつもの通り「5730 XpressMusic」での例ですが、勿論、他のモデルにも応用できる内容です。
今回は、具体的にフリーフォントを使って例を上げながら、「Fontrouter LT」の設定について解説します。
まず、前提として
・出荷時に本体にインストールされているフォントのファイル名を知らない。
・出荷時に本体にインストールされているフォント名を知らない。
としておきます。
これらが分かれば、より高度な設定が可能なのですが、これらを把握するには別にツールが必要になります。
ここでは、次にステップの宿題にしておきましょう。
1.設定ファイル「FontRouter.ini」
「Fontrouter LT」を外部メモリ(E)にインストールすると、外部メモリ(E)の「\Data\Fonts\」フォルダの中に「FontRouter.ini」と言うファイルができます。
これが設定ファイルです。
USBケーブルでPCと繋ぎ、「Nokia PC Suite」または「Mass Storage」として接続しても良いですし、メモリーカードを抜いてカードリーダーで読んでも構いません。
ともかく、PC上でこのファイルを「メモ帳」などのエディタで開いてみてください。
弄る前に「FontRouter.ini」のコピー作成しておくと、編集に失敗したときに便利ですね。
色々、書かれていますが、殆どがコメントです。
まず、ON、OFF制御。
Enable=1
の行を
Enable=0
に変えると「Fontrouter LT」が無効になります。
続いて、ログレベルの制御。
LogLevel=4
本体メモリ(Phome memory)上に「\Logs\FontRouter」というフォルダを作る必要がありますが、フォルダ作成は、標準のファイルマネージャーでOKです。
もっとも作らなくても大きな問題はないように思いますが、作っておいたほうが安心。
LogLevel=0
と変更するとログを取らなくなるようです。
フォントのギザギザ感を軽減するアンチエイリアシングの設定もあります。
ForceAntiAliased=4
デフォルトの設定「4」では、強制的にアンチエイリアシングが掛かります。
アンチエイリアシングは、後述する「FontMap」でも指定できますので、ここで指定する必要はありません。
デフォルトでは、コメントアウトされていますが、読み込まないフォントの指定もできます。
;DisableFontFile=Z:\Resource\Fonts\S60SC.ccc
;DisableFontFile=S60TCHK.ccc
ここを
DisableFontFile=Z:\Resource\Fonts\S60SC.ccc
DisableFontFile=Z:\Resource\Fonts\S60TCHK.ccc
とすれば、「S60SC.ccc」と「S60TCHK.ccc」と言うフォントは読み込みません。
置き換えてしまえば、不要な標準のフォントも出来るので、ここで指定すれば良いのですが、「標準のフォント名が分からない。」と言う前提で話を進めているので、今回は、パスします。
結構、重宝するのが、フォントの大きさを制御する「Global zoom」の設定。
ZoomRatio=100
ZoomMinSize=0
ZoomMaxSize=48
例えば、
ZoomRatio=90
とすると90%に縮小されます。
文字が大きすぎる時に便利です。
後述する「FontMap」でも指定できますので、ここでZoomを指定する必要はありません。
注意事項として「ZoomRatio=100」以外を指定すると「Nokia 5730 XpressMusic」では「N-Gage Ver.1.40(1557)」を起動しても直ぐに落ちると言う不具合が発生します。
他のモデルでも要注意ですよ。
続く、
Chroma=100
は、フォントの透明度の設定。
値は%で、値を小さくするほど、フォントが透けて見え難くなります。
使う場合は、適度に。
これも、後述する「FontMap」でも指定できますので・・・。
用意した置き換えフォントの指定は
ExtraFontFile=\Data\Fonts\*.*
でされてます。
デフォルトでは、「\Data\Fonts\」フォルダ以下のフォントファイルを全て読み込む設定になっています。
1つだけフォントファイルを置く場合はこれでOKですが、複数のファイルを置く場合は、必要なものを
ExtraFontFile=\Data\Fonts\Font.ttf
や
ExtraFontFile=E:\Data\Fonts\Font.ttf
と言った具合に指定すると良いでしょう。
さて、最後が「Fontrouter LT」のキモである「FontMap」。
[FontMap]以下の記述は、すべて「FontMap」に関する設定です。
「S60」に関係する設定だけ集めると
*=*
=*
Series 60 ZDigi=
となっています。
書式は
「A」=「B」
Aと言うフォントがシステムやアプリから呼び出された時は、Bというフォントで置き換えると言う意味になります。
つまり、「FontMap」で置き換えルールを決定しています。
ただし「フォント名」が分からないと指定できません。
しかし、標準の設定でも問題なく、
*=*
と言うルールでちゃんと置き換わります。
意味は、どんなフォントの呼び出しに対しても、あらゆるフォントを参照して置き換える。
つまり、システムやアプリがどんなフォントを呼び出したとしても、全てのフォントの中で最も優先度の高いフォントで置き換えます。
この場合、優先度が最も高いのが「E:\Data\Fonts\」以下のフォント。
「E:\Data\Fonts\」にフォントファイルを置いたので問題ないですね。
例外として、
Series 60 ZDigi=
の指定があるので、「Series 60 ZDigi」と言うフォントが呼ばれた場合は、そのまま「Series 60 ZDigi」が使われます。
この「=」で終わっている書式は、「Fontrouter LT」の制御下に置かないフォントの指定で、「Series 60 ZDigi」は、「Fontrouter LT」の置き換え制御から外れ、システムやアプリから呼ばれれば、そのまま「Series 60 ZDigi」が使われます。
機能上は、
Series 60 ZDigi=Series 60 ZDigi
と変わらないように思うかもしれませんが、この場合は「Fontrouter LT」の制御下に置いた上で、「Series 60 ZDigi」を「Series 60 ZDigi」で置き換えます。
「Series 60 ZDigi」は、1~9までの半角数字、A~Fまでの半角アルファベットの大文字のみ、一部記号を含むフォントで「Calculator」などで使われてますね。
デフォルト値は、こんな不思議なフォントの扱いは、システム任せたほうが良いと言う配慮でしょう。
それから、
=*
は、システムやアプリが明示的にフォントを指定して呼び出さなかった場合の設定でしょう。
つまり、「フォントは何でも良いから文字を表示して」みたいなリクエストに対するルールです。
この場合も、すべてのフォントを参照した上で、最も優先度の高いフォントで置き換わるように指定されていますね。
より高度な置き換えを行うためには、「@」でのフォントサイズの指定や「Y」や「Z」と言った便利なパラメーターの使い方もマスターする必要がありますが、こちらは具体例を上げながら説明します。
では、フリーフォントを使って具体的に説明しましょう。
2.フリーフォントを使った具体例
①IPAフォント
IPAフォントは、オープンソースのフリーフォントです。
拡張子が「otf」になっていますが、「ttf」に変更すれば使えました。
「IPAゴシック(ipag.otf)」を使用。

フォントの高さ(縦位置)がズレるので「Y」と言うパラメーターで補正。
大きさも95%に縮小してみました。

・FontRouter.iniの変更点
*=*
を
*=*:Y5Z95
に変更。
パラメーター「Y」は、便利ですので、マスターしておきましょう。
ちなみに、このように「Z」を100以外の数値で指定した場合も、「N-Gage」が起動直後に落ちる問題が発生しました。
②M+フォント(OUTLINE)
M+フォントもオープンソースのフリーフォントですが、開発中のため不具合もあります。
表示できない文字があるのが難点。
「M+1P(mplus-1p-regular.ttf)」を使用。

大きさを90%に縮小してみました。

・FontRouter.iniの変更点
*=*
を
*=*:Z90
に変更。
③M+とIPAの合成フォント
M+フォントのIPAフォントの派生フリーフォントで「M+ と IPAフォントの合成フォント」で公開されています。
「M+1P+IPAG(M+1P+IPAG.ttf)」を使用。

90%に縮小。

・FontRouter.iniの変更点
*=*
を
*=*:Z90
に変更。
④梅フォント
梅フォントは、オープンソースのフリーフォントです。
完成度が高く、このフォントを利用している製品もあります。
しかし、何も設定しない状態だとズレが激しいです。

ズレ方が場所によって違うようにも見えます。

一箇所を基準に「Y」で高さを補正すると

見事にアイコン下のタイトルがが消えた。

全体的に微妙に変でしょう?
仕方ないので、表示場所によってフォントサイズが違うことを利用して補正してみます。
・FontRouter.iniの変更点
*=*
を
*@16=*@16:Y4Z90
*=*:Y-10Z90
に変更。
やってる事わかりますか?
フォントサイズ16で呼ばれたときだけ、例外的な設定でフォントを置き換えています。
その他は、高さを-10に補正し、90%縮小。
そうすると、

随分と良くなりました。

色々なフリーフォントで設定を行いましたが如何でしたか?
例では、ゴシック系のフォントを使ってみましたが、文字の横幅が長すぎると感じる場合は、UIゴシック系のフォントを使うと良いと思います。
しかし、私は、満足できません。
どのフォントも素晴らしいとは思いますが、残念ながら簡体中国語の文字が表示できません。
日本語フォントですから当たり前ですが。
そうなんです。
贅沢ですが、どうしても日本語も簡体中国語も美しく表示したい。
と言うことで挑戦は続きます。
【関連記事】
・Fontrouter LTでフォントを置き換える(ノキアS60) 2009/11/16
・ノキア製携帯電話(S40、S60)の日本語化とは 2009/11/13
・アプリケーションのインストール(ノキア S40、S60) 2009/11/08
・活用してますか?ノキア携帯電話の便利な操作方法 2009/11/05
・地図アプリ「Maps」を活用する その2(ノキア S60、S40) 2009/11/04
・地図アプリ「Maps」を活用する その1(ノキア S60、S40) 2009/11/03
・データ通信と無線LANの設定 その3(ノキア) 2009/10/30
・データ通信と無線LANの設定 その2(ノキア) 2009/10/27
・データ通信と無線LANの設定 その1(ノキア) 2009/10/25
・ファームウェアの更新(ノキア) 2009/10/20
・本体メモリのバックアップとNokia PC Suite(ノキア) 2009/10/10
・Nokia 5730 XpressMusic 2009/10/2
気に入ったら下のバナーのクリックをお願いします。