読者です 読者をやめる 読者になる 読者になる

Having multiple values in <test> isn't supported and may not work as expectedという警告

現象

Ubuntu 16.04LTSにアップグレードしてからemacsを起動する際などに以下のエラーメッセージがでるようになった。

Fontconfig warning: "/etc/fonts/conf.d/69-language-selector-ja-jp.conf", line 126: Having multiple values in isn't supported and may not work as expected

環境

% more /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
% emacs --version
GNU Emacs 24.5.1
Copyright (C) 2015 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

解決法

/etc/fonts/conf.d/69-language-selector-ja-jp.confの以下の部分がダメらしい。各stringをtestタグで囲む必要があるとのこと(参考:Fontconfig - FreeBSD/footnote

    <match target="font">
        <test name="family" compare="contains">
            <string>IPA Pゴシック</string>
            <string>IPA P明朝</string>
            <string>IPA モナー Pゴシック</string>
            <string>IPA モナー P明朝</string>
            <string>IPA モナー UIゴシック</string>
            <string>IPA モナー ゴシック</string>
            <string>IPA モナー 明朝</string>
            <string>IPAexゴシック</string>
            <string>IPAex明朝</string>
            <string>IPAゴシック</string>
            <string>IPA明朝</string>
            <string>Takao Pゴシック</string>
            <string>Takao P明朝</string>
            <string>TakaoExゴシック</string>
            <string>TakaoEx明朝</string>
            <string>Takaoゴシック</string>
            <string>Takao明朝</string>
            <string>UmePlus Gothic</string>
            <string>UmePlus P Gothic</string>
            <string>VL Pゴシック</string>
            <string>VL ゴシック</string>
            <string>さざなみゴシック</string>
            <string>さざなみ明朝</string>
            <string>東風ゴシック</string>
            <string>東風明朝</string>
            <string>梅Pゴシック</string>
            <string>梅PゴシックC4</string>
            <string>梅PゴシックC5</string>
            <string>梅PゴシックO5</string>
            <string>梅PゴシックS4</string>
            <string>梅PゴシックS5</string>
            <string>梅P明朝</string>
            <string>梅P明朝S3</string>
            <string>梅UIゴシック</string>
            <string>梅UIゴシックO5</string>
            <string>梅ゴシック</string>
            <string>梅ゴシックC4</string>
            <string>梅ゴシックC5</string>
            <string>梅ゴシックO5</string>
            <string>梅ゴシックS4</string>
            <string>梅ゴシックS5</string>
            <string>梅明朝</string>
            <string>梅明朝S3</string>
        </test>
      以下略

以下のように変える。

    <match target="font">
        <test name="family" compare="contains">
            <string>IPA Pゴシック</string>
        </test>
        <test name="family" compare="contains">
            <string>IPA P明朝</string>
        </test>
      以下略

それにしても、こんなに日本語フォントいれたかな?