Fontconfig警告: '/etc/fonts/fonts.conf'、行100:不明な '要素スペース'

Fontconfig警告: '/etc/fonts/fonts.conf'、行100:不明な '要素スペース'

私のvpsサーバーで次のエラーが発生します。

fontconfig warning: "/etc/fonts/fonts.conf", line 100: unknown element "blank"

ファイルは次のようになります。

https://pastebin.com/VqcSgJ9x

どうすれば修正できますか?

答え1

長い話を短く:この警告は無視してください。

少し大胆であると感じたら、ファイルから<blank>...</blank>そのセクションを削除してみることができます/etc/fonts/fonts.conf(またはそれほど無謀であると感じない場合は、最初にバックアップを作成してみてください)。これを行うと警告が消えます。ただし、ファイルの上部に怖いメッセージが表示されている可能性があります。DO NOT EDIT THIS FILE. IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED. LOCAL CHANGES BELONG IN 'local.conf'.したがって、これは正しい解決策ではないかもしれません。 (私がなぜこれをしたのか疑問に思った場合:私はそれを見ることができずlocal.conf、怠惰な残りの素晴らしいマニュアルを読むことができず、私のハッキングがオーバーライドされるのがバグよりも機能に近いと思った。やるからですね。

さて、今バックアップしてみましょう。これは(驚くべきことではない)以下に関連しています。fontconfig要素の<blank>使い方は次のとおりです。フォント構成文書〜のように

<blank> フォントにはエンコードには表示されますが、画面には空白で表示される「壊れた」文字の外観が含まれていることがよくあります。要素内にスペースでなければならない各Unicode文字を要素に配置します。このセットの外側にスペースで描かれた文字は、フォントでサポートされている文字セットから削除されます。

ドキュメントでは、これらのオプションの定義に問題がないことを示します。しかもDTDで指定。ただし、次の関連するFontconfig APIが見つかった可能性があります。FcBlanks(強調):

FcBlanksオブジェクトは、描画時に空になると予想されるUnicode文字のリストを保持します。新しいフォントをスキャンすると、空でリストにないすべてのグリフは破損していると見なされ、フォントに関連付けられているFcCharSetには配置されません。これはアプリケーションにより正確な文字セットを提供します。

FcBlankは廃止され、新しく作成されたコードには使用しないでください。以前のコードとの互換性のために、一部の機能ではまだ許可されていますが、今後削除される予定です。

これは、互換性のために設定ファイルで許可されていますが、使用されなくなったことを意味します。

追加情報がないため、どの状況でこの警告が表示されるのかわかりません。ただし、最近、Chrome / Electronics / Google Chromeでこの警告がたくさん表示されています。 Chromeの状況を見てくださいexternal/fontconfig私が見つけたコミット履歴は次のとおりです。

commit dc8326d3f116bb2a1425aa68660a332e351b6cb4
Author: Behdad Esfahbod <[email protected]>
Date:   Fri Sep 15 01:20:56 2017 -0400

    [fc-query] Remove --ignore-blanks / -b
    
    Blanks are the new black, err, dead!

...

commit 8b46a518bda8ecb3c5e2dfb0c1e5fda99e40aa3e
Author: Behdad Esfahbod <[email protected]>
Date:   Tue Sep 12 17:08:08 2017 -0400

    Update documentation for removal of blanks
    
    Patch from Jerry Casiano.

あなたもできます2.12.91 変更ログ。 Chromeがこの(または最新の)バージョンのフォント設定で更新されてから警告が表示され始めたようです。それ2018年6月頃に発生したようです/chrome69。現れるDEPS文書そしてthird_party/fontconfig/BUILD.gn組み込みビルドには使用することをお勧めしますba206df9b9a7ca300265f650842c1459ff7c634a(一部のコミットは2.13.1以降です)、ChromeOSとLinuxでは「システムバージョン」を使用します。私が正しく理解したら、これはLinuxで/ Linux用にChromeをビルドするときに、build/install-build-deps.shlibfontconfig1ディストリビューションが提供する最新のパッケージをインストールします(私の場合は2.11.0-6.7+b1)。この時点で私は特に私のバージョンのChromeをコンパイルする方法についての詳細な情報を探しましたが、興味を失いました。私は管理者がディストリビューションの残りの部分と一貫性を維持しようとしていると思います。

最後に、私が間違っていない限り、これらのすべてのメッセージが実際に意味するのは、設定ファイルにそれを出力するプログラムで使用されていないいくつかの情報(コメントを除く)が含まれていることです。

また見なさい:

関連情報