![fonts.conf でフォントのデフォルトスタイルを設定する](https://rvso.com/image/170275/fonts.conf%20%E3%81%A7%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88%E3%81%AE%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B.png)
fonts.conf
何らかの理由で太字バージョンが常に一致するため、フォントのデフォルト スタイルを設定しようとしています。
$ fc-match monospace
LigaOperatorMonoSSm-Bold.otf: "Liga Operator Mono SSm" "Bold"
これは私の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>
ご覧のとおり、デフォルトの幅を設定しようとしましたMedium
が、残念ながら機能しません。使用可能なスタイルは次のとおりです。
/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
どこに間違いがあるか分かる人はいますか? ありがとうございます!
答え1
Operator Mono の間違ったメタデータを修正するために使用した方法は次のとおりです。
<!-- 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>
フォント名を置き換えてから、忘れずに実行してくださいfc-cache -f
。
答え2
私も同じ問題に遭遇しました (フォントは異なります)。次のような方法でうまくいきました:
<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>
基本的に、これは「Liga Operator Mono SSm」ファミリーを検索するときは常に、検索するスタイルのリストの最後に「Medium」を追加することを意味します。したがって、他のスタイルが指定されている場合はそれが優先されますが、指定されていない場合は「Medium」を使用してフォントが検索されます。
...そう思います。正直に言うと、fontconfig のドキュメントは少しわかりにくいです。