Ich bin auf Arch Linux, Deepin Desktop. Ich verwende Noto Serif als Standardschrift, aber die arabischen Zeichen gefallen mir nicht. Mein Ziel ist es also, eine andere Schriftart nur für arabische Zeichen zu verwenden.
Folgendes habe ich versucht. Ich habe eine neue Konfigurationsdatei /etc/fonts/conf.d/
mit folgendem Inhalt erstellt:
<?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>
Ich rannte dann fc-cache -r
. Dies hat jedoch nicht funktioniert. Es wird immer noch dieselbe Schriftart verwendet, und es werden wie zuvor fc-match
Rückgaben ausgeführt NotoSerif-Regular.ttf: "Noto Serif" "Regular"
.
linux
fonts
fontconfig
deepin
Omar Emara
quelle
quelle
LC_CTYPE
Gebietsschemakategorie)?99-bangla.conf
im~/.config/fontconfig/conf.d
Verzeichnis. Es sieht so aus, als würde ich beim Ausführen die Standardeinstellung erhaltenLANG=bn fc-match
. Aber Google Chrome wählt immer noch andere SchriftartenAntworten:
Viele Noto-Schriftarten berichten dem System, dass sie die arabische Schrift unterstützen, was sie auch tun - teilweise. Eine dieser Schriftarten ist die Urdu- Schriftart und hat aus irgendeinem Grund Vorrang vor anderen Schriftarten, die die arabische Schrift unterstützen.
Sie können eine bestimmte Schriftart den anderen wie folgt vorziehen :
Je höher die Position der Schrift ist, desto bevorzugter ist sie. In diesem Fall bevorzugen wir
Noto Naskh Arabic
andere arabische Schriftarten.Sie können dies natürlich mit jeder Sprache oder Schriftart Ihrer Wahl tun.
Aus irgendeinem Grund funktionierte nur die Benutzerkonfigurationsdatei für mich, die in
~/.config/fontconfig/fonts.conf
. Beachten Sie, dass die$XDG_CONFIG_HOME
Umgebungsvariable auf Ihr.config
Verzeichnis in Ihrem Ausgangsverzeichnis festgelegt werden muss$HOME/.config
.Sie müssen dann die Konfiguration neu erstellen, damit sie mit wirksam wird
fc-cache
. Mit der neuen Konfiguration wird nur die neu gestartete Anwendung angezeigt. Starten Sie den X-Server oder Ihren Desktop neu, damit die Änderungen global wirksam werden.Bearbeiten: Wenn Sie mit dem
ar
Gebietsschema übereinstimmen , funktioniert dies einfach nicht auf allen Websites, da einige Websites einen
Gebietsschema verwenden, während arabische UTF-8-Zeichen angezeigt werden.Wenn Sie die Konfigurationsdatei
/etc/fonts/conf.d
lesenREADME
und dann lesen, beginnend mit[30-40]
, wissen Sie, dass dies die richtige Antwort ist.Wenn beispielsweise eine Website nach einer Serifenschrift fragt; fontconfig geht diese Liste zunächst durch
Noto Serif
, bis beim Auffinden eines arabischen Zeichens auf die zweite Schriftart in der Liste zurückgegriffen wird -Noto Naskh Arabic
- und festgestellt wird, dass die Schriftart die arabische Schrift unterstützt und daher verwendet wird.quelle
<string>Noto Naskh Arabic</string>
zur~/.config/fontconfig/conf.d/99-deepin.conf
Datei den Job erledigt.