Fontconfig Development Snapshots

Fontconfig 2.13.92

  • English names appears first in cache
  • FcConfigParseAndLoad*() returns false on config errors
  • 35-lang-normalized.conf to deal with en-us as en and so on. (not enabled by default)
  • FC_FONT_HAS_HINT property to see if a font has hinting or not.
  • Doc fixes
  • Bug fixes

Fontconfig 2.13.91

  • Rework Flatpak support
    • No .uuid used anymore
    • Add salt attribute in dir and remap-dir element
    • Add reset-dirs element
  • Add system-ui generic family
  • Unicode 12.1 support
  • Bug fixes

Speaking more for flatpak rework, fontconfig relies on font paths to determine cache filename and the path is used to generate MD5. this means fontconfig re-generates caches when paths are changed even if they have same fonts. This affects the performance a lot on Flatpak applications because they share fonts from host on different paths and then re-generating caches at first run. So we put and UUID into .uuid at a font directory as an unique indentifier, and generate caches with it instead of MD5. However this affects the reproducible builds now because UUID is randomly generated and it is impossible to predict. So we've reverted this and implemented new one to share caches. it can be done in configuration now:

<remap-dir as-path="/usr/share/fonts">/run/host/fonts</remap-dir>

which means mapping a path "/usr/share/fonts" to /run/host/fonts. when accessing a font under /run/host/fonts, fontconfig will be going to find out a cache of name MD5("/usr/share/fonts") instead of MD5("/run/host/fonts"). So what if having own fonts under /usr/share/fonts ? To address this, fontconfig extends dir element to give a salt to allow generating different cache name:

<dir salt="unique identifier">/usr/share/fonts</dir>

This change allows to deal with a set of different fonts in same paths between hosts and containers say.

<reset-dirs/> removes all of fonts directories where added by dir elements. this is useful when you want to override fonts directories without modifying fonts.conf.

Fontconfig 2.12.93

  • Bug fixes

Fontconfig 2.12.92

  • Bug fixes

Fontconfig 2.12.91

  • config description support
  • allow sharing caches with bind-mounted dirs
  • improve the footprint on creating caches
  • variable fonts support
  • bug fixes

Fontconfig 2.11.95

  • Unicode 8.0 support
  • Fix memory leaks
  • Fix footprint issue on updating caches
  • Fix build issues on MinGW
  • Add hintstyle templates and default hihtslight
  • GX font support

Fontconfig 2.11.94

  • Fix bitmap scaling
  • Support symbol fonts
  • Fix memory leaks
  • Fix typos
  • Fix SIGFPE
  • Observe blanks to compute languages in fc-query/fc-scan

Fontconfig 2.11.93

  • Fix symbol cmap handlingn
  • Fix build issues on some platforms
  • Hardcode blanks in library
  • Don't add FC_LANG when it has "und"

Fontconfig 2.11.92

  • Add missing description for properties in document.
  • Fix an error on make check

Fontconfig 2.11.91

  • Support the size specific design selection in OS/2 table version 5
  • Rebase ja.orth against Joyo kanji characters
  • Allow the modification on FcTypeVoid with FcTypeLangSet and FcTypeCharSet
  • Update CaseFolding.txt and blanks to Unicode 7.0
  • Increase the refcount in FcConfigSetCurrent()
  • Update aliases for new URW fonts
  • Add an option --error-on-no-fonts to fc-cache to make a fail if no fonts found in a dir.
  • Deprecate FC_HASH and don't compute it
  • Remove U+3164 HANGUL FILLER from ko.orth
  • Change the charset parse/unparse format to be human readable
  • Decode MacRoman encoding in name table without iconv
  • Use lang=und instead of lang=xx for "undetermined"
  • Add FC_WEIGHT_DEMILIGHT and change from 65 to 55
  • Add FC_COLOR
  • Treat color fonts as scalable
  • Fix the buffer overflow in copying PS name
  • Bump the cache version to 5
  • and many bug fixes...

