Chienomi

デフォルトのフォントの選ばれ方がおかしい

z400

  • TOP
  • Old Archives
  • デフォルトのフォントの選ばれ方がおかしい

fonts.confは以下のようになっているのだが

    <?xml version='1.0'?>
    <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
    <fontconfig>
     <match target="font">
      <edit name="lcdfilter" mode="assign">
       <const>lcddefault</const>
      </edit>
     </match>
     <match target="pattern">
      <test qual="any" name="family">
       <string>serif</string>
      </test>
      <edit binding="strong" name="family" mode="assign">
       <string>HannariMincho</string>
      </edit>
     </match>
     <match target="pattern">
      <test qual="any" name="family">
       <string>sans-serif</string>
      </test>
      <edit binding="strong" name="family" mode="assign">
       <string>Migu 1P</string>
      </edit>
     </match>
     <match target="pattern">
      <test qual="any" name="family">
       <string>sans</string>
      </test>
      <edit binding="strong" name="family" mode="assign">
       <string>Migu 1P</string>
      </edit>
     </match>
     <match target="pattern">
      <test qual="any" name="family">
       <string>monospace</string>
      </test>
      <edit binding="strong" name="family" mode="assign">
       <string>Ricty Discord</string>
      </edit>
     </match>
     <match target="pattern">
      <test qual="all" compare="not_eq" name="family">
       <string>sans-serif</string>
      </test>
      <test qual="all" compare="not_eq" name="family">
       <string>serif</string>
      </test>
      <test qual="all" compare="not_eq" name="family">
       <string>monospace</string>
      </test>
      <edit name="family" mode="append_last">
       <string>sans-serif</string>
      </edit>
     </match>
     <dir>~/.fonts</dir>
    </fontconfig>

なぜか、明示されていないフォントはラノベPOPになってしまう。 これはいくらなんでも可読性が低すぎるため、ラノベPOPのフォントファイルをリネームして後ろに回したところ、梅ゴシックになった。 しかし、依然としてボールドには梅ゴシックが使われる。

さらに、Skypeでは途中でフォントが変わったり、まぁ猛烈に読みづらい状態だ。

意味不明なことに、not_eqappend_lastしている部分は、

     <match target="pattern">
      <test qual="all" compare="not_eq" name="family">
       <string>sans-serif</string>
      </test>
      <test qual="all" compare="not_eq" name="family">
       <string>serif</string>
      </test>
      <test qual="all" compare="not_eq" name="family">
       <string>monospace</string>
      </test>
      <edit name="family" mode="assign" binding="same">
       <string>sans-serif</string>
      </edit>
     </match>

とすると、今まで正しく表示されていたアプリケーションメニューが梅ゴシックになり、依然としてfc-matchすると梅ゴシックが返る。

このbindingをstrongにしても結果は同じ、weekだと単に無視される。

この問題には長く悩まされていたが、sans-serifでなく、実体(例えばMigu 1P)を指定すると反映された。

だが、CinnamonのUIについては改善せず、これは~/.theme/<theme>/cinnamon/cinnamon.cssstage要素に対して指定されているものを変更する必要があった。

sans-serifを指定して動かない理由はわからず、その際の挙動についても理解に苦しむが、とりあえずここまで。