Windows CE 6 では、AddFontResource() を使用して arialuni.ttf (Arial Unicode MS、バージョン 1.0.1) をシステム フォント リストにロードすると、サポートされているすべての極東言語 (日本語、韓国語、簡体字、および繁体字中国語) が表示されます。フォントを使用してテキストを画面に描画すると、正しく表示されます。
Windows Compact 7 では、同じ手法で極東文字が画面に表示されません。画面に実際の文字が表示される代わりに、空のボックスが表示されます。これは、フォントが必要な文字セットをサポートしていない場合に見られる現象です。
両方のプラットフォームで同じコードと同じフォント ファイルを使用しています。コードをデバッグして、a) AddFontResource() を介してフォントが実際にシステム フォント リストに読み込まれていることを OS が主張している、b) 実際にテキストを描画する前にフォントが画面デバイス コンテキストに読み込まれていることを OS が主張している、および c) 実際の極東文字は、DrawText() に渡したバッファーにあります。これは、CE6 で動作するものとまったく同じです。
奇妙なことに、サポートされている東ヨーロッパ言語 (ロシア語、チェコ語、ブルガリア語) は、arialuni.ttf を読み込むかどうかに関係なく、Windows Compact 7 で正しく表示されます。レジストリによると、デフォルトのシステム フォントは Tahoma ですが、Tahoma が基本的な西ヨーロッパ言語以外をサポートしているとは思いませんでした。CE6未満ではありません。
他のフォントを追加したり使用したりしたくありません。Arialuni.ttf は、私たちがサポートする可能性のあるほぼすべての言語をサポートしており、西ヨーロッパ以外の言語に使用する唯一の言語です。
他のいくつかの True-Type フォントが既にインストールされているため、そのオプション (ラスター フォントではありません) は既に OS ビルドに含まれています。
- この arialuni.ttf は Windows Compact 7 と互換性がありますか?
- この種のフォントの読み込みとテキストの描画を機能させるために極東言語のサポートを追加するために、OS イメージに組み込む必要があるものはありますか?
- 私は Tahoma について間違っていますか?それは現在、東ヨーロッパの言語をサポートしていますか?
- 私は何が欠けていますか?
ありとあらゆるアイデアをありがとう。