From Fedora Project Wiki


Fontconfig 2.18

Summary

Update fontconfig package in Fedora from 2.17 to 2.18.

Owner


Current status

Detailed Description

This aims to upgrade fontconfig package from 2.17 to 2.18. The highlight of changes in 2.18 is available here.

Feedback

Benefit to Fedora

Fedora ships the latest release of fontconfig. Also, the safe guard in new cache format to avoid updating from older versions of fontconfig.

Scope

  • Proposal owners:
    • Submit PR for appstream and python-fontconfig to update the code because they use freetype-dependent API without fcfreetype.h
  • Other developers:
    • The above package owners may need to apply a patch before mass-reubuild. Otherwise it may simply fails.
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with the Fedora Strategy:

Upgrade/compatibility impact

2.18 should be basically compatible with 2.17. However, if users has own fonts installed, they may see different font matching behavior. In that case, users may need to have extra config rule to get it back to normal for a short term.

Steps to check:

  1. Run fc-scan -f "%{genericfamily}\n" /path/to/fontdir/fontfile
  2. If the result shows 0:
  3. Create a config file and store it to $HOME/.config/fontconfig/conf.d, e.g. 0-familyname-scan.conf:
     <fontconfig>
       <match target="scan">
         <test name="family">
           <string>Family Name</string>
         </test>
         <edit name="genericfamily" mode="assign_replace">
           <const>Generic Alias Name such as sans-serif, serif, monospace</const>
         </edit>
       </match>
     </fontconfig>
    
  4. Regenerate a cache with fc-cache -rv /path/to/fontdir

Early Testing (Optional)

Do you require 'QA Blueprint' support? Y/N

How To Test

Try upgrading fontconfig to 2.18 and your favarite GUI applications if the font selection works as expected.


User Experience

The font matching behavior for fallback should be better than 2.17.x.

Dependencies

No more than the above packages requring some source code change.


Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) Maintainer will revert fontconfig to 2.17.x
  • Contingency deadline: 100% Code Complete Deadline
  • Blocks release? No


Documentation

Release Notes