~ / .fonts.conf로 글꼴 대체


18

~ / .fonts.conf를 사용하여 Helvetica를 Droid Sans로 바꾸려고합니다. 파일 내용은 다음과 같습니다.

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="pattern">
    <test qual="any" name="family"><string>Helvetica</string></test>
    <edit name="family" mode="assign"><string>Droid Sans</string></edit>
  </match>
</fontconfig>

그러나 어쨌든 아무 일도 일어나지 않는 것 같습니다. fc-cache를 실행하려고 시도했는데 체크인했으며 사용자 지정 구성을 명시 적으로 호출하는 것으로 /etc/fonts/conf.d나타났습니다 50-user.conf.

내가 무엇을 놓치고 있습니까?

감사

편집 : 조사 후 나는 다른 /etc/fonts/conf.d사용자 규칙을 덮어 쓸 때 규칙 user.conf00-user.conf도움이 된다는 것을 알았 습니다. 대체 할 글꼴을 지정할 수 있기 때문에 여전히 부분적인 성공입니다.하지만 대체 글꼴을 무시합니다. 즉, Helvetica유효하지 않게 할 수 있고 시스템은 다음 글꼴로 돌아갑니다 (예 : 브라우저에서 스타일 시트에 지정된 다음 글꼴을 가져옵니다 (없는 경우 표준 sans-serif를 표시).


나는 비슷한 것을 성취하려고하기 때문에 여기에 왔습니다. 누군가가 대답을 드리겠습니다.
Ludwig Weinzierl

여전히 답을 찾고 있습니다.
Capi Etheriel

답변:


16

구성에 바인딩 속성이 누락 된 것 같습니다. ( fonts-conf 도 참조하십시오 ). 다른 구성에 따라 "같은"또는 "강한"의 바인딩이 작동하는 반면 "약한"은 원하는 것을 제공하지 않을 수 있습니다.

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="pattern">
    <test qual="any" name="family"><string>Helvetica</string></test>
    <edit name="family" mode="assign" binding="same"><string>Droid Sans</string></edit>
  </match>
</fontconfig>

1
나를 위해 일했다. binding속성을 추가 하면 차이가 생겼 습니다. fontconfig-2.8.0을 사용하고 있습니다.
MaoPU

이것은 나를 위해 일했다
miloshadzic

3

별칭 메커니즘이 다음과 같이 작동한다고 생각합니다.

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <alias>
    <family>Helvetica</family>
    <prefer>Droid Sans</prefer>
  </alias>
</fontconfig>

1
<alias>는 설치되지 않은 글꼴을 대체하기위한 것이 아닌가?
MaoPU

@ MaoPU : 나는 똑같은 생각을했지만 문서를 읽은 후에는 그 동작이 구성되었다고 생각하게되었습니다. <accept>글꼴이 설치되지 않은 <prefer>경우 우선권을 가지며 글꼴이 설치되어 있는지 여부에 관계없이 우선합니다.
JM Becker

/ \ 아니요, .conf이 규칙이 포함 된 파일을 먼저 읽지 않으면 실제로는 그렇지 않습니다 .
Marc.2377

흠 - 말했다, 그것은 않는 경우 작업을 binding="strong"와 함께 사용되는 <alias>요소!
Marc.2377

0

"fc-list"는 실제로 "Helvetica"를 표시합니까? fc-match는 무엇을 말합니까? 내 상자 (F-12)에서 다음을 얻습니다.

 >fc-match Helvetica
n019003l.pfb: "Nimbus Sans L" "Regular"

어쩌면 별명을 대체 글꼴에 추가해야 할 수도 있습니다.


0

Helvetica를 sans-serif 제품군으로 지정하려고 할 때 비슷한 문제가 발생했습니다. 같은 문제가 발생하는 모든 사용자 /etc/fonts/conf.d/는의 파일에 대한 링크가 포함 된 시스템 구성을 살펴보십시오 /etc/fonts/conf.avail. 결정적인 동작을 얻기 위해 많은 별칭을 제거해야했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.