Fontconfig 2.10.95

  • Fix a crash

Fontconfig 2.10.94

  • Fix the parser to ignore the leading whitespaces in the parameter
  • Fix portability issues
  • Fix the behavior of intermixed test and edit elements in match
  • Auto migration for XDG Base Directory Specification
  • Match on FC_SCALABLE and FC_FONTFORMAT
  • Add quz.orth

Fontconfig 2.10.93

  • Bug fixes

The bits are available here. The ChangeLog since 2.10.92 is available here.

Fontconfig 2.10.92

  • New objects support in FcPattern
    • FC_FONT_FEATURES
    • FC_PRGNAME
    • FC_HASH
    • FC_POSTSCRIPT_NAME
  • The cache version bumped to 4
  • Support intermixed edit and test elements
  • Support delete and delete_all mode in edit element
  • Add --sysroot option to fc-cache
  • Improve portability
  • and more bug fixes

The bits are available here. The ChangeLog since 2.10.91 is available here.

Fontconfig 2.10.91

  • Make fontconfig thread-safe
  • Use O_CLOEXEC to open a file
  • Fix portability issues
  • new tool, fc-validate to check the glyph coverage against the language
  • Deprecate FcName(Un)RegisterObjectTypes() and FcName(Un)RegisterConstants()
  • User-defined numerical expressions support in the matrix element
  • Add new rule to scale the bitmap font and enabled by default
  • more bug fixes

The bits are available here. The ChangeLog since 2.10.2 is available here.

Fontconfig 2.9.92

  • Fix the build issues on Win32
  • Deprecate FC_GLOBAL_ADVANCE
  • Stop annoyed warnings regarding to the deprecated config path.

The bits are available here. The ChangeLog since 2.9.91 is available here.

Fontconfig 2.9.91

Various bug fixes and feature enhancements is included. the summary of the changes since 2.9 is:

  • CACHEDIR.TAG support
  • configurable fontconfig paths
  • Allow elements in the alias element
  • Allow matching the font file name
  • Disable iconv support by default, which was used to provide a feature to convert non-Unicode SFNT names to UTF-8
  • Add "namelang" object to obtain the localized name of the family, style and fullname
  • Add FONTCONFIG_USE_MMAP environment variable to control the mmap usage from outside fontconfig
  • Add "ignore-blanks" attribute to
  • XDG Base Directory Specification support
  • Warn if the multiple values is set to
  • Fix cache aging for fonts on FAT filesystem
  • Reflect the default language to the pattern to obtain the best font

The bits are available here. The ChangeLog since 2.9.0 is available here.

Fontconfig 2.2.96

FcConfigUpToDate had some bugs rendering it useless. Thanks to Lubos Lunak for fixes. Also, picky C compilers whined about a spurious comma in an enum. The bits are available here. The ChangeLog since 2.2.95 is available here.

Fontconfig 2.2.95

Fontconfig was using MIN/MAX/ABS macros that happened to come from FreeType. FreeType 2.1.8 (wisely) prefixes those names with FT_ now. Fontconfig was changed to have it's own versions of these macros (FC_MIN/FC_MAX/FC_ABS) to avoid problems in the future. A few other minor changes are included in this release. The bits are available here. The ChangeLog since 2.2.94 is available here.

Fontconfig 2.2.94

Fontconfig 2.2.93 was packaged with a broken version of libtool. That's the only change for fontconfig 2.2.94. The bits are available here.

Fontconfig 2.2.93

Fontconfig 2.2.93 is the third snapshot in the 2.3 release cycle. The bits are available here The ChangeLog since 2.2.92 is available here.

Fontconfig 2.2.92

Fontconfig 2.2.92 is the second snapshot in the 2.3 release cycle. The bits are available here The ChangeLog since 2.2.90 is available here

Fontconfig 2.2.90

Fontconfig 2.2.90 is the first snapshot in the 2.3 release cycle. The bits are available here