Je suis sur Arch Linux, Deepin Desktop. J'utilise Noto Serif comme police standard, mais je n'aime pas ses caractères arabes. Mon objectif est donc d'utiliser une autre police uniquement pour les caractères arabes.
Voici ce que j'ai essayé. J'ai créé un nouveau fichier de configuration /etc/fonts/conf.d/
avec le contenu suivant:
<?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>
J'ai ensuite couru fc-cache -r
. Mais cela n'a pas fonctionné, la même police est toujours utilisée et exécute des fc-match
retours NotoSerif-Regular.ttf: "Noto Serif" "Regular"
comme auparavant.
linux
fonts
fontconfig
deepin
Omar Emara
la source
la source
LC_CTYPE
catégorie locale)?99-bangla.conf
dans le~/.config/fontconfig/conf.d
répertoire. Il semble que j'obtienne la valeur par défaut lors de l'exécutionLANG=bn fc-match
. Mais Google Chrome choisit toujours une autre policeRéponses:
De nombreuses polices Noto signalent au système qu'elles prennent en charge le script arabe, ce qu'elles font, en partie. L'une de ces polices est la police ourdou , et pour une raison quelconque, elle a la priorité sur les autres polices qui prennent en charge le script arabe.
Vous pouvez préférer une police spécifique aux autres comme suit:
Plus la position de la police est élevée, plus elle est préférée. Dans ce cas, nous préférons
Noto Naskh Arabic
les autres polices de script arabes.Vous pouvez bien sûr le faire avec n'importe quelle langue ou police de votre choix.
Pour une raison quelconque, seul le fichier de configuration utilisateur a fonctionné pour moi, ceux situés dans
~/.config/fontconfig/fonts.conf
. Notez que$XDG_CONFIG_HOME
la variable d'environnement doit être définie sur votre.config
répertoire dans votre répertoire personnel, donc$HOME/.config
.Vous devez ensuite reconstruire la configuration pour qu'elle prenne effet à l'aide de
fc-cache
. Seule l'application nouvellement lancée sera affichée avec la nouvelle configuration. Redémarrez le serveur X ou votre bureau pour que les modifications prennent effet à l'échelle mondiale.Modifier: si vous vous
ar
comparez aux paramètres régionaux, cela ne fonctionnera tout simplement pas sur tous les sites Web, car certains sites Web utilisent desen
paramètres régionaux tout en affichant des caractères arabes UTF-8.Si vous allez
/etc/fonts/conf.d
et lisezREADME
puis lisez n'importe quel fichier de configuration commençant par[30-40]
vous saurez que c'est la bonne réponse.Si, par exemple, un site Web demande une police Serif; fontconfig parcourt cette liste, tout d'abord
Noto Serif
, lorsqu'il trouve un caractère arabe, il recourt à la deuxième police de la liste -Noto Naskh Arabic
- et constate que la police prend en charge le script arabe, donc il est utilisé.la source
<string>Noto Naskh Arabic</string>
au~/.config/fontconfig/conf.d/99-deepin.conf
fichier.