1

このjsfiddleにハート ♥ Unicode 文字 (U+2665 BLACK HEART SUIT) を表示しようとしています。

フォントを指定しても、Droid Sansブラウザによって同じ文字が異なって表示されます。Droid Sansしたがって、フォントには ♥ 文字が含まれておらず、ブラウザはこの文字を表示するために他のフォントにフォールバックする必要があると想定しています。しかし、ブラウザーは Unicode 文字に使用するフォントをどのように決定するのでしょうか。(スクリーンショットから)UbuntuのFirefoxとChromiumの両方で表示が異なるため、オペレーティングシステム固有ではないことが判明しました。また、Firefox は Ubuntu と Windows 7 で表示が異なるため、ブラウザ固有ではありません。

だから私の質問は -ブラウザはどのフォントを使用して Unicode 文字を表示するかを決定する方法です。ブラウザが Unicode 文字を表示するために使用しているフォントを調べるにはどうすればよいですか。また、クロスブラウザーで一貫した外観を確保するにはどうすればよいですか?

PS: (Firefox 固有) Droid Sans♥ の文字は含まれていませんが、Firefox は、選択したフォントが の場合にのみ、スクリーンショットのように表示しますDroid Sans。他のフォントの場合、Firefox はそのDejaVu Sansフォントを選択して ♥ 文字を表示します (Ubuntu では、ヒットと試行によって確認されています)。

ここに画像の説明を入力

4

1 に答える 1

0

Droid Sans フォントには U+2665 BLACK HEART SUIT が含まれていないため、ここでフォントを宣言することはあまり関係ありません。あなたの「PS」の観察を再現することはできないので、説明しようとはしません。

(フォントの文字範囲を簡単に確認する方法は、 LastResortフォントをダウンロードしてインストールすることです。これには、すべての文字の一般的で簡単に認識できるレンダリングが含まれているためfont-family: foo, LastResort、テスト テキストで使用することにより、特定の文字が存在するかどうかをすばやく確認できます。フォント「foo」)

フォールバック フォントの使用はブラウザに依存します。ブラウザには、このための設定がある場合があります。ただし、重要なのは、作成者として、指定したフォントのリストに自分の文字が見つからない場合に、他の人のブラウザーで何が起こるかを知ることができないということです (ユーザーのコンピューターにインストールされている場合)。

于 2012-11-20T17:21:03.957 に答える