テキストがボックスとして表示されるとはどういう意味ですか?

StackOverflow https://stackoverflow.com/questions/217228

  •  03-07-2019
  •  | 
  •  

質問

(たとえば)Windows GDIを使用してプログラムにテキストを表示しようとしていますが、一部のUnicode文字はボックスとして表示されますか?どうした?

参照:テキストが疑問符として表示されるのはどういうことですか?

役に立ちましたか?

解決

通常、これは、指定されたUnicode文字がその特定のフォントで使用できないことを意味します。フォントを多国籍のフォントに変更してみてください。それは消えるはずです。

他のヒント

Windowsには、Unicode文字を表示しようとしたときに発生する一般的な表示の問題が2つあります。

  1. テキストが疑問符として表示されることがある

    • これは、通常システムコードページを介してUnicodeデータが8ビット文字セットエンコーディング(または技術的にはマルチバイト文字)に変換されるときに発生します(ただし、変換呼び出しで他のコードページを指定できます)。ターゲットの8ビット文字セットに必要な文字が含まれていない場合、ターゲット文字セットで表現できない文字は疑問符に変換されます。
  2. テキストがボックスとして表示されることがある

    • これは、特定の文字のglpyhがないフォントの問題です。ドキュメント内のUnicode文字とフォントでサポートされている文字との間に不一致がある場合、ボックスが表示されます。具体的には、ボックスは選択したフォントでサポートされていない文字を表します。

問題は、表示しようとしているテキストに、使用しているフォントでサポートされていない文字が含まれていることです。ボックス文字は、フォントにグリフを持たないUnicodeテキストのデフォルトの置換文字です。

Windowsで、さまざまな言語のテキストを表示する場合は、Arial Unicode MSなどのフォントを使用します。これには、さまざまな言語のグリフが含まれます。これは「最小公分母」です。フォント-グリフは通常そこにありますが、通常は文字がなく、一部のグリフは隣同士で少し奇妙に見えます。

scroll top