Estou no Arch Linux, Deepin Desktop. Estou usando o Noto Serif como minha fonte padrão, mas não gosto dos caracteres em árabe. Portanto, meu objetivo é usar outra fonte apenas para caracteres arábicos.
Aqui está o que eu tentei. Criei um novo arquivo de configuração /etc/fonts/conf.d/
com o seguinte conteúdo:
<?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>
Eu então corri fc-cache -r
. Mas isso não funcionou, a mesma fonte ainda está em uso e a execução fc-match
retorna NotoSerif-Regular.ttf: "Noto Serif" "Regular"
como antes.
linux
fonts
fontconfig
deepin
Omar Emara
fonte
fonte
LC_CTYPE
categoria localidade)?99-bangla.conf
no~/.config/fontconfig/conf.d
diretório. Parece que eu recebo o padrão quando executadoLANG=bn fc-match
. Mas o Google Chrome ainda escolhe outra fonteRespostas:
Muitas fontes Noto relatam ao sistema que suportam o script em árabe, o que eles fazem - em parte. Uma dessas fontes é a fonte Urdu e, por qualquer motivo, tem prioridade sobre outras fontes que suportam o Script em árabe.
Você pode preferir uma fonte específica sobre as outras da seguinte maneira:
Quanto maior a posição da fonte, mais preferida é. Nesse caso, preferimos
Noto Naskh Arabic
outras fontes de script em árabe.É claro que você pode fazer isso com qualquer idioma ou fonte de sua escolha.
Por alguma razão, apenas o arquivo de configuração do usuário funcionou para mim, aqueles localizados em
~/.config/fontconfig/fonts.conf
. Observe que$XDG_CONFIG_HOME
a variável de ambiente deve ser definida como seu.config
diretório no diretório inicial, portanto$HOME/.config
.Você precisará reconstruir a configuração para que ela entre em vigor usando
fc-cache
. Somente o aplicativo recém-lançado será exibido com a nova configuração. Reinicie o servidor X ou a área de trabalho para que as alterações entrem em vigor globalmente.Editar: se você comparar com o
ar
código de idioma que simplesmente não funcionará em todos os sites, porque alguns sites usam umen
código de idioma enquanto exibem caracteres UTF-8 em árabe.Se você
/etc/fonts/conf.d
lerREADME
e ler qualquer arquivo de configuração e começar com,[30-40]
saberá que esta é a resposta certa.Se, digamos, um site pede uma fonte Serif; fontconfig percorre esta lista, primeiro para
Noto Serif
, quando encontra um caractere árabe, recorre à segunda fonte da lista -Noto Naskh Arabic
- e descobre que a fonte suporta o script árabe e, portanto, é usada.fonte
<string>Noto Naskh Arabic</string>
ao~/.config/fontconfig/conf.d/99-deepin.conf
arquivo o trabalho.