RTCを持たないデバイスで日時合わせカーネルからWinSock

圧縮フォント

2008/07/08 koga

日本語フォントを追加したら、OS イメージのサイズが大きくなり過ぎてしまい、ROM に収まらなくなってしまう、という場合があります。このような場合、圧縮されたフォントファイルを使うように設定することで、OS イメージのサイズを小さくできます。

WinCE では、日本語などのアジア言語圏用のフォントに対しては、非圧縮の True Type フォントファイル(拡張子 .ttc)を使うか、圧縮形式のフォントファイル(拡張子 .ac3)を使うかを、カタログ項目の選択で切り替えできます。日本語の場合、対応するカタログ項目は、次のものです:

 コア OS
  CEBASE
   インターナショナル
    ロケール特定サポート
     日本語
      Monotype Imaging AC3 フォント圧縮

このカタログ項目を選択すると、日本語フォントのフォントファイルは、非圧縮の .ttc ではなく、圧縮形式の .ac3 が OS イメージに含められます。これらのフォントファイルは、<WINCE600>/PUBLIC/COMMON/OAK/FILES/ に配置されています。

たとえば、MS Gothic(「MS ゴシック、MS P ゴシックおよび MS UI Gothic」)の場合、非圧縮のフォントファイルが msgothic.ttc、圧縮形式のフォントファイルが msgothic.ac3 です。両者のファイルサイズを比べると、msgothic.ttc は 7.89[MB]、msgothic.ac3 は 4.63[MB] で、3[MB] 以上もサイズが違います。

上記カタログ項目の「Monotype Imaging AC3 フォント圧縮」は、SYSGEN 変数 ‘SYSGEN_AGFA_FONT’ に関連づけられており、この変数が定義されると、’FONTS_AC3_VERSIONS’ という SYSGEN 変数も有効になるようです。<WINCE600>/PUBLIC/COMMON/OAK/FILES/ にある common.bib と common.reg を見ると、FONTS_AC3_VERSIONS が有効かどうかにより、フォントファイルとして .ttc を使うか .ac3 を使うかが切り替わるのが分かります。

「Monotype Imaging AC3 フォント圧縮」(”Monotype Imaging AC3 Font Compression”)についての説明は、MSDN のリファレンスの
 http://msdn.microsoft.com/en-us/library/aa912914.aspx
に説明があります。このカタログ項目は、WinCE 6.0 から名前が変わっています。上のページにも説明がありますし、
 http://msdn.microsoft.com/en-us/library/aa924053.aspx
にも書かれています(”Agfa AC3 Font Compression”)。

ちなみに、.ac3 形式のフォントファイルを展開する処理は、decomdll.dll というフォントドライバプラグインによって実装されているようです:
 http://msdn.microsoft.com/en-us/library/aa913710.aspx
この decompdll.dll および、decomdll.dll で実装されているルーチンの呼び出しを行う部分(※GDI/GWES 内部から呼び出されるようです)は、ビルド済みのバイナリのみ提供されるコンポーネントであるため、ソースを見て詳細を理解することはできません。

Entry Filed under: 付属機能の使い方

1 Comment Add your own

  • 1. tshoji  |  7月 31st, 2008 at 14:04

    大変参考になりました!

Leave a Comment

Required

Required, hidden

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed


Categories

Links

Posts by Authors

Recent Posts

Calendar

2008年7月
    9月 »
 12345
6789101112
13141516171819
20212223242526
2728293031  

Posts by Month

Posts by Category

Meta