저는 Arch Linux, Deepin Desktop을 사용하고 있습니다. 나는 사용하고있다노토 세리프내 표준 글꼴이지만 아랍어 문자는 마음에 들지 않습니다. 그래서 내 목표는 아랍어 문자에만 사용되는 다른 글꼴을 사용하는 것입니다.
내가 시도한 것은 다음과 같습니다. /etc/fonts/conf.d/
다음 내용으로 새 구성 파일을 만들었습니다 .
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
<test name="lang" compare="contains">
<string>ar</string>
</test>
<test qual="any" name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Naskh Arabic</string>
</edit>
</match>
<match target="pattern">
<test name="lang" compare="contains">
<string>ar</string>
</test>
<test qual="any" name="family">
<string>serif</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Naskh Arabic</string>
</edit>
</match>
</fontconfig>
나는 그 다음 도망쳤다 fc-cache -r
. 그러나 이것은 작동하지 않습니다. 동일한 글꼴이 여전히 사용되고 실행 중은 이전과 동일하게 fc-match
반환됩니다 .NotoSerif-Regular.ttf: "Noto Serif" "Regular"
답변1
많은 Noto 글꼴은 아랍어 스크립트를 지원한다고 시스템에 보고하며 부분적으로 지원합니다. 이 글꼴 중 하나는우르두어어떤 이유로든 아랍어 텍스트를 지원하는 다른 글꼴보다 우선순위가 높은 글꼴입니다.
당신은 할 수선호하다다음과 같이 특정 글꼴이 다른 글꼴보다 선호됩니다.
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans</family>
<family>Noto Naskh Arabic</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Noto Serif</family>
<family>Noto Naskh Arabic</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Noto Sans Mono</family>
<family>Noto Naskh Arabic</family>
</prefer>
</alias>
</fontconfig>
글꼴의 위치가 높을수록 인기가 높습니다. 이 경우에는 Noto Naskh Arabic
다른 아랍어 스크립트 글꼴을 선호합니다.
물론 원하는 언어나 글꼴로 이 작업을 수행할 수 있습니다.
어떤 이유로든 에 있는 사용자 프로필만 작동합니다 ~/.config/fontconfig/fonts.conf
. 환경 변수는 $XDG_CONFIG_HOME
홈 디렉터리 .config
내의 디렉터리 로 설정되어야 하므로 $HOME/.config
.
그런 다음 구성을 다시 작성하여 적용해야 합니다 fc-cache
. 새로 실행된 애플리케이션에만 새 구성이 표시됩니다. 변경 사항을 전체적으로 적용하려면 X 서버 또는 데스크탑을 다시 시작하십시오.
편집하다:로케일을 일치시키면 일부 사이트에서는 아랍어 UTF-8 문자를 표시할 때 로케일을 사용하기 ar
때문에 모든 사이트에서 작동하지 않습니다 .en
로 시작하는 구성 파일을 읽고 읽으면 /etc/fonts/conf.d
이것이 정답이라는 것을 알 수 있습니다.README
[30-40]
웹사이트에 Serif 글꼴이 필요하다고 가정해 보겠습니다. Fontconfig는 먼저 목록을 반복하고 Noto Serif
아랍어 문자를 찾으면 목록의 두 번째 글꼴을 사용합니다. Noto Naskh Arabic
그리고 해당 글꼴이 아랍어 스크립트를 지원하는 것을 발견하면 해당 글꼴을 사용합니다.