
Ich versuche, den Standardstil einer Schriftart festzulegen, fonts.conf
weil aus irgendeinem Grund immer die fette Version übernommen wird:
$ fc-match monospace
LigaOperatorMonoSSm-Bold.otf: "Liga Operator Mono SSm" "Bold"
Das ist mein fonts.conf
:
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<edit name="antialias" mode="assign"><bool>true</bool></edit>
<match target="pattern">
<test qual="any" name="family"><string>Liga Operator Mono SSm</string></test>
<edit name="style" mode="assign" binding="same"><string>Medium</string></edit>
</match>
<alias>
<family>serif</family>
<prefer><family>Circular Std</family></prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer><family>Circular Std</family></prefer>
</alias>
<alias>
<family>sans</family>
<prefer><family>Circular Std</family></prefer>
</alias>
<alias>
<family>monospace</family>
<prefer><family>Liga Operator Mono SSm</family></prefer>
</alias>
<alias>
<family>terminal</family>
<prefer><family>Liga Operator Mono SSm</family></prefer>
</alias>
</fontconfig>
Wie Sie sehen, habe ich versucht, die Standardbreite einzustellen, Medium
aber das funktioniert leider nicht. Dies sind die verfügbaren Stile:
/usr/share/fonts/OTF/LigaOperatorMonoSSm-LightItalic.otf: Liga Operator Mono SSm:style=Light Italic,Italic
/usr/share/fonts/OTF/LigaOperatorMonoSSm-MediumItalic.otf: Liga Operator Mono SSm:style=Medium Italic,Italic
/usr/share/fonts/OTF/LigaOperatorMonoSSm-Medium.otf: Liga Operator Mono SSm:style=Medium,Regular
/usr/share/fonts/OTF/LigaOperatorMonoSSm-BoldItalic.otf: Liga Operator Mono SSm:style=Bold Italic,Italic
/usr/share/fonts/OTF/LigaOperatorMonoSSm-Book.otf: Liga Operator Mono SSm:style=Book,Regular
/usr/share/fonts/OTF/LigaOperatorMonoSSm-Bold.otf: Liga Operator Mono SSm:style=Bold,Regular
/usr/share/fonts/OTF/LigaOperatorMonoSSm-BookItalic.otf: Liga Operator Mono SSm:style=Book Italic,Italic
/usr/share/fonts/OTF/LigaOperatorMonoSSm-Light.otf: Liga Operator Mono SSm:style=Light,Regular
Sieht jemand, wo der Fehler liegt? Danke!
Antwort1
Folgendes habe ich verwendet, um falsche Metadaten in Operator Mono zu korrigieren:
<!-- Fixup Operator Mono weights -->
<match target="scan">
<test name="family">
<string>Operator Mono Bold</string>
</test>
<edit name="weight">
<const>bold</const>
</edit>
</match>
<match target="scan">
<test name="family">
<string>Operator Mono Book</string>
</test>
<edit name="weight">
<const>book</const>
</edit>
</match>
<match target="scan">
<test name="family">
<string>Operator Mono XLight</string>
</test>
<edit name="weight">
<const>extralight</const>
</edit>
</match>
Vergessen Sie nicht, den Schriftnamen und fc-cache -f
anschließend „to“ zu ersetzen.
Antwort2
Ich hatte dasselbe Problem (mit einer anderen Schriftart). Folgendes hat bei mir funktioniert:
<match target="pattern">
<test name="family" compare="eq">
<string>Liga Operator Mono SSm</string>
</test>
<edit name="style" mode="append">
<string>Medium</string>
</edit>
</match>
Im Grunde bedeutet dies, dass bei jeder Suche nach der Familie „Liga Operator Mono SSm“ am Ende der Liste der zu suchenden Stile „Medium“ hinzugefügt wird. Wenn also ein anderer Stil angegeben ist, hat dieser Vorrang, wenn nicht, wird „Medium“ verwendet, um eine Schriftart zu finden.
...denke ich. Die Fontconfig-Dokumentation ist ehrlich gesagt etwas verwirrend.