fontconfig issueshttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues2020-08-06T04:28:48Zhttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/248warnings with msys2 + mingw-w642020-08-06T04:28:48Zvtorriwarnings with msys2 + mingw-w64with msys2+mingw-w64, there are some warnings :
```
../src/fccache.c: In function 'FcCacheFini':
../src/fccache.c:811:62: warning: format '%d' expects argument of type 'int', but argument 4 has type 'fc_atomic_int_t' {aka 'long int'} [...with msys2+mingw-w64, there are some warnings :
```
../src/fccache.c: In function 'FcCacheFini':
../src/fccache.c:811:62: warning: format '%d' expects argument of type 'int', but argument 4 has type 'fc_atomic_int_t' {aka 'long int'} [-Wformat=]
811 | printf("Fontconfig error: not freed %p (dir: %s, refcount %d)\n", s->cache, FcCacheDir(s->cache), s->ref.count);
| ~^ ~~~~~~~~~~~~
| | |
| int fc_atomic_int_t {aka long int}
| %ld
../src/fccache.c:811:62: warning: format '%d' expects argument of type 'int', but argument 4 has type 'fc_atomic_int_t' {aka 'long int'} [-Wformat=]
811 | printf("Fontconfig error: not freed %p (dir: %s, refcount %d)\n", s->cache, FcCacheDir(s->cache), s->ref.count);
| ~^ ~~~~~~~~~~~~
| | |
| int fc_atomic_int_t {aka long int}
| %ld
../src/fccache.c: In function 'FcDirChecksum':
../src/fccache.c:1160:56: warning: unknown conversion type character 'l' in format [-Wformat=]
1160 | "Fontconfig: SOURCE_DATE_EPOCH: strtoull: %s: %llu\n",
| ^
../src/fccache.c:1160:8: warning: too many arguments for format [-Wformat-extra-args]
1160 | "Fontconfig: SOURCE_DATE_EPOCH: strtoull: %s: %llu\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/fccache.c:1160:56: warning: unknown conversion type character 'l' in format [-Wformat=]
1160 | "Fontconfig: SOURCE_DATE_EPOCH: strtoull: %s: %llu\n",
| ^
../src/fccache.c:1160:8: warning: too many arguments for format [-Wformat-extra-args]
1160 | "Fontconfig: SOURCE_DATE_EPOCH: strtoull: %s: %llu\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/fccache.c:1167:65: warning: unknown conversion type character 'l' in format [-Wformat=]
1167 | "Fontconfig: SOURCE_DATE_EPOCH must be <= %lu but saw: %llu\n",
| ^
../src/fccache.c:1167:8: warning: too many arguments for format [-Wformat-extra-args]
1167 | "Fontconfig: SOURCE_DATE_EPOCH must be <= %lu but saw: %llu\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/fccache.c:1167:65: warning: unknown conversion type character 'l' in format [-Wformat=]
1167 | "Fontconfig: SOURCE_DATE_EPOCH must be <= %lu but saw: %llu\n",
| ^
../src/fccache.c:1167:8: warning: too many arguments for format [-Wformat-extra-args]
1167 | "Fontconfig: SOURCE_DATE_EPOCH must be <= %lu but saw: %llu\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
also :
```
../src/fcstat.c: In function 'FcIsFsMmapSafe':
../src/fcstat.c:428:18: warning: 'statb.is_remote_fs' may be used uninitialized in this function [-Wmaybe-uninitialized]
428 | return !statb.is_remote_fs;
| ~~~~~^~~~~~~~~~~~~
```https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/245Follow-up from "Add support for Meson build system": msvc export defines inst...2020-11-25T07:48:09ZTim-Philipp Müllertim@centricular.comFollow-up from "Add support for Meson build system": msvc export defines instead of .def fileThe following discussion from !87 should be addressed:
- [ ] @tagoh started a [discussion](https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/87#note_555343): (+3 comments)
> Hmm, why did you make this as static...The following discussion from !87 should be addressed:
- [ ] @tagoh started a [discussion](https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/87#note_555343): (+3 comments)
> Hmm, why did you make this as static file? who would maintain this then?
> (tpm)
> A better approach would be to add API defines/markers for all public API in the header file(s) and then define > those for import/export.
>
> It looks like that already exists in form of `FcPublic` actually, so we could probably just use that.
>
> I would suggest we "Resolve this thread into a new issue" for follow-up, since it will likely need some changes to the autotools setup too then.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/244Follow-up from "Add support for Meson build system": more options2022-09-10T06:55:50ZTim-Philipp Müllertim@centricular.comFollow-up from "Add support for Meson build system": more optionsThe following discussion from !87 should be addressed:
- [x] @tagoh started a [discussion](https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/87#note_555342): (+2 comments)
> Not sure where is the best place to ...The following discussion from !87 should be addressed:
- [x] @tagoh started a [discussion](https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/87#note_555342): (+2 comments)
> Not sure where is the best place to comment but let me add here.
>
> Apparently missing a feature like --with-default-hinting, --with-default-fonts, --with-add-fonts, --with-cache-dir, --with-templatedir, --with-baseconfigdir, --with-configdir, --with-xmldir.
## Todo: Meson options
- [x] `--with-default-hinting`
- [x] `--with-default-fonts`
- [x] `--with-add-fonts`
- [x] `--with-cache-dir`
- [x] `--with-templatedir`
- [x] `--with-baseconfigdir`
- [x] `--with-configdir`
- [x] `--with-xmldir`https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/243fontconfig does not follow XDG Base Directory Specification and clutters peop...2020-07-14T14:30:02ZAvamanderfontconfig does not follow XDG Base Directory Specification and clutters people's home directoriesFor some reason fontconfig creates a folder `~/fontconfig` and uses it for cache. That's not in-line with XDG Base Directory Specification, clutters people's home directories and on top of it all **it's not hidden**.
fontconfig should f...For some reason fontconfig creates a folder `~/fontconfig` and uses it for cache. That's not in-line with XDG Base Directory Specification, clutters people's home directories and on top of it all **it's not hidden**.
fontconfig should follow XDG Base Directory Specification and use `~/.cache/fontconfig` for cache fileshttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/240Force font selection for a given character range2020-05-26T10:19:35ZRodrigo LourençoForce font selection for a given character rangeAs per [this answer on StackOverflow](https://stackoverflow.com/a/47614324/2052998), I have this snippet in my ~/.config/fontconfig/fonts.conf:
```xml
<match target="scan">
<test name="family" compare="not_eq">
<string>Sourc...As per [this answer on StackOverflow](https://stackoverflow.com/a/47614324/2052998), I have this snippet in my ~/.config/fontconfig/fonts.conf:
```xml
<match target="scan">
<test name="family" compare="not_eq">
<string>Source Han Serif</string>
</test>
<edit name="charset" mode="assign">
<minus>
<name>charset</name>
<charset>
<range>
<int>0x3040</int>
<int>0x309F</int>
</range>
</charset>
</minus>
</edit>
</match>
```
What I want is to always render hiragana using Source Han Serif unless a specific font is requested. If every font except Source Han Serif has the characters 0x3040-0x309F removed, then it should select that font whenever that character is requested, correct? However:
```
$ fc-match -s ":charset=3041" | grep -i source
SourceHanSans-Regular.ttc: "Source Han Sans" "Regular"
SourceSansVariable-Roman.otf: "Source Sans Variable" "Regular"
SourceSansVariable-Italic.otf: "Source Sans Variable" "Italic"
SourceCodePro-Regular.otf: "Source Code Pro" "Regular"
SourceSerifVariable-Roman.otf: "Source Serif Variable" "Regular"
```
Oddly enough, Han Serif it is not even there. But Han Sans should not be in there, since it does not have that character range, correct?
```
$ fc-match -v ":charset=3041" | grep -e family: -e charset: -e 0030:
family: "Source Han Sans"(s) "源ノ角ゴシック"(s)
charset:
0030: ffffffff ffffffff fffffffe ffffffff fe7fffff ffffffff ffffffff ffffffff
```
So why does it have those characters? I can see they are removed when scanning:
```
$ FC_DEBUG=$((1|2|4|8|16|32|64|128|256|1024|2048|4096)) fc-cache -r 2>&1
Scanning file /usr/share/fonts/adobe-source-han-sans/SourceHanSans-Regular.ttc...
FcConfigSubstitute Pattern has 25 elts (size 32)
family: "Source Han Sans"(s) "源ノ角ゴシック"(s)
[...]
charset:
[...]
0030: ffffffff ffffffff fffffffe ffffffff fe7fffff ffffffff ffffffff ffffffff
[...]
Rule Set: /home/rzl/.config/fontconfig/fonts.conf
FcConfigSubstitute test scan any family NotEqual "Source Han Serif"
Substitute Edit charset Assign charset Minus charset
Append list before [marker]
Append list after
[...]
0030: ffffffff ffffffff 00000000 00000000 00000000 ffffffff ffffffff ffffffff
[...]
(w)
FcConfigSubstitute editPattern has 25 elts (size 32)
family: "Source Han Sans"(s) "源ノ角ゴシック"(s)
[...]
charset:
[...]
0030: ffffffff ffffffff 00000000 00000000 00000000 ffffffff ffffffff ffffffff
[...]
(w)
[...]
Final font pattern:
Pattern has 25 elts (size 32)
family: "Source Han Sans"(s) "源ノ角ゴシック"(s)
familylang: "en"(s) "ja"(s)
style: "Regular"(s)
stylelang: "en"(s)
fullname: "Source Han Sans"(s) "源ノ角ゴシック"(s)
fullnamelang: "en"(s) "ja"(s)
slant: 0(i)(s)
weight: 80(f)(s)
width: 100(f)(s)
foundry: "ADBO"(s)
file: "/usr/share/fonts/adobe-source-han-sans/SourceHanSans-Regular.ttc"(s)
index: 0(i)(s)
outline: True(s)
scalable: True(s)
charset:
[...]
0030: ffffffff ffffffff 00000000 00000000 00000000 ffffffff ffffffff ffffffff
[...]
(w)
lang: aa|ay|bg|bi|bin|br|ch|da|de|en|es|eu|fj|fo|fur|fy|gd|gl|gn|gv|haw|ho|ia|ig|id|ie|io|is|it|ja|ki|ko|kum|lb|mg|nb|nds|nl|nn|no|nr|oc|om|os|pt|rm|ru|sel|sm|sma|smj|so|sq|ss|st|sv|sw|tl|to|ts|uz|vo|wa|xh|yap|zh-cn|zh-hk|zh-mo|zh-sg|zh-tw|zu|an|fil|ht|jv|kj|kwm|li|ms|na|ng|pap-an|pap-aw|rn|rw|sc|sg|sn|su|za(s)
fontversion: 131137(i)(s)
capability: "otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:hang otlayout:hani otlayout:kana otlayout:latn"(s)
fontformat: "CFF"(s)
decorative: False(s)
postscriptname: "SourceHanSans-Regular"(s)
color: False(s)
symbol: False(s)
variable: False(s)
fonthashint: False(s)
```
Am I misunderstanding how this is supposed to work? I know I can force one single character to use a certain font thus:
```xml
<match target="pattern">
<test name="charset" compare="eq">
<charset>
<int>0x3040</int>
</charset>
</test>
<edit name="family" mode="prepend">
<string>Source Han Serif</string>
</edit>
</match>
```
But listing all characters in this way would not be fun, given that there is no "in" comparison, nor there seems to be a way to `or` tests. Is this the intended way to do it?https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/239[discussion] what about meson build system ?2020-07-31T08:31:51Zvtorri[discussion] what about meson build system ?Hello
has there already a discussion about switching to meson build system ?
thank youHello
has there already a discussion about switching to meson build system ?
thank youhttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/238rm detection in configure script hangs on Windows (MSYS2 + mingw-w64)2020-07-31T08:51:13Zvtorrirm detection in configure script hangs on Windows (MSYS2 + mingw-w64)On Windows, using MSYS2 + mingw-w64, configure script blocks on rm detection, i don't know why.
On the other hand, is it really necessary to detect rm these days ?
thank youOn Windows, using MSYS2 + mingw-w64, configure script blocks on rm detection, i don't know why.
On the other hand, is it really necessary to detect rm these days ?
thank youhttps://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/236Any plans to make new release?2022-04-12T06:05:57ZTomasz KłoczkoAny plans to make new release?Already in git repo is accumulated more than 800 commits since last release.
I think that it would be good to flush currently committed changes and make new release :)Already in git repo is accumulated more than 800 commits since last release.
I think that it would be good to flush currently committed changes and make new release :)https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/235fontconfig 2.31.92 tests fail if SOURCE_DATE_EPOCH is not set2020-04-10T08:37:31ZOlav Vittersfontconfig 2.31.92 tests fail if SOURCE_DATE_EPOCH is not setfontconfig fails during building (test section) if SOURCE_DATE_EPOCH is not set. A commit was made to address this, but the commit seems not to work on my system.
The commit adds checks similar to `if [ -n ${SOURCE_DATE_EPOCH:-} ]; then...fontconfig fails during building (test section) if SOURCE_DATE_EPOCH is not set. A commit was made to address this, but the commit seems not to work on my system.
The commit adds checks similar to `if [ -n ${SOURCE_DATE_EPOCH:-} ]; then`. This code actually always executes if the variable is empty (for me using bash).
The solution seems easy, just add quotes around the expression, meaning: `if [ -n "${SOURCE_DATE_EPOCH:-}" ]; then`
```bash
$ if [ -n "${SOURCE_DATE_EPOCH:-}" ]; then echo fff; fi
$ if [ -n ${SOURCE_DATE_EPOCH:-} ]; then echo fff; fi
fff
```
This on Mageia with fontconfig 2.31.92. I'm a Mageia packager. Spec file can be found at: http://svnweb.mageia.org/packages/cauldron/fontconfig/https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/234fonts.dtd does not include new fonts.conf elements, fonts.conf does not validate2020-05-25T01:54:07ZClarence "Sparr" Risherfonts.dtd does not include new fonts.conf elements, fonts.conf does not validateThis bug on the old bugzilla was closed and is still a problem https://bugs.freedesktop.org/show_bug.cgi?id=105818
Since https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/9a0fcb948fe7346f6c68028b2e54ab600a2a2a6f the fonts.co...This bug on the old bugzilla was closed and is still a problem https://bugs.freedesktop.org/show_bug.cgi?id=105818
Since https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/9a0fcb948fe7346f6c68028b2e54ab600a2a2a6f the fonts.conf, and other conf files in conf.d, have failed to validate per fonts.dtd
Note that https://gitlab.freedesktop.org/fontconfig/fontconfig/-/blob/master/fonts.dtd does not describe or allow the `its:rules` or `its:translateRule` or `description` elements found in https://gitlab.freedesktop.org/fontconfig/fontconfig/-/blob/master/fonts.conf.in
Previous comments in bugzilla suggest this is a packaging and localization problem, however I think the existence and non-validation of the `description` element says otherwise.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/233RFE: Providing sample commands in man-page for all fc-* cli2020-11-28T01:13:00ZPravin SatputeRFE: Providing sample commands in man-page for all fc-* cli**Description : **
Fontconfig is really great tool and have an excellent user documentation. https://www.freedesktop.org/software/fontconfig/fontconfig-user.html and it is also installed in /usr/share/doc/fontconfig/fontconfig-user.htm...**Description : **
Fontconfig is really great tool and have an excellent user documentation. https://www.freedesktop.org/software/fontconfig/fontconfig-user.html and it is also installed in /usr/share/doc/fontconfig/fontconfig-user.html
As a new user, my journey is as follows:
1. Search for command
2. Go through its manpage
3. Try sample commands given in manpage
4. Looks for extensive document for more advance complex options
Version-Release number of selected component (if applicable):
fontconfig-2.13.92
**Actual results:**
$manpage fc-match
Example section not present.
**Expected results :**
$manpage fc-match
Examples:
$fc-match :lang=ja
**Additional info:**
Reference : $man locate
EXAMPLES
To search for a file named exactly NAME (not *NAME*), use
locate -b '\NAME'
Because \ is a globbing character, this disables the implicit replacement of NAME by *NAME*.
I think, this way we can add some sample commands for all fc-* cli options. Providing 2 samples will be more that sufficient.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/232EXC_BAD_ACCESS on ios, 3rd party patch exists2020-03-19T10:28:25ZFrancesco PrettoEXC_BAD_ACCESS on ios, 3rd party patch existsHello, I wanted to point out that on ios arm64 fontconfig fails to scan a font directory with error `EXC_BAD_ACCESS`.
Attached an example of a failing [initfontconfig.cpp](/uploads/c6fa42ae7b415f208a81f08152fc2d24/initfontconfig.cpp) fon...Hello, I wanted to point out that on ios arm64 fontconfig fails to scan a font directory with error `EXC_BAD_ACCESS`.
Attached an example of a failing [initfontconfig.cpp](/uploads/c6fa42ae7b415f208a81f08152fc2d24/initfontconfig.cpp) font config initialization. The problem appear to be known elsewhere to the point a simple 3rdparty patch [exists](https://github.com/GStreamer/cerbero/blob/master/recipes/fontconfig/0001-fcatomic-Fix-EXC_BAD_ACCESS-on-iOS-ARM64.patch) and other users workaround the problem in a similar [way](https://github.com/tanersener/mobile-ffmpeg/commit/d298c9ac3b37dbdb5b21fc1532b8024aef1233d8).
The culprit of the problem fixed by the patch (also attached[1]) is that selection of platform `OSAtomicCompareAndSwapPtrBarrier` in `src/fcatomic.h` is performed checking the non existing `__IPHONE_VERSION_MIN_REQUIRED` macro (correct is `__IPHONE_OS_VERSION_MIN_REQUIRED`). Also the provided fallbacks are not working on ios arm64, causing the above error. I highly recommend apply a reviewed version of the patch.
[1] [0001-fcatomic-Fix-EXC_BAD_ACCESS-on-iOS-ARM64.patch](/uploads/5b1b6a65099e57e39721d847e670a36c/0001-fcatomic-Fix-EXC_BAD_ACCESS-on-iOS-ARM64.patch)https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/231'system-ui' alternate family name not accepted with fc-match2020-03-02T06:13:50Zbarmadrid'system-ui' alternate family name not accepted with fc-matchAlthough we have [fontconfig] the following code to accept 'system-ui' spelling as a replacement to 'system ui', it does not work when called via `fc-match 'system-ui'` - defaulting the output to current sans font:
```xml
<!--
Accept ...Although we have [fontconfig] the following code to accept 'system-ui' spelling as a replacement to 'system ui', it does not work when called via `fc-match 'system-ui'` - defaulting the output to current sans font:
```xml
<!--
Accept alternate 'system ui' spelling, replacing it with 'system-ui'
-->
<match target="pattern">
<test qual="any" name="family">
<string>system ui</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>system-ui</string>
</edit>
</match>
```
I have the following for 'system-ui' in local.conf:
```
<alias>
<family>system-ui</family>
<prefer>
<family>Ubuntu</family>
<family>Noto Sans Arabic UI</family>
</prefer>
</alias>
```
But `fc-match 'system-ui'` does **not** output Ubuntu as above, `fc-match 'system ui'` **does**!
Is this normal?https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/230Ugly font rendering with hinting and antialiasing2020-02-29T08:16:26ZAUgly font rendering with hinting and antialiasingI have noticed ugly font rendering. Test case: `pango-view --margin=10 --hinting=full --pixels --font="DejaVu Sans 9" -t "1. Hello." -o /tmp/ugly.png`
Please see 1:1 and 1:10 output.
All characters have shadow, even dots.
Exactly the s...I have noticed ugly font rendering. Test case: `pango-view --margin=10 --hinting=full --pixels --font="DejaVu Sans 9" -t "1. Hello." -o /tmp/ugly.png`
Please see 1:1 and 1:10 output.
All characters have shadow, even dots.
Exactly the same situation when rendering to display, or using another program.
Problem exist if change font, hinting settings, interpreter-version, etc.
I'm using current Archlinux, fontconfig version is 2.13.91+24+g75eadca-2, but the same problem was in a 3-months-ago distro.![ugly](/uploads/52b738e2b0d9e9ee3653f32f30d1f7d3/ugly.png)
![ugly-10x](/uploads/4cd481ee575a4b2e1c3288b1288f3f30/ugly-10x.png)
Some commands output:
```
$ xrdb -q
XTerm*utf8Title: true
xterm*termName: xterm-256color
$ ls /etc/fonts/conf.d/
10-hinting-slight.conf 65-fonts-persian.conf
10-scale-bitmap-fonts.conf 65-nonlatin.conf
10-sub-pixel-rgb.conf 65-ttf-droid-kufi-fontconfig.conf
11-lcdfilter-default.conf 65-ttf-droid-sans-fontconfig.conf
20-unhint-small-dejavu-sans.conf 65-ttf-droid-serif-fontconfig.conf
20-unhint-small-dejavu-sans-mono.conf 69-unifont.conf
20-unhint-small-dejavu-serif.conf 69-urw-bookman.conf
20-unhint-small-vera.conf 69-urw-c059.conf
30-metric-aliases.conf 69-urw-d050000l.conf
40-nonlatin.conf 69-urw-fallback-backwards.conf
45-generic.conf 69-urw-fallback-generics.conf
45-latin.conf 69-urw-fallback-specifics.conf
49-sansserif.conf 69-urw-gothic.conf
50-user.conf 69-urw-nimbus-mono-ps.conf
51-local.conf 69-urw-nimbus-roman.conf
57-dejavu-sans.conf 69-urw-nimbus-sans.conf
57-dejavu-sans-mono.conf 69-urw-p052.conf
57-dejavu-serif.conf 69-urw-standard-symbols-ps.conf
60-droid-sans-mono.conf 69-urw-z003.conf
60-generic.conf 75-yes-terminus.conf
60-latin.conf 80-delicious.conf
60-ttf-droid-sans-mono-fontconfig.conf 81-ubuntu.conf
65-droid-kufi.conf 90-synthetic.conf
65-droid-sans.conf README
```https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/229Family information differs: fc-query <-> fc-list, fc-scan2020-02-25T03:58:08ZGottfried MüllerFamily information differs: fc-query <-> fc-list, fc-scanI use Manjaro with fc-version 2.13.1. I detected a difference in the family information of the fc commands (attached file). The Qt framework (QFontDatabase, addApplicationFont) has the same family like fc-query.
I used following commands...I use Manjaro with fc-version 2.13.1. I detected a difference in the family information of the fc commands (attached file). The Qt framework (QFontDatabase, addApplicationFont) has the same family like fc-query.
I used following commands:
```
> F='%{family}<<%{file}\n'
> fc-query --format=${F} DroidNaskh-Bold.ttf
Droid Arabic Naskh<<DroidNaskh-Bold.ttf
> fc-scan --format=${F} DroidNaskh-Bold.ttf
Droid Serif<<DroidNaskh-Bold.ttf
> fc-list --format=${F} | grep DroidNaskh-Bold.ttf
Droid Serif<</usr/share/fonts/droid/DroidNaskh-Bold.ttf
```
I suppose fc-scan and fc-list have the wrong informations.
Gottfrie
[DroidNaskh-Bold.ttf](/uploads/2ff99659b041e5f7a5732c687f3b2993/DroidNaskh-Bold.ttf)https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/2282.13.92+master: test suite is failing2020-02-17T16:46:48ZTomasz Kłoczko2.13.92+master: test suite is failing2.13.92 + all patches to master:
```
+ /usr/bin/make -O -j48 V=1 VERBOSE=1 check
Making check in fontconfig
make[1]: Nothing to be done for 'check'.
Making check in fc-case
/usr/bin/make check-am
make[2]: Nothing to be done for 'check-a...2.13.92 + all patches to master:
```
+ /usr/bin/make -O -j48 V=1 VERBOSE=1 check
Making check in fontconfig
make[1]: Nothing to be done for 'check'.
Making check in fc-case
/usr/bin/make check-am
make[2]: Nothing to be done for 'check-am'.
Making check in fc-lang
/usr/bin/make check-am
make[2]: Nothing to be done for 'check-am'.
Making check in src
/usr/bin/make check-am
make[2]: Nothing to be done for 'check-am'.
Making check in fc-cache
make[1]: Nothing to be done for 'check'.
Making check in fc-cat
make[1]: Nothing to be done for 'check'.
Making check in fc-conflist
make[1]: Nothing to be done for 'check'.
Making check in fc-list
make[1]: Nothing to be done for 'check'.
Making check in fc-match
make[1]: Nothing to be done for 'check'.
Making check in fc-pattern
make[1]: Nothing to be done for 'check'.
Making check in fc-query
make[1]: Nothing to be done for 'check'.
Making check in fc-scan
make[1]: Nothing to be done for 'check'.
Making check in fc-validate
make[1]: Nothing to be done for 'check'.
Making check in conf.d
/usr/bin/make check-am
make[2]: Nothing to be done for 'check-am'.
Making check in its
make[1]: Nothing to be done for 'check'.
Making check in po
make[1]: Nothing to be done for 'check'.
Making check in po-conf
make[1]: Nothing to be done for 'check'.
Making check in test
/usr/bin/make check-am
/usr/bin/make test-pthread test-crbug1004254 test-bz89617 test-bz131804 test-migration test-bz96676 test-name-parse test-conf test-bz106618 test-bz106632 test-issue107 test-bz1744377 test-issue180 run-test.sh
make[3]: 'test-pthread' is up to date.
make[3]: 'test-crbug1004254' is up to date.
make[3]: 'test-bz89617' is up to date.
make[3]: 'test-bz131804' is up to date.
make[3]: 'test-migration' is up to date.
make[3]: 'test-bz96676' is up to date.
make[3]: 'test-name-parse' is up to date.
make[3]: 'test-conf' is up to date.
make[3]: 'test-bz106618' is up to date.
make[3]: 'test-bz106632' is up to date.
make[3]: 'test-issue107' is up to date.
make[3]: 'test-bz1744377' is up to date.
make[3]: 'test-issue180' is up to date.
make[3]: Nothing to be done for 'run-test.sh'.
/usr/bin/make check-TESTS
make[4]: Entering directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
PASS: test-issue180
make[4]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
make[4]: Entering directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
PASS: test-bz96676
make[4]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
make[4]: Entering directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
PASS: test-bz1744377
make[4]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
make[4]: Entering directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
PASS: test-bz89617
make[4]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
make[4]: Entering directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
PASS: test-bz131804
make[4]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
make[4]: Entering directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
PASS: test-name-parse
make[4]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
make[4]: Entering directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
PASS: run-test-conf.sh
make[4]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
make[4]: Entering directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
PASS: test-issue107
make[4]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
make[4]: Entering directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
FAIL: run-test.sh
make[4]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
make[4]: Entering directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
PASS: test-bz106632
make[4]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
make[4]: Entering directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
=============================================
fontconfig 2.13.92: test/test-suite.log
=============================================
# TOTAL: 10
# PASS: 9
# SKIP: 0
# XFAIL: 0
# FAIL: 1
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
FAIL: run-test
==============
Running: Basic check
Running: With a subdir
Running: Subdir with a cache file
Running: Complicated directory structure
Running: Subdir with an out-of-date cache file
Running: Dir with an out-of-date cache file
Running: Keep mtime of the font directory
Running: Basic functionality with the bind-mounted cache dir
bwrap: Unexpected capabilities but not setuid, old file caps config?
FAIL run-test.sh (exit status: 1)
============================================================================
Testsuite summary for fontconfig 2.13.92
============================================================================
# TOTAL: 10
# PASS: 9
# SKIP: 0
# 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[4]: *** [Makefile:1077: test-suite.log] Error 1
make[4]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/fontconfig-2.13.92/test'
make[3]: *** [Makefile:1185: check-TESTS] Error 2
make[2]: *** [Makefile:1322: check-am] Error 2
make[1]: *** [Makefile:1324: check] Error 2
make: *** [Makefile:599: check-recursive] Error 1
```https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/227fc-scan: fccache.c:794: FcCacheFini: Assertion `fcCacheChains[i] == NULL' fai...2020-03-23T05:11:49ZNicolas Mailhotfc-scan: fccache.c:794: FcCacheFini: Assertion `fcCacheChains[i] == NULL' failed.I don’t know if it’s bad or not, but lately I've been often hitting
```
fc-scan: fccache.c:794: FcCacheFini: Assertion `fcCacheChains[i] == NULL' failed.`
```
(That seems to go away the next time I run fc-scan)
fontconfig-2.13.92-6.fc...I don’t know if it’s bad or not, but lately I've been often hitting
```
fc-scan: fccache.c:794: FcCacheFini: Assertion `fcCacheChains[i] == NULL' failed.`
```
(That seems to go away the next time I run fc-scan)
fontconfig-2.13.92-6.fc32.2.x86_64https://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/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 else