Windows 7 上の Chrome で特定の Unicode 文字が表示されないのはなぜですか?

Windows 7 上の Chrome で特定の Unicode 文字が表示されないのはなぜですか?

これアップルの質問テキストを含む

この鍵は何ですか?⎋

Google Chrome では次のように見えます:

ここに画像の説明を入力してください

なぜその Unicode 文字やそれに似た文字が Windows 7 上の Google Chrome で表示されないのでしょうか?

答え1

フォントの置換の問題だと思います。

ブラウザで「選択したグリフは指定されたフォントにありません」という問題が発生しています。ここから2つの方向に進むことができます。別のフォントから同等のグリフを取得するか(多くの場合、壊れているように見えますが、明確ではない場合があります)なぜユーザーに表示するか、文字が見つからないプレースホルダーを表示するだけです (常に壊れているように見えますが、少なくとも明らかに壊れています)。

Firefox と Opera は、要求されているグリフが別のフォントから安全に取得できるシンボルであると認識しているのに対し、残りのブラウザは保守的で、「うーん... わかりません」というグリフのみを表示しているのだと思います。

答え2

興味深いですね。Chromeだけの問題ではありません。なぜかと疑問に思うかもしれません。どれでも以下のブラウザは Windows 7 では表示できません。

ここに画像の説明を入力してください

上から下まで:

  • Firefox (y)
  • IE9 (n)
  • クロム (n)
  • オペラ(y)
  • サファリ (名詞)

したがって、Firefox と Opera は Windows 7 でこの Unicode 文字を表示できますが、他のブラウザでは表示できません。

この鍵は何ですか?⎋

答え3

「なぜそのUnicode文字はWindows 7のGoogle Chromeでは表示されないのか?」という疑問は、

その特定の文字は、単に任意の数字である Unicode コードポイントです。「公式」シンボルを持たない Unicode コードポイントは多数あります。シンボルがあっても、フォントにそのコードポイントのシンボルがあるとは限りません。別のフォントを選択すると、別のシンボルになる場合があります。

ページのCSSを見ると、この文字がArial(および他の重要でないフォント)で表示されていることがわかります。WindowsにはArialが付属しているので、常にそのフォントを最初に選択する必要があります。Arialはないその Unicode コードポイントのシンボルがあります。コードポイントのグリフがない場合は、グリフがないことを示す何らかのボックスが表示されます (他の人が示しているように)。

より大きな疑問は、Firefox や他のブラウザが Windows で動作しているときに実際に何をしているのかということです。CSS にリストされている他のフォントを確認しましたが (次の CSS フォントにフォールバックしている可能性があると思いました)、それらにもそのコードポイントのグリフがありません。1 つの可能性は、Firefox が実際に独自のフォントを搭載しているということです。

Firefox を詳しく調べてみると、ここに数学記号用のフォントがいくつかあることに気付きました: 'C:\Program Files (x86)\Mozilla Firefox\res\fonts'。おそらくここから来ているのでしょう。

答え4

に従ってソフトウェア開発者が Unicode と文字セットについて絶対に知っておくべき最低限の知識 (言い訳はなし!) Joel Spolsky 著, 「あなたが表現しようとしているUnicodeコードポイントに相当するものが、あなたが表現しようとしているエンコーディングに存在しない場合、通常は小さな疑問符が表示されます: ? または、本当に上手であれば、

私は Archlinux で Chromium 13.0.782.112 を実行しており、デフォルトのエンコードは en_US.UTF-8 です。元のリンク先のページでは文字は正常に表示されます。

関連情報