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> 글꼴에는 인코딩에는 나타나지만 화면에는 공백으로 표시되는 "깨진" 문자 모양이 포함되어 있는 경우가 많습니다. 요소 내부에 공백이어야 하는 각 유니코드 문자를 요소에 배치합니다. 이 세트 외부에 공백으로 그려진 문자는 글꼴에서 지원하는 문자 세트에서 제거됩니다.

문서에서는 이러한 옵션을 정의하는 데 아무런 문제가 없음을 나타냅니다. 게다가 그들은DTD에 지정됨. 그러나 다음과 같은 관련 Fontconfig API를 발견했을 수 있습니다.FcBlanks(강조):

FcBlanks 개체는 그릴 때 비어 있을 것으로 예상되는 유니코드 문자 목록을 보유합니다. 새 글꼴을 스캔할 때 비어 있고 목록에 없는 모든 글리프는 손상된 것으로 간주되며 글꼴과 관련된 FcCharSet에 배치되지 않습니다. 이는 애플리케이션에 보다 정확한 문자 집합을 제공합니다.

FcBlank는 더 이상 사용되지 않으며 새로 작성된 코드에 사용해서는 안 됩니다.이전 코드와의 호환성을 위해 일부 기능에서는 여전히 허용되지만 향후 제거될 예정입니다.

이는 호환성을 위해 구성 파일에서 허용되지만 더 이상 사용되지 않는다는 것을 의미합니다.

추가 정보가 없어 어떤 상황에서 이 경고가 표시되는지 잘 모르겠습니다. 그러나 최근에는 크롬/전기/Google 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 변경 로그. 크롬이 이(또는 최신) 버전의 글꼴 구성으로 업데이트된 시점부터 경고가 나타나기 시작한 것 같습니다. 그것2018년 6월경에 발생한 것으로 보입니다/chrome69. 나타나다DEPS문서그리고third_party/fontconfig/BUILD.gn임베디드 빌드에는 사용하는 것이 권장되며 ba206df9b9a7ca300265f650842c1459ff7c634a(일부 커밋은 2.13.1보다 최신임) ChromeOS와 Linux에서는 '시스템 버전'을 사용합니다. 제가 올바르게 이해했다면 이는 Linux에서/Linux용으로 크롬을 빌드할 때,build/install-build-deps.shlibfontconfig1배포판에서 제공하는 최신 패키지를 설치합니다 (제 경우에는2.11.0-6.7+b1). 이 시점에서 나는 특히 내 버전의 크롬을 컴파일하는 방법에 대한 자세한 정보를 찾아보았지만 흥미를 잃었습니다. 나는 관리자들이 배포판의 나머지 부분과 일관성을 유지하려고 노력하고 있다고 생각합니다.

마지막으로, 제가 착각한 것이 아니라면 이 모든 메시지가 실제로 의미하는 것은 구성 파일에 이를 출력하는 프로그램에서 사용되지 않는 일부 정보(주석 제외)가 포함되어 있다는 것입니다.

또한보십시오:

관련 정보