fontconfig issueshttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues2022-10-26T11:33:31Zhttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/333[Mingw-w64] meson step fails due to issues with sh and piping into gperf2022-10-26T11:33:31ZChristopher Degawaccom@randomderp.com[Mingw-w64] meson step fails due to issues with sh and piping into gperf```ps
git -C .\build\fontconfig-git\ describe --always --tags --dirty
2.14.1
```
log
```meson
CPPFLAGS: -D_FORTIFY_SOURCE=0 -D__USE_MINGW_ANSI_STDIO=1
CFLAGS: -mthreads -mtune=generic -O2 -pipe
CXXFLAGS: -mthreads -mtune=generic -O2 -pi...```ps
git -C .\build\fontconfig-git\ describe --always --tags --dirty
2.14.1
```
log
```meson
CPPFLAGS: -D_FORTIFY_SOURCE=0 -D__USE_MINGW_ANSI_STDIO=1
CFLAGS: -mthreads -mtune=generic -O2 -pipe
CXXFLAGS: -mthreads -mtune=generic -O2 -pipe
LDFLAGS: -pipe -static-libgcc -static-libstdc++
meson .. --default-library=static --buildtype=release --prefix=/local32 --backend=ninja --bindir=bin-global -Ddoc=disabled -Dtests=disabled
The Meson build system
Version: 0.63.3
Source dir: D:/media-autobuild_suite/build/fontconfig-git
Build dir: D:/media-autobuild_suite/build/fontconfig-git/build-32bit
Build type: native build
Project name: fontconfig
Project version: 2.14.1
C compiler for the host machine: gcc.bat (gcc 12.2.0 "gcc.exe (Rev4, Built by MSYS2 project) 12.2.0")
C linker for the host machine: gcc.bat ld.bfd 2.39
Host machine cpu family: x86
Host machine cpu: x86
Found pkg-config: --keep-system-cflags (1.8.0)
Run-time dependency freetype2 found: YES 24.3.18
Run-time dependency expat found: YES 2.4.9
Program python3 found: YES (D:/media-autobuild_suite/msys64/mingw32/bin/python.exe)
Has header "dirent.h" : YES
Has header "fcntl.h" : YES
Has header "stdlib.h" : YES
Has header "string.h" : YES
Has header "unistd.h" : YES
Has header "sys/statvfs.h" : NO
Has header "sys/vfs.h" : NO
Has header "sys/statfs.h" : NO
Has header "sys/param.h" : YES
Has header "sys/mount.h" : NO
Checking for function "link" : NO
Checking for function "mkstemp" : YES
Checking for function "mkostemp" : NO
Checking for function "_mktemp_s" : YES
Checking for function "mkdtemp" : NO
Checking for function "getopt" : YES
Checking for function "getopt_long" : YES
Checking for function "getprogname" : NO
Checking for function "getexecname" : NO
Checking for function "rand" : YES
Checking for function "random" : NO
Checking for function "lrand48" : NO
Checking for function "random_r" : NO
Checking for function "rand_r" : NO
Checking for function "readlink" : NO
Checking for function "fstatvfs" : NO
Checking for function "fstatfs" : NO
Checking for function "lstat" : NO
Checking for function "mmap" : NO
Checking for function "vprintf" : YES
Checking for function "FT_Get_BDF_Property" with dependency freetype2: YES
Checking for function "FT_Get_PS_Font_Info" with dependency freetype2: YES
Checking for function "FT_Has_PS_Glyph_Names" with dependency freetype2: YES
Checking for function "FT_Get_X11_Font_Format" with dependency freetype2: YES
Checking for function "FT_Done_MM_Var" with dependency freetype2: YES
Header "fcntl.h" has symbol "posix_fadvise" : NO
Checking whether type "struct statvfs" has member "f_basetype" : NO
Checking whether type "struct statvfs" has member "f_fstypename" : NO
Checking whether type "struct statfs" has member "f_flags" : NO
Checking whether type "struct statfs" has member "f_fstypename" : NO
Checking whether type "struct dirent" has member "d_type" : NO
Checking for size of "void *" : 4
Checking for alignment of "void *" : 4
Checking for alignment of "double" : 8
Checking if "stdatomic.h atomics" : links: YES
Checking if "Intel atomics" : links: YES
Checking if "Solaris atomic ops" : links: NO
Program gperf found: YES (D:\media-autobuild_suite\msys64\mingw32\bin/gperf.EXE)
Program sh found: YES (D:\media-autobuild_suite\msys64\usr\bin/sh.EXE)
../meson.build:337:2: ERROR: Command "D:\media-autobuild_suite\msys64\usr\bin/sh.EXE -c echo foo,bar | D:\media-autobuild_suite\msys64\mingw32\bin/gperf.EXE -L ANSI-C" failed with status 127.
A full log can be found at D:/media-autobuild_suite/build/fontconfig-git/build-32bit/meson-logs/meson-log.txt
```
running without meson:
```bash
D:\media-autobuild_suite\msys64\usr\bin/sh.EXE -c "echo foo,bar | D:\media-autobuild_suite\msys64\mingw32\bin/gperf.EXE -L ANSI-C"
/trunk/msys64/usr/bin/sh: line 1: D:media-autobuild_suitemsys64mingw32bin/gperf.EXE: No such file or directory
$LASTEXITCODE
127
```
Perhaps instead of using sh to pipe into stdin, `foo,bar` could be written out to a file and that could be used as the input?https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/135Minus charset in scan doesn't work2018-11-27T07:03:51ZMarguerite SuMinus charset in scan doesn't workHi,
I am currently working on blacklisting whitespace char (0x0020) from Noto Color Emoji.
And I know it's possible because of this fixed [bug#31969](https://bugs.freedesktop.org/show_bug.cgi?id=31969)
But unluckily it doesn't work.
...Hi,
I am currently working on blacklisting whitespace char (0x0020) from Noto Color Emoji.
And I know it's possible because of this fixed [bug#31969](https://bugs.freedesktop.org/show_bug.cgi?id=31969)
But unluckily it doesn't work.
I created a testcase like the original bug reporter Akira TAGOH:
<match target="scan">
<test name="family">
<string>VL Gothic</string>
</test>
<edit name="charset" mode="assign">
<minus>
<name>charset</name>
<charset>
<range>
<int>0x0030</int>
<int>0x00FF</int>
</range>
</charset>
</minus>
</edit>
</match>
I should get result like this:
FcConfigSubstitute test scan any family Equal "VL Gothic"
Substitute match
scan any family Equal "VL Gothic"
edit
Edit charset Assign charset Minus charset
;
Append list before
Append list after
0000: 00000000 ffffffff fffffffe 7fffffff 00000000 ffffffff ffffffff fff
fffff
But I can only find the first part. There is no 'Append list after' stuff at all. I doubt if it is applied.
And in the final match, I can still view lots of chars that should be substracted:
FcConfigSubstitute editPattern has 42 elts (size 48)
family: "VL Gothic"(s) "VL ゴシック"(s)
...
charset:
...
0030: ffffffff 38ff0001 fffffffe ffffffff fe7fffff ffffffff ffffffff ffffffff
0031: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ffff0000
0032: 00000000 ffffffff fffe000f 00000000 ffffffff ffffffff ffffffff 7fffffff
0033: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 7fffffff
0047: 80001000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
...
It doesn't seem to work at all.
Am I missing something? or this feature has been removed from fontconfig?
I think something introduced in 2010.12 should work after so many years...
Greetings
Margueritehttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/96Missing closing bracket in src/fcstr.c (git master)2018-08-21T03:13:12ZBugzilla Migration UserMissing closing bracket in src/fcstr.c (git master)## Submitted by sor..@..teo.jp
Assigned to **fon..@..op.org**
**[Link to original bug (#107444)](https://bugs.freedesktop.org/show_bug.cgi?id=107444)**
## Description
There is a missing closing bracket in src/fcstr.c at line 875: ...## Submitted by sor..@..teo.jp
Assigned to **fon..@..op.org**
**[Link to original bug (#107444)](https://bugs.freedesktop.org/show_bug.cgi?id=107444)**
## Description
There is a missing closing bracket in src/fcstr.c at line 875: https://cgit.freedesktop.org/fontconfig/tree/src/fcstr.c#n875
Patch:
diff --git a/src/fcstr.c b/src/fcstr.c
index bfddd68..4247c85 100644
--- a/src/fcstr.c
+++ b/src/fcstr.c
@@ -872,7 +872,7 @@ FcStrIsAbsoluteFilename (const FcChar8 *s)
{
#ifdef _WIN32
if (*s == '\\' ||
- (isalpha (*s) && s[1] == ':' && (s[2] == '/' || s[2] == '\\'))
+ (isalpha (*s) && s[1] == ':' && (s[2] == '/' || s[2] == '\\')))
return FcTrue;
#endif
return *s == '/';
--
2.18.0https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/276Missing <dir> element for WINDOWSFONTDIR when buliding with meson2021-03-03T13:38:01ZAkira TAGOHMissing <dir> element for WINDOWSFONTDIR when buliding with mesonAs reported to https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/173As reported to https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/173Akira TAGOHAkira TAGOHhttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/322missing @FONTCONFIG_LIBS@ macos2022-04-13T05:35:39Zlutz683missing @FONTCONFIG_LIBS@ macos/Library/Developer/CommandLineTools/usr/bin/make check-TESTS
FAIL: run-test.sh
PASS: test-bz89617
PASS: test-bz131804
PASS: test-bz96676
PASS: test-name-parse
SKIP: run-test-conf.sh
PASS: test-bz106632
PASS: test-issue107
PASS: test-bz1.../Library/Developer/CommandLineTools/usr/bin/make check-TESTS
FAIL: run-test.sh
PASS: test-bz89617
PASS: test-bz131804
PASS: test-bz96676
PASS: test-name-parse
SKIP: run-test-conf.sh
PASS: test-bz106632
PASS: test-issue107
PASS: test-bz1744377
PASS: test-issue180
PASS: test-family-matching
============================================================================
Testsuite summary for fontconfig 2.14.0
============================================================================
# TOTAL: 11
# PASS: 9
# SKIP: 1
# XFAIL: 0
# FAIL: 1
# XPASS: 0
# ERROR: 0
============================================================================
See test/test-suite.log
Please report to https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/new
============================================================================
make[5]: *** [test-suite.log] Error 1
make[4]: *** [check-TESTS] Error 2
make[3]: *** [check-am] Error 2
make[2]: *** [check] Error 2
make[1]: *** [check-recursive] Error 1
make: *** [distcheck] Error 1https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/303Not all OpenType variations detected (Regression in version 2.13.94)2021-12-09T11:41:32ZErik ArvstedtNot all OpenType variations detected (Regression in version 2.13.94)Since version `2.13.94`, fontconfig fails to detect all variations/weights for some fonts.
### Reproduce
```bash
# Download demo font
curl -L https://github.com/erikarvstedt/fontforge-bug-repro/blob/99490c7b5cedb965274e3306f8eb062b69577...Since version `2.13.94`, fontconfig fails to detect all variations/weights for some fonts.
### Reproduce
```bash
# Download demo font
curl -L https://github.com/erikarvstedt/fontforge-bug-repro/blob/99490c7b5cedb965274e3306f8eb062b69577a27/SFNSDisplay.ttf?raw=true -o SFNSDisplay.ttf
fc-scan SFNSDisplay.ttf | grep weight
# This outputs 10 weights with fontconfig <= 2.13.93,
# but only 2 weights with fontconfig 2.13.94
```
Use [this script](https://gist.github.com/10eb1a55f1eab6ae0fa77df290b51334) for a fully specified, isolated repro in a [Nix](https://nixos.org/) build.
I've also reproduced this via the `archlinux@sha256:3ac6d1abecb740c95fe990b0cc15cb6d261cb2b18ab2c541119778f5de71d08e` docker image which contains fontconfig `2.13.94`.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/409Noto Color Emoji is broken with fontconfig 2.15.02024-03-11T13:56:52ZJeremy BichaNoto Color Emoji is broken with fontconfig 2.15.0I am filing a new issue since I don't have the ability to reopen #400 directly and I believe this is a significant regression.
I have also verified this issue with Debian Testing and Ubuntu 24.04 LTS, both of which are using fontconfig ...I am filing a new issue since I don't have the ability to reopen #400 directly and I believe this is a significant regression.
I have also verified this issue with Debian Testing and Ubuntu 24.04 LTS, both of which are using fontconfig 2.15.0-1 and fonts-color-noto-emoji 2.042 (the latest version).https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/136Noto Color Emoji is partially used2020-09-21T12:35:14ZFrancisco RamosNoto Color Emoji is partially usedThis comes from:
https://bugs.launchpad.net/ubuntu/+source/fonts-noto-color-emoji/+bug/1770783
Also happening in Gentoo. In summary, with Google Chrome and Firefox, sometimes some emojis are shown with Noto Color Emoji while others are ...This comes from:
https://bugs.launchpad.net/ubuntu/+source/fonts-noto-color-emoji/+bug/1770783
Also happening in Gentoo. In summary, with Google Chrome and Firefox, sometimes some emojis are shown with Noto Color Emoji while others are shown with the old B&W style.
For example you can see many examples simply looking to the comments of many youtube videos as people seems to like to use a lot of emojis on them and you can see some use Noto Color Emoji while others not:
https://www.youtube.com/watch?v=gAirINwjaxE
https://www.youtube.com/watch?v=bDb5QMRTCPI
https://www.youtube.com/watch?v=bbEoRnaOIbs
(and many other random examples)
Looking to "Inspect element" Firefox tool, in "Fonts" section, I see that "Dejavu Sans" is being used to show emojis instead of Noto Color Emoji. I have seen that current default /etc/fonts/conf.avail/60-generic.conf only sets Noto Color Emoji for <family>emoji</family> while, probably, it should also be listed for other "families" to be used over ugly emoji fonts from other font sets
Thankshttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/402Noto Sans Mono is not monospaced2024-01-10T14:53:05ZAlberto Salvia NovellaNoto Sans Mono is not monospacedAs said [here](https://github.com/notofonts/latin-greek-cyrillic/issues/234), the font isn't really monospaced. Hence Qt apps complain when you launch them.
I suggest removing it from [here](https://gitlab.freedesktop.org/fontconfig/fon...As said [here](https://github.com/notofonts/latin-greek-cyrillic/issues/234), the font isn't really monospaced. Hence Qt apps complain when you launch them.
I suggest removing it from [here](https://gitlab.freedesktop.org/fontconfig/fontconfig/-/blob/main/conf.d/60-latin.conf#L38) till that bug is fixed.
If you agree I can make a merge request.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/16Not respecting $XDG_CACHE_DIR2022-07-01T06:16:02ZBugzilla Migration UserNot respecting $XDG_CACHE_DIR## Submitted by Alexander Puls
Assigned to **fon..@..op.org**
**[Link to original bug (#99592)](https://bugs.freedesktop.org/show_bug.cgi?id=99592)**
## Description
fontconfig is not respecting $XDG_CACHE_DIR variable, instead cac...## Submitted by Alexander Puls
Assigned to **fon..@..op.org**
**[Link to original bug (#99592)](https://bugs.freedesktop.org/show_bug.cgi?id=99592)**
## Description
fontconfig is not respecting $XDG_CACHE_DIR variable, instead cache dir seems to be hardcoded into $HOME/.cache.
Version: 2.12https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/140null-pointer check in FcConfigEvaluate2019-01-23T06:50:41ZThomas E. Dickeynull-pointer check in FcConfigEvaluateFcConfigEvaluate does not check if its "e" parameter is null, causing a crash. See [Debian #917034](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=917034). The suggested patch addresses that problem
[fix-db917034.diff](/uploads/88e...FcConfigEvaluate does not check if its "e" parameter is null, causing a crash. See [Debian #917034](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=917034). The suggested patch addresses that problem
[fix-db917034.diff](/uploads/88e7a7841c95cf5ae425b04d321f8647/fix-db917034.diff)Akira TAGOHAkira TAGOHhttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/349Outdated version information on web site2023-01-30T06:41:59ZRyan Carsten SchmidtOutdated version information on web siteThe [fontconfig web site](https://www.freedesktop.org/wiki/Software/fontconfig/) says:
> The current stable series is 2.13.1.
However versions 2.14.0, 2.14.1, and 2.14.2 have already been released. Aren't they considered stable?The [fontconfig web site](https://www.freedesktop.org/wiki/Software/fontconfig/) says:
> The current stable series is 2.13.1.
However versions 2.14.0, 2.14.1, and 2.14.2 have already been released. Aren't they considered stable?https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/225Please add a FONTCONFIG_CONFDIR environment variable pointing to a directory ...2023-06-19T12:23:23ZNicolas MailhotPlease add a FONTCONFIG_CONFDIR environment variable pointing to a directory of conf filesRight now fontconfig provides no mean to point its utilities to a directory of additional config files.
That mean that font packages, that include fonts with broken naming, will get this broken naming registered in their appstream and r...Right now fontconfig provides no mean to point its utilities to a directory of additional config files.
That mean that font packages, that include fonts with broken naming, will get this broken naming registered in their appstream and rpm provides, even when they include a fontconfig ruleset that fixes the problem.
For example a font like Raleway, that registers its version in the upstream family name, ends up with
`Provides: font(raleway-v4020)` even though what the user will get once the package is installed is `font(raleway)` (thanks to a fontconfig fixup)
Please add a FONTCONFIG_CONFDIR environment variable that points fontconfig to a directory containing additional conf files (if you’re ambitious you can make it a FONTCONFIG_CONFPATh to allow declaring multiple directories)
At rpm build time (to take one packaging tech) the fontconfig conf files provided by the package itself exist in:
`%{buildroot}%{_datadir}/fontconfig/conf.avail` and nowhere elsehttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/204Please add a math lang/orthography/whatever2019-12-09T07:37:20ZNicolas MailhotPlease add a math lang/orthography/whateverAs math font blocks become more common applications need to select them (and the correct block for a specific font, not jut a unified generic)
Please add a math lang/orthography/whatever so apps can ask "STIX, with math" and get STIX Ma...As math font blocks become more common applications need to select them (and the correct block for a specific font, not jut a unified generic)
Please add a math lang/orthography/whatever so apps can ask "STIX, with math" and get STIX Math data, "DejaVu Serif, with math" and get "TeX Gyre DejaVu Math" data, "GFS NeoHellenic, with math" and get GFS NeoHellenic Math data
Issue #200 will remove the separate listing of math blocks in font lists, so correct selection in importanthttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/205Please add an emogi lang/orthography/whatever2019-12-09T05:09:47ZNicolas MailhotPlease add an emogi lang/orthography/whateverSame issue as #204, for emogi
Please make fontconfig block selection reliable so users do not have to resort to hadcoding specific font files and technical font family names in macros and documentsSame issue as #204, for emogi
Please make fontconfig block selection reliable so users do not have to resort to hadcoding specific font files and technical font family names in macros and documentshttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/192Please add <assemble> → <merge> → <match> → <best> and <fallback>2019-11-22T17:44:19ZNicolas MailhotPlease add <assemble> → <merge> → <match> → <best> and <fallback>This is a follow-up of:
https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/187
**This issue documents a solution that was mulled in the past on the fontconfig and fonts mailing list.
I find it overly complex and unnecessary.
So...This is a follow-up of:
https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/187
**This issue documents a solution that was mulled in the past on the fontconfig and fonts mailing list.
I find it overly complex and unnecessary.
So, adding it here for completeness reasons if someone disagrees with me, but not endorsing it in any way.**
History has proven that using a single priority list in fontconfig is essentially unmaintainable, because making any change requires synchronizing all the declarations inside the list.
Therefore, add `best` and `fallback` containers inside `merge`
1. `best` for elements, that should be considered before all others, in priority order
2. `fallback` for low quality font blocks, that should only used if nothing else is available.
The priority resolution mecanism becomes:
1. all the blocks, entered in `best` by declaration order (higher priority declared first)
2. all the blocks, in the general list, in no particular order (fontconfig can choose whichever it likes best). General list is anything not contained in `best` or `fallback`
3. at last resort, the blocks in fallback, in no particular order
```xml
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- SPDX-License-Identifier: MIT -->
<fontconfig>
<assemble>
<family>@canonical_name@</family>
<merge>
<family></family>
<match>
<best> <!-- Good high quality font blocks -->
<family></family>
<family></family>
</best>
<family></family>
<family></family>
<fallback> <!-- Low quality last resort font blocks -->
<family></family>
<family></family>
</fallback>
</match>
</merge>
</assemble>
</fontconfig>
```
Application example (complete example)
```xml
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- SPDX-License-Identifier: MIT -->
<fontconfig>
<assemble>
<family>Foo</family>
<merge>
<best>
<family>Foo New</family> <!-- Better and newer font files, partial coverage to start up -->
</best>
<family>Foo Math</family>
<match>
<family>Foo Condensed</family>
<prefix>Condensed</prefix>
</match>
<match>
<family>Broken FooBar</family>
<style>Default</style>
<to>Regular</to>
</match>
<fallback>
<match>
<fullname>Broken Foo</fullname>
</match>
<family>Foo Fallback</family> <!-- High-coverage low-quality font files -->
</fallback>
</merge>
</assemble>
</fontconfig>
```
Application example (just the `best` and `fallback` parts)
```xml
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- SPDX-License-Identifier: MIT -->
<fontconfig>
<assemble>
<family>Foo</family>
<merge>
<best>
<family>Foo New</family> <!-- Better and newer font files, partial coverage to start up -->
</best>
<fallback>
<family>Foo Fallback</family> <!-- High-coverage low-quality font files -->
</fallback>
</merge>
</assemble>
</fontconfig>
```https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/226Please provide an ordering dimension separate from version2020-05-25T09:49:23ZNicolas MailhotPlease provide an ordering dimension separate from versionA long time ago when we defined how to merge a font family spread over multiple files with @behdad , we just rewrote font versions so that (for example) the `Droid Sans` core provided by `Droid Sans` would have a higher version number th...A long time ago when we defined how to merge a font family spread over multiple files with @behdad , we just rewrote font versions so that (for example) the `Droid Sans` core provided by `Droid Sans` would have a higher version number than the `Droid Sans Hebrew` part.
The drawback of this approach is that it replaces the original versions of all affected files, and fontconfig can no longer distinguish between old and newer versions of the same file (all the `Droid Sans Hebrew` files get the same new version for example)
Please provide a priorization dimension separate from version, so a fontconfig ruleset can declare `Droid Sans` must be merged before `Droid Sans Hebrew`, but fontconfig can still order all the `Droid Sans Hebrew` files by original version numberhttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/237Potential double-free of the name_mapping pointer in FcFreeTypeQueryFaceInternal2020-05-12T11:03:22ZJonathan KewPotential double-free of the name_mapping pointer in FcFreeTypeQueryFaceInternalI think there's a potential double-free bug in the FcFreeTypeQueryFaceInternal function, introduced in 61573ad5f7c4dd0860d613d99d0086433240eb75.
If no `nm_share` pointer is passed in, the `name_mapping` pointer will be allocated at http...I think there's a potential double-free bug in the FcFreeTypeQueryFaceInternal function, introduced in 61573ad5f7c4dd0860d613d99d0086433240eb75.
If no `nm_share` pointer is passed in, the `name_mapping` pointer will be allocated at https://gitlab.freedesktop.org/fontconfig/fontconfig/-/blob/master/src/fcfreetype.c#L1443.
It will then (again, provided `nm_share` is null) be freed at https://gitlab.freedesktop.org/fontconfig/fontconfig/-/blob/master/src/fcfreetype.c#L1630.
But if something subsequently fails, and we jump to the `bail1` cleanup code at https://gitlab.freedesktop.org/fontconfig/fontconfig/-/blob/master/src/fcfreetype.c#L2201, the already-freed `name_mapping` pointer will be freed again, AFAICS.
A simple fix would be to reset the pointer to NULL when it is freed in the main body of the function.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/313Preferable DejaVu families order swap in 60-latin.conf breaks display in Conky2022-02-10T21:48:33ZFrankPreferable DejaVu families order swap in 60-latin.conf breaks display in ConkyHello,
Recent update of fontconfig to 2.13.96-1 has changed the order of preferable fonts in `/usr/share/fontconfig/conf.avail/60-latin.conf` which causes display issues with program CONKY. Depending on the Conky configuration you have,...Hello,
Recent update of fontconfig to 2.13.96-1 has changed the order of preferable fonts in `/usr/share/fontconfig/conf.avail/60-latin.conf` which causes display issues with program CONKY. Depending on the Conky configuration you have, it can be as simple as adding spacings between lines which throws off screen part of the Conky, to messing up the entire configuration which becomes unreadable.
Reverting back to previous order of preferable fonts fixes entirely the issue. Previous fontconfig version is 2.13.94-1 on my machine.
Previous version shows `DejaVu` font as being the preferred family in all blocks containing DejaVu.
```
<description>Set preferable fonts for Latin</description>
<alias>
<family>serif</family>
<prefer>
<family>DejaVu Serif</family>
<family>Times New Roman</family>
<family>Thorndale AMT</family>
<family>Luxi Serif</family>
<family>Nimbus Roman No9 L</family>
<family>Nimbus Roman</family>
<family>Times</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>DejaVu Sans</family>
<family>Verdana</family>
<family>Arial</family>
<family>Albany AMT</family>
<family>Luxi Sans</family>
<family>Nimbus Sans L</family>
<family>Nimbus Sans</family>
<family>Helvetica</family>
<family>Lucida Sans Unicode</family>
<family>BPG Glaho International</family> <!-- lat,cyr,arab,geor -->
<family>Tahoma</family> <!-- lat,cyr,greek,heb,arab,thai -->
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>DejaVu Sans Mono</family>
<family>Inconsolata</family>
<family>Andale Mono</family>
<family>Courier New</family>
<family>Cumberland AMT</family>
<family>Luxi Mono</family>
<family>Nimbus Mono L</family>
<family>Nimbus Mono</family>
<family>Nimbus Mono PS</family>
<family>Courier</family>
</prefer>
</alias>
<!--
```
After the latest update it now shows like this:
```
<description>Set preferable fonts for Latin</description>
<alias>
<family>serif</family>
<prefer>
<family>Noto Serif</family>
<family>DejaVu Serif</family>
<family>Times New Roman</family>
<family>Thorndale AMT</family>
<family>Luxi Serif</family>
<family>Nimbus Roman No9 L</family>
<family>Nimbus Roman</family>
<family>Times</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans</family>
<family>DejaVu Sans</family>
<family>Verdana</family>
<family>Arial</family>
<family>Albany AMT</family>
<family>Luxi Sans</family>
<family>Nimbus Sans L</family>
<family>Nimbus Sans</family>
<family>Helvetica</family>
<family>Lucida Sans Unicode</family>
<family>BPG Glaho International</family> <!-- lat,cyr,arab,geor -->
<family>Tahoma</family> <!-- lat,cyr,greek,heb,arab,thai -->
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Noto Sans Mono</family>
<family>DejaVu Sans Mono</family>
<family>Inconsolata</family>
<family>Andale Mono</family>
<family>Courier New</family>
<family>Cumberland AMT</family>
<family>Luxi Mono</family>
<family>Nimbus Mono L</family>
<family>Nimbus Mono</family>
<family>Nimbus Mono PS</family>
<family>Courier</family>
</prefer>
</alias>
<!--
```
DejaVu families are in 2nd order, which causes the issue. Reverting back to 1st in order fixes everything.
It that a normal behavior we need to work around from now on or it is an issue?
Thankshttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/132Problems relating xfsettingsd and fontconfig on Fedora 292018-11-07T09:22:46ZpolemonProblems relating xfsettingsd and fontconfig on Fedora 29After upgrading from Fedora 28 to Fedora 29, I noticed a problem with xfsettingsd.
It will lock up the system every five seconds or so, for about one second. This happens right after logging in. A quick remedy is to kill xfsettingsd.
Ru...After upgrading from Fedora 28 to Fedora 29, I noticed a problem with xfsettingsd.
It will lock up the system every five seconds or so, for about one second. This happens right after logging in. A quick remedy is to kill xfsettingsd.
Running xfsettingsd again, it seems things are alright, until I open a terminal emulator, then the problem starts anew, and necessitates killing xfsettingsd.
Originally, I thought this was related to terminal emulators or vte3, but it turns out this is a fontconfig issue, most likely.
Other people have apparently been hit with the problem, using a different distro, so it's not purely Fedora related:
https://forums.kali.org/showthread.php?42495-xfsettingsd(xfce4-settings)-cause-the-pc-freeze-every-two-or-three-seconds
There is a reference to this commit: https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/5f12f564f8748deaa603adb7a4b8f616b6390ad4
Is that the solution to that issue, and I should simply wait for an update, or is there something I can or must do, to alleviate the problem?
Unfortunately, I can't find any error messages to narrow the problem down, if there is a way for me to provide further information, please tell me so.
Thanks,
--pb