간격=100인 모든 글꼴을 '고정 폭'으로 설정

간격=100인 모든 글꼴을 '고정 폭'으로 설정

패키지 관리자(현재 Arch System을 실행 중)의 글꼴을 포함한 많은 글꼴에는 일반 계열이 "가는 장식 선", "고정 폭" 그리고 "필기체". 따라서 올바른 가족을 수동으로 표시해야 합니다.https://eev.ee/blog/2015/05/20/i-stared-into-the-fontconfig-and-the-fontconfig-stared-back-at-me/).

이 아니라면 "고정 폭" 글꼴에는 해결 방법이 있습니다. 모두 간격 속성이 100입니다. 다음을 실행하여 이를 확인할 수 있습니다 fc-list :spacing=100(참조https://unix.stackexchange.com/a/363368/473666). 따라서 이 속성 값을 가진 모든 글꼴을 자동으로 "고정 폭" 폰트.

예를 들어, 기본 구성 파일과 문서에서는 "가 없는 모든 글꼴을 설정합니다.가는 장식 선" 그리고 "고정 폭" 처럼 "산세 리프" 이 방법:

  <match target="pattern">
    <test qual="all" name="family" compare="not_eq">
            <string>sans-serif</string>
    </test>
    <test qual="all" name="family" compare="not_eq">
            <string>serif</string>
    </test>
    <test qual="all" name="family" compare="not_eq">
            <string>monospace</string>
    </test>
    <edit name="family" mode="append_last">
            <string>sans-serif</string>
    </edit>
  </match>

그래서 나는 이것을 시도했습니다 :

  <match target="pattern">
    <test qual="all" name="spacing" compare="eq"> 
      <int>100</int>
    </test>
    <test qual="all" name="family"  compare="not_eq"> 
      <string>monospace</string>
    </test>
    <edit name="family" mode="append_last"> 
      <string>monospace</string>
    </edit>
  </match>

결과:모든이제 시스템의 글꼴이 고정 폭입니다. <int>100</int>에 대한 변경도 발생합니다 <const>mono</const>. 이미 man fonts.conf나열된 기본 구성 파일 중 다수를 읽었 fc-conflist지만 작동시킬 수는 없었습니다. 속성과 해당 값의 여러 조합을 시도했지만 결과는 항상 다음 중 하나입니다.없음또는모든글꼴은 고정폭으로 처리됩니다.

지금은 이 명령을 사용하여 소스 목록을 생성하고 모두 수동으로 추가했습니다 fc-list :spacing=100 | awk -F: '{print $2}' | sort -u. Stack Exchange에서 처음으로 질문하는 것이므로 명확하게 설명할 수 있었으면 좋겠습니다.

답변1

qual="all"간격 테스트에서 인수를 제거하십시오 . 이는 목록(즉, family문자열 목록)을 테스트할 때 동작을 지정하는 데 사용됩니다. 스칼라 테스트는 qual="all"항상 성공합니다. Fontconfig의 버그입니다.

답변2

<match target=font>간격을 테스트하려면 일치 대상을 로 변경해야 했습니다 . 패턴 일치 시간에 글꼴 구성이 간격을 알지 못한다고 생각합니다.

필요하지 않기 때문에 아직 글꼴 모음 설정을 시도하지 않았지만 수정된 구성을 사용하면 콘솔 텍스트에 대해서만 GNOME 터미널에서 앤티앨리어싱을 끌 수 있습니다.

<match target="font">
  <test name="spacing" compare="eq">
    <int>100</int>
  </test>
  <test name="prgname" compare="contains">
    <string>gnome-terminal</string>
  </test>
  <edit name="antialias" mode="assign">
    <bool>false</bool>
  </edit>
</match>

Fontconfig 버전 2.13.1에서 테스트되었습니다.

관련 정보