6

私のアプリケーションはさまざまな種類の文字セットを正しく処理しますが、内部的にのみ処理します。標準のWinFormsラベルとテキストボックスでテキストを表示する場合、漢字に問題があるようです。

問題は、使用されているフォント(Tahoma)にあるようです。テキストをコピーして貼り付けたり、デバッガーで表示したりすると、正しく表示されるためです。また、使用するフォントとしてMS明朝を設定すると、画面上の文字はOKに見えます。

もちろん、アプリケーション全体でMS明朝を使用したくはありません。表示される文字に応じてフォントを切り替える必要がありますか、それとも私が見逃したより良い方法はありますか?

4

2 に答える 2

4

Windows 2000で導入されたUniScribeは、これを透過的に処理することになっています。つまり、選択したフォントに存在しない文字には、別のフォント(Minchoなど)が自動的に使用されます。これが、デバッガーで使用されるフォントに漢字が含まれていない場合でも、デバッガーで正しく表示される理由です。おそらく、UniScribeを無効にする何かをしている、または他の方法で問題があります。おそらく、コードを貼り付けることができれば、問題を特定するのが簡単になるでしょう。

于 2008-09-25T19:58:15.640 に答える
0

すべてのフォントが、Unicode で表現できるすべてのグリフのデータを持っているわけではありません。必要なサブセットを持つ適切なフォントを見つける必要があります。

編集: 明確にするために、完全な Unicode 範囲をカバーするフォントがありますが、現在使用しているものはそれらの 1 つではありません。

于 2008-09-19T16:44:31.820 に答える