web-dev-qa-db-ja.com

/etc/fonts/conf.dの設定を再読み込みします

Arch Linuxのフォント設定を調整しています。 .confに新しい/etc/fonts/conf.avail/ファイルを作成し、/etc/fonts/conf.dにシンボリックリンクしました。変更をテストしたいと思います。 fc-cache -rvを実行してターミナルを再起動してみました。私の知る限り、私のアップデートは適用されていません。

Arch Linux wikiはこう述べています:

Fontconfigは、すべての構成を中央ファイル(/etc/fonts/fonts.conf)に収集します。このファイルはfontconfigの更新中に置き換えられるため、編集しないでください。 Fontconfig対応アプリケーションは、利用可能なフォントとそれらがどのようにレンダリングされるかを知るために、このファイルを供給します。このファイルは、グローバル構成(/etc/fonts/local.conf)、/etc/fonts/conf.d/の構成済みプリセット、およびユーザー構成ファイル($ XDG_CONFIG_HOME/fontconfig/fonts.conf)からのルールの集まりです。 )。 fc-cacheはfontconfigの設定を再構築するために使用できますが、変更は新しく起動されたアプリケーションでのみ表示されます。

ただし、私のfonts.conflookをコングロメレーションのようにはしません。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>

<!--
    DO NOT EDIT THIS FILE.
    IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
    LOCAL CHANGES BELONG IN 'local.conf'.

    The intent of this standard configuration file is to be adequate for
    most environments.  If you have a reasonably normal environment and
    have found problems with this configuration, they are probably
    things that others will also want fixed.  Please submit any
    problems to the fontconfig bugzilla system located at fontconfig.org

    Note that the normal 'make install' procedure for fontconfig is to
    replace any existing fonts.conf file with the new version.  Place
    any local customizations in local.conf which this file references.

    Keith Packard
-->

<!-- Font directory list -->

    <dir>/usr/share/fonts</dir>
    <dir>/usr/share/fonts</dir>
    <dir prefix="xdg">fonts</dir>
    <!-- the following element will be removed in the future -->
    <dir>~/.fonts</dir>

<!--
  Accept deprecated 'mono' alias, replacing it with 'monospace'
-->
    <match target="pattern">
        <test qual="any" name="family">
            <string>mono</string>
        </test>
        <edit name="family" mode="assign" binding="same">
            <string>monospace</string>
        </edit>
    </match>

<!--
  Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
-->
    <match target="pattern">
        <test qual="any" name="family">
            <string>sans serif</string>
        </test>
        <edit name="family" mode="assign" binding="same">
            <string>sans-serif</string>
        </edit>
    </match>

<!--
  Accept deprecated 'sans' alias, replacing it with 'sans-serif'
-->
    <match target="pattern">
        <test qual="any" name="family">
            <string>sans</string>
        </test>
        <edit name="family" mode="assign" binding="same">
            <string>sans-serif</string>
        </edit>
    </match>

<!--
  Load local system customization file
-->
    <include ignore_missing="yes">conf.d</include>

<!-- Font cache directory list -->

    <cachedir>/var/cache/fontconfig</cachedir>
    <cachedir prefix="xdg">fontconfig</cachedir>
    <!-- the following element will be removed in the future -->
    <cachedir>~/.fontconfig</cachedir>

    <config>
<!--
  Rescan configuration every 30 seconds when FcFontSetList is called
 -->
        <rescan>
            <int>30</int>
        </rescan>
    </config>

</fontconfig>

私はそれがフォント設定の最終的な組み合わせセットが何であったかを見ることができることを望んでいました。

3
Matthew Piziak

Fc-cache -rvを実行してターミナルを再起動してみました。私の知る限り、私のアップデートは適用されていません。

変更をリロードするには、アプリケーションを再起動するだけで十分です。いくつかのアプリケーションでは、再起動を必要とせずに構成を定期的に再ロードします。

fc-cacheは、私が知る限り、一般に設定変更には役に立たない。

変更が適用されていないように見える場合は、何も一致していないためか、一致した場合は、ルールが適用できるほど強力ではありません。

このようなものを追加して、無条件で強く拘束された非常に目に見える変更を加えることをお勧めします。

<match target="pattern">
    <edit name="family" mode="prepend" binding="strong">
        <string>Comic Sans MS</string>
    </edit>
</match>

あなたの目が出血し始めたときにそれが働いたと言うことができます。

これを使用しても、この後に評価されるルールはこのパターンをさらに変更する可能性があることに注意してください。

他にも何よりも優先度が高いと思われるrejectfontブロックも使用しましたが、特定のTTFファイルを処理するため、何が一致しているかを知る必要があります(FC_DEBUG=1で十分です)

<selectfont>
    <rejectfont>
        <glob>/usr/share/fonts/TTF/DejaVuSans.ttf</glob>
    </rejectfont>
</selectfont>

質問の他の部分:

ただし、私のfonts.confは集合体のようには見えません。

魔法は<include ignore_missing="yes">conf.d</include>には他のすべてが含まれます。

これは私のシステムでは次のようになります。

$ FC_DEBUG=1024 leafpad
    Loading config file /etc/fonts/fonts.conf
    Scanning config dir /etc/fonts/conf.d
    Loading config file /etc/fonts/conf.d/10-hinting-slight.conf
    Loading config file /etc/fonts/conf.d/10-scale-bitmap-fonts.conf
    Loading config file /etc/fonts/conf.d/20-unhint-small-dejavu-sans-mono.conf
    Loading config file /etc/fonts/conf.d/20-unhint-small-dejavu-sans.conf
    Loading config file /etc/fonts/conf.d/20-unhint-small-dejavu-serif.conf
    Loading config file /etc/fonts/conf.d/20-unhint-small-vera.conf
    Loading config file /etc/fonts/conf.d/30-metric-aliases.conf
    Loading config file /etc/fonts/conf.d/30-urw-aliases.conf
    Loading config file /etc/fonts/conf.d/30-win32-aliases.conf
    Loading config file /etc/fonts/conf.d/40-nonlatin.conf
    Loading config file /etc/fonts/conf.d/45-latin.conf
    Loading config file /etc/fonts/conf.d/49-sansserif.conf
    Loading config file /etc/fonts/conf.d/50-user.conf
    Scanning config dir /home/dx/.config/fontconfig/conf.d
    Loading config file /home/dx/.config/fontconfig/conf.d/10-powerline-symbols.conf
    Loading config file /home/dx/.config/fontconfig/fonts.conf
    Loading config file /home/dx/.fonts.conf
    Loading config file /etc/fonts/conf.d/51-local.conf
    Loading config file /etc/fonts/local.conf
    Loading config file /etc/fonts/conf.d/57-dejavu-sans-mono.conf
    Loading config file /etc/fonts/conf.d/57-dejavu-sans.conf
    Loading config file /etc/fonts/conf.d/57-dejavu-serif.conf
    Loading config file /etc/fonts/conf.d/60-latin.conf
    Loading config file /etc/fonts/conf.d/65-fonts-persian.conf
    Loading config file /etc/fonts/conf.d/65-nonlatin.conf
    Loading config file /etc/fonts/conf.d/69-unifont.conf
    Loading config file /etc/fonts/conf.d/75-fix-calibri.conf
    Loading config file /etc/fonts/conf.d/80-delicious.conf
    Loading config file /etc/fonts/conf.d/90-synthetic.conf
5
dequis