Chrome で一部の文字が四角形として表示されるのはなぜですか?

Chrome で一部の文字が四角形として表示されるのはなぜですか?

たとえば、開発ツールでは次のようなものが表示されます。

Chrome 開発ツール

これらの四角形のいくつかは行末にありますが、最初は改行だと思ったのですが、そうではないことがわかりました。

=また、改行がない多くの場所やの後にも四角形が表示され、16進エディタでファイルを見ると、 と>の間に文字がまったくないことがわかります(たとえば、は として表示されます)。="id="id=? "

これは Web ページでもたまに表示されます。たとえば、次のようなものがあります。

Google検索結果

その文をコピーして 16 進エディタで確認したところ、eとの間に文字がありませんでした:。ソース コードにも何も表示されません。

これまでにこのような現象は見たことがなく、数日前に Arch を再インストールしてから発生しました。

Chrome は: バージョン19.0.1084.15 dev
Arch は: カーネル3.3.1-1-ARCHx86_64

locale.genではロケールがコメント解除されていますen_GB(UTF-8と の両方ISO-8859-1)。Chrome のエンコードはデフォルトで ですISO-8859-1が、 に切り替えてもUTF-8違いはありません。

これは私が使用していた HTML ファイルです:テスト.html

修正があれば素晴らしいですし、説明があればさらに良いのですが、これが私の設定だけの問題なのか(あるいはそうではないのか)という確認もできれば良いと思います。

編集: フォントを調べたところ、どちらの場合も arial を使用しようとしていたことがわかりました。arial は arch のttf-ms-fontsパッケージの一部です。これをインストールするとフォントは変更されましたが、四角形はそのまま残りました (ただし、形状は異なります)。どちらの場合も、フォントはシステムのデフォルト フォントに準拠していません。

Chrome 開発ツール - Arial 付き

答え1

これで問題は解決しました。dejavu フォントをインストールしてください。

sudo pacman -S ttf-dejavu

答え2

フォント パッケージを盲目的にインストールするのではなく、不足しているフォントを特定するより良い方法があります。

たとえば、不足しているフォントを解決するために次の操作を実行しました。

  1. U+1F44B2 つの不明な Unicode 文字 (コードポイント: 、U+1F3FC)を含むメールを受信しました
  2. ここに貼り付けてください:https://www.fontspace.com/unicode/analyzer#e=8J-Ri_Cfj7w
  3. 結果を確認すると、それらの絵文字/文字を含むフォントが表示されます。
  4. 必要なフォント パッケージのみをインストールしますpacman -S noto-fonts-emoji。私の場合はうまくいきました。
  5. フォントキャッシュを再構築するfc-cache -vf
  6. Chrome/Chromiumを再起動します

あるいは、フォントを探す Google 検索を支援するために、Unicode 名を検索することもできます。

$ echo -e 

答え3

印刷するのが標準ですUnicode置換文字現在のフォントに存在しない文字の代わりに。

修正方法としては、OS(ブラウザがOSの設定を継承している場合)またはブラウザのデフォルトのフォントを変更するだけです。たとえば、Ubuntu 11.10上のFirefox 11.0では「serif」フォント(「serif」の同義語かもしれません)を使用しています。フリーセリフ) は、多くの Unicode 文字をサポートしているようです。

追記:画像は消えてしまったようです。

答え4

私も同じ問題を抱えていました。 このページたとえば、 は特に読みにくく、ページのテキスト全体に四角形が表示されていました。arial*.ttf内のすべてのファイルの/usr/share/fonts/truetype/msttcorefonts名前をバックアップ ファイル名に変更し、Chrome のデフォルトのサンセリフ フォントを Droid Sans に設定することで修正できました。現在は Arial フォントはまったく使用できませんが、少なくともページの見た目は正しくなっています。

関連情報