Ich versuche mit ~ / .fonts.conf Helvetica durch Droid Sans zu ersetzen. Hier ist der Inhalt der Datei:
<?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>
aber egal was passiert, nichts scheint zu passieren. Ich habe versucht, fc-cache auszuführen, habe eingecheckt /etc/fonts/conf.d
und festgestellt, 50-user.conf
dass offenbar benutzerspezifische Konfigurationen explizit aufgerufen werden.
Was vermisse ich?
Vielen Dank
BEARBEITEN: Nach einer Untersuchung stellte ich fest, dass andere Regeln beim /etc/fonts/conf.d
Überschreiben der Benutzerkonfiguration, also beim Verknüpfen user.conf
mit, 00-user.conf
geholfen haben. Trotzdem ist es nur ein Teilerfolg, da ich angeben kann, welche Schriftarten ersetzt werden sollen, aber der von mir gewählte Ersatz wird ignoriert: Mit anderen Worten, ich kann Helvetica
ungültig machen und das System greift auf die nächste Schrift zurück (dh im Browser, es Nimmt die nächste im Stylesheet angegebene Schriftart, wenn keine vorhanden ist, wird eine serifenlose Standardschrift angezeigt.
quelle
Antworten:
Ich denke, das Bindungsattribut fehlte in Ihrer Konfiguration. (siehe auch fonts-conf ) Abhängig von Ihrer anderen Konfiguration funktioniert möglicherweise eine Bindung von "Gleich" oder "Stark", während "Schwach" möglicherweise nicht das ergibt, was Sie möchten.
quelle
binding
Attributs den Unterschied ausmachen . Ich benutze fontconfig-2.8.0.Ich denke, der Alias-Mechanismus würde dafür funktionieren:
quelle
<accept>
hat Vorrang, wenn die Schriftart nicht installiert ist,<prefer>
unabhängig davon, ob die Schriftart installiert ist..conf
Datei, die diese Regel enthält, wird zuerst gelesen.binding="strong"
es zusammen mit dem<alias>
Element verwendet wird!Zeigt "fc-list" tatsächlich "Helvetica"? Was sagt fc-match? Auf meiner Box (F-12) bekomme ich:
Möglicherweise müssen Sie auch die mit Alias versehene Schriftart zu Ihrer Ersetzung hinzufügen.
quelle
Ich hatte ein ähnliches Problem, als ich versuchte, Helvetica als serifenlose Familie zu bezeichnen. Für alle, die das gleiche Problem haben, sehen Sie sich die Systemkonfiguration an, in
/etc/fonts/conf.d/
der Links zu Dateien von enthalten sind/etc/fonts/conf.avail
. Ich musste viele dieser Aliase entfernen, um deterministisches Verhalten zu erhalten.quelle