FcNameUnparse is supposed to turn an FcPattern into a string, while
FcNameParse is supposed to turn a string into an FcPattern. However,
it turns out that FcNameParse cannot correctly handle full pattern
strings produced by FcNameUnparse. The problem specifically occurs
when the pattern contains a value for the “charset” property.
I raised this issue on the Fontconfig list, where you will find a
sample C program that illustrates the bug:
(I can repost that same program here if you prefer.)
In reply, Akira Tagoh was kind enough to point me to this reworking
of the parse/unparse code
which you will note was committed over 2 years ago. In short, upgrading
the Debian package to the current Fontconfig 2.12.0 stable release
should fix the problem.
-- System Information:
Debian Release: stretch/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 4.8.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_NZ.UTF-8, LC_CTYPE=en_NZ.UTF-8 (charmap=UTF-8) (ignored: LC_ALL
set to en_NZ.utf8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages libfontconfig1 depends on:
ii fontconfig-config 2.11.0-6.7
ii libc6 2.24-5
ii libexpat1 2.2.0-1
ii libfreetype6 2.6.3-3+b1
libfontconfig1 recommends no packages.
libfontconfig1 suggests no packages.
-- no debconf information