<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - fontconfig now loads all conf.avail files, breaks system configuration"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=104713">104713</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>fontconfig now loads all conf.avail files, breaks system configuration
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>fontconfig
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>x86-64 (AMD64)
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux (All)
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>library
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>fontconfig-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>mtmiller@debian.org
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>freedesktop@behdad.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>With git master, fontconfig now loads all configuration files in
/usr/share/fontconfig/conf.avail after loading the desired system
configuration. This conflicts with the desired system configuration. For
example, if the system has enabled 70-no-bitmaps.conf, 70-yes-bitmaps.conf is
loaded later and overrides it.

This appears to be due to

    (void) FcConfigParseOnly (config, (const FcChar8 *)FC_TEMPLATEDIR,
FcFalse);

in FcInitLoadOwnConfig. The intent seems to be to parse the files for their
syntax and descriptions only, but it appears that the configurations are added
to the selection rules anyway.

With fontconfig 2.12.6 on my system

    $ fc-list :scalable=false

returns no fonts because 70-no-bitmaps.conf is enabled.

With git master, and the same system configuration,

    $ ./fc-list/fc-list :scalable=false
    /usr/share/fonts/X11/75dpi/courR24-ISO8859-1.pcf.gz: Courier:style=Regular
    /usr/share/fonts/X11/75dpi/courR08-ISO8859-1.pcf.gz: Courier:style=Regular
    ...

FC_DEBUG=1024 shows that fontconfig is "scanning" conf.avail files instead of
"loading".

If I delete the call to FcConfigParseOnly, then the "scanning" output
disappears and the fc-list and fc-match results behave correctly.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>