fontconfig issueshttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues2019-12-08T10:46:35Zhttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/106RFE: allow merging of legacy font family names2019-12-08T10:46:35ZBugzilla Migration UserRFE: allow merging of legacy font family names## Submitted by Nicolas Mailhot
Assigned to **fon..@..op.org**
**[Link to original bug (#18725)](https://bugs.freedesktop.org/show_bug.cgi?id=18725)**
## Description
Historically font formats only allowed four faces regular, bold,...## Submitted by Nicolas Mailhot
Assigned to **fon..@..op.org**
**[Link to original bug (#18725)](https://bugs.freedesktop.org/show_bug.cgi?id=18725)**
## Description
Historically font formats only allowed four faces regular, bold, italic, bold italic. You had to use a separate font family to distribute condensed, heavy etc variants
This has changed (cf http://blogs.msdn.com/text/attachment/2249036.ashx ) and modern fonts such as DejaVu include all faces under a single family name. Applications such as OO.o are being fixed to handle multifaced fonts
Unfortunately there are still many historic fonts in the wild distributed in several sets of four faces (gs fonts, arial narrow, arial bold, etc). Those fonts currently appear under different family names in fontconfig-using apps. This is perturbing to users, since the same faces of historic and modern fonts are not handled the same way. Microsoft did some sort of magic in uniscribe to hide this distinction (irrelevant to users).
Please provide a documented config pattern for font distributors that enables them to declare to fontconfig "font family A and font family B are the same, please expose all the associated faces under A name to users".
(of course an application asking explicitely for B should still get it, but users would only see A in font lists)
Version: 2.6https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/104Enhance fontconfig to render Microsoft fonts better2018-08-20T21:55:44ZBugzilla Migration UserEnhance fontconfig to render Microsoft fonts better## Submitted by Charles
Assigned to **fon..@..op.org**
**[Link to original bug (#7662)](https://bugs.freedesktop.org/show_bug.cgi?id=7662)**
## Description
You could incorporate these enhancements into fontconfig:
http://www.ubunt...## Submitted by Charles
Assigned to **fon..@..op.org**
**[Link to original bug (#7662)](https://bugs.freedesktop.org/show_bug.cgi?id=7662)**
## Description
You could incorporate these enhancements into fontconfig:
http://www.ubuntuforums.org/showthread.php?t=208396
Many people have asked for it on the Internet, and these configurations don't
affect regular fonts rendering so that everybody's happy :)
Version: 2_1
### Blocking
* [Bug 8100](https://bugs.freedesktop.org/show_bug.cgi?id=8100)https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/103Merge some optimisation works by Michal Srb?2019-12-04T05:54:59ZBugzilla Migration UserMerge some optimisation works by Michal Srb?## Submitted by Mingcong Bai
Assigned to **fon..@..op.org**
**[Link to original bug (#105102)](https://bugs.freedesktop.org/show_bug.cgi?id=105102)**
## Description
First described in his paper ¹ to optimise various fontconfig alg...## Submitted by Mingcong Bai
Assigned to **fon..@..op.org**
**[Link to original bug (#105102)](https://bugs.freedesktop.org/show_bug.cgi?id=105102)**
## Description
First described in his paper ¹ to optimise various fontconfig algorithms, his work ² has proven to be beneficial especially with LibreOffice. With current 2.12.6 it is practically impossible to scroll through the font listing when a full set of Noto and Noto CJK fonts are installed, scrolling can cause the UI to lock up for more than a second which practically destroys the user experience.
With patches generated from his work - applied upon 2.12.6, this issue has gone away. I was trying to test https://bugs.freedesktop.org/show_bug.cgi?id=105085 with 2.12.92, however, these patches would no longer apply to the newest code, as extensive API changes were made - it would be a shame to waste all these optimisation works...
--------
¹ https://www.theseus.fi/bitstream/handle/10024/124694/Srb_Michal.pdf?sequence=1
² https://github.com/michalsrb/fontconfig
Version: 2.12https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/100Add way to FcNameUnparse to specify weak binding?2018-08-20T21:52:32ZBugzilla Migration UserAdd way to FcNameUnparse to specify weak binding?## Submitted by Behdad Esfahbod
Assigned to **fon..@..op.org**
**[Link to original bug (#103727)](https://bugs.freedesktop.org/show_bug.cgi?id=103727)**
## Description
Would be nice. Right now there's no way to generate patterns ...## Submitted by Behdad Esfahbod
Assigned to **fon..@..op.org**
**[Link to original bug (#103727)](https://bugs.freedesktop.org/show_bug.cgi?id=103727)**
## Description
Would be nice. Right now there's no way to generate patterns with weak bindings from command-line.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/99RFE: subpixel hinting support2018-08-20T21:52:28ZBugzilla Migration UserRFE: subpixel hinting support## Submitted by Akira TAGOH `@tagoh`
Assigned to **fon..@..op.org**
**[Link to original bug (#51212)](https://bugs.freedesktop.org/show_bug.cgi?id=51212)**
## Description
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/com...## Submitted by Akira TAGOH `@tagoh`
Assigned to **fon..@..op.org**
**[Link to original bug (#51212)](https://bugs.freedesktop.org/show_bug.cgi?id=51212)**
## Description
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=79e36baebba4532dff92ca1ca43c4dc2f779fd32https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/98Config format (and api?) to define virtual families2018-08-20T21:52:25ZBugzilla Migration UserConfig format (and api?) to define virtual families## Submitted by Behdad Esfahbod
Assigned to **fon..@..op.org**
**[Link to original bug (#90428)](https://bugs.freedesktop.org/show_bug.cgi?id=90428)**
## Description
Right now we recognize sans-serif, serif, monospace, fantasy, an...## Submitted by Behdad Esfahbod
Assigned to **fon..@..op.org**
**[Link to original bug (#90428)](https://bugs.freedesktop.org/show_bug.cgi?id=90428)**
## Description
Right now we recognize sans-serif, serif, monospace, fantasy, and cursive but user has to know that. Would be nice to allow defining those formally, and let user define more.
That would be useful for a font-manager kind of scenario, where one can define new virtual families and add multiple fonts as a stack to it.
The latter can be done using existing configuration facilities (mostly), so the part missing is just making it appear in FcFontList() output.
No idea what the config / API for this should look like.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/97Support variation selectors2018-08-20T21:52:22ZBugzilla Migration UserSupport variation selectors## Submitted by Behdad Esfahbod
Assigned to **fon..@..op.org**
**[Link to original bug (#82266)](https://bugs.freedesktop.org/show_bug.cgi?id=82266)**
## Description
I think can support this internally by including a unicode,selec...## Submitted by Behdad Esfahbod
Assigned to **fon..@..op.org**
**[Link to original bug (#82266)](https://bugs.freedesktop.org/show_bug.cgi?id=82266)**
## Description
I think can support this internally by including a unicode,selector pair as (selector<<21)|unicode value in the charset, but provide new API to the charset for querying. Or maybe expose that convention all the way to the API. Here's some code to that extent:
unsigned int var_num = 0;
if (variation_selector - 0xFE00u < 16)
var_num = variation_selector - 0xFE00 + 1;
else if (variation_selector - 0xE0100u < (256 - 16))
var_num = variation_selector - 0xE0100 + 17;
unicode = (var_num << 21) | unicode;
Note that currently FcCharSetPutLeaf has:
ucs4 >>= 8;
if (ucs4 >= 0x10000)
return FcFalse;
so the top byte of the ucs4 has been unused. Unfortunately the top byte is not enough as there are 256 values to fit, not 255 :(.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/94FcConfigReinitialize loses all config settings2018-08-20T21:52:06ZBugzilla Migration UserFcConfigReinitialize loses all config settings## Submitted by Behdad Esfahbod
Assigned to **fon..@..op.org**
**[Link to original bug (#17123)](https://bugs.freedesktop.org/show_bug.cgi?id=17123)**
## Description
AppFonts, EnableHome, RescanInterval.
It should copy them from o...## Submitted by Behdad Esfahbod
Assigned to **fon..@..op.org**
**[Link to original bug (#17123)](https://bugs.freedesktop.org/show_bug.cgi?id=17123)**
## Description
AppFonts, EnableHome, RescanInterval.
It should copy them from old config to new config for the least.
Version: 2.4https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/93Support for sFamilyClass font attribute to allow searching by serif style2018-08-20T21:51:56ZBugzilla Migration UserSupport for sFamilyClass font attribute to allow searching by serif style## Submitted by Eric Wasylishen
Assigned to **Akira TAGOH `@tagoh`**
**[Link to original bug (#29497)](https://bugs.freedesktop.org/show_bug.cgi?id=29497)**
## Description
The OpenType spec has a field called sFamilyClass in the r...## Submitted by Eric Wasylishen
Assigned to **Akira TAGOH `@tagoh`**
**[Link to original bug (#29497)](https://bugs.freedesktop.org/show_bug.cgi?id=29497)**
## Description
The OpenType spec has a field called sFamilyClass in the required OS/2 table, which allows the font designer to classify the font based on a "family class" (e.g. serif, sans-serif) and "family subclass" (e.g. modern, old style).
See:
http://www.microsoft.com/typography/otspec/os2.htm#fc
and:
http://www.microsoft.com/typography/otspec/ibmfc.htm
It would be really nice if Fontconfig read this field from fonts and allowed searching based on it (probably treating it as two separate fields: maybe FC_FAMILY_CLASS and FC_FAMILY_SUBCLASS?)
In my opinion, this kind of classification would be really useful to present to users for choosing fonts. I would be happy to write a patch if you think this is a good idea.. :-)
Version: 2_1
### Blocking
* [Bug 30225](https://bugs.freedesktop.org/show_bug.cgi?id=30225)https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/90FIR filters with custom constants from fontconfig2019-07-25T05:16:11ZBugzilla Migration UserFIR filters with custom constants from fontconfig## Submitted by Robin Johnson
Assigned to **fon..@..op.org**
**[Link to original bug (#27386)](https://bugs.freedesktop.org/show_bug.cgi?id=27386)**
## Description
There have been a number of subjective patches around for altering...## Submitted by Robin Johnson
Assigned to **fon..@..op.org**
**[Link to original bug (#27386)](https://bugs.freedesktop.org/show_bug.cgi?id=27386)**
## Description
There have been a number of subjective patches around for altering the FIR constants used in ./freetype-2.3.12/src/base/ftlcdfil.c
I've seen at least 4 different sets of values:
light: { 0, 85, 86, 85, 0 }
default: { 0x10, 0x40, 0x70, 0x40, 0x10 }
gentoo-bug306053:{ 0x1C, 0x38, 0x55, 0x38, 0x1C }
russian forum: {8, 28, 100, 80, 40};
Here was the Gentoo bug:
http://bugs.gentoo.org/show_bug.cgi?id=306053
We told the user to take it upstream, he never did, but it came up again.
Here's the google cache of Russian forum post, as the original seems to have gone:
http://tinyurl.com/yl5kyup
Can we please introduce a way to set the constants from fontconfig, and let the users duke it out amongst themselves?
Version: 2.8https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/85Make it build with MSVC2018-08-20T21:50:57ZBugzilla Migration UserMake it build with MSVC## Submitted by Ignacio Casal Quinteiro
Assigned to **fon..@..op.org**
**[Link to original bug (#97237)](https://bugs.freedesktop.org/show_bug.cgi?id=97237)**
## Description
On our downstream gtk-win32 project we are maintaining a...## Submitted by Ignacio Casal Quinteiro
Assigned to **fon..@..op.org**
**[Link to original bug (#97237)](https://bugs.freedesktop.org/show_bug.cgi?id=97237)**
## Description
On our downstream gtk-win32 project we are maintaining a patch for quite a while already to make it build with MSVC. It would be great if somebody could take the interesting parts from it and push it upstream:
https://github.com/wingtk/gtk-win32/blob/master/fontconfig/fontconfig.patchhttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/82Language bindings...2022-02-12T22:41:52ZBugzilla Migration UserLanguage bindings...## Submitted by Behdad Esfahbod
Assigned to **Akira TAGOH `@tagoh`**
**[Link to original bug (#90274)](https://bugs.freedesktop.org/show_bug.cgi?id=90274)**
## Description
Perhaps using gobject-introspection, like we do in HarfBuz...## Submitted by Behdad Esfahbod
Assigned to **Akira TAGOH `@tagoh`**
**[Link to original bug (#90274)](https://bugs.freedesktop.org/show_bug.cgi?id=90274)**
## Description
Perhaps using gobject-introspection, like we do in HarfBuzz...
G-I sucks for non-GObject projects though; a SWIG or even ctypes alternative might be easier. Not sure. Just filing the request for now.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/80moving matcher definition schemas into external resources2018-08-20T21:50:36ZBugzilla Migration Usermoving matcher definition schemas into external resources## Submitted by Akira TAGOH `@tagoh`
Assigned to **fon..@..op.org**
**[Link to original bug (#68043)](https://bugs.freedesktop.org/show_bug.cgi?id=68043)**
## Description
That would be good to have matcher definition schemas in th...## Submitted by Akira TAGOH `@tagoh`
Assigned to **fon..@..op.org**
**[Link to original bug (#68043)](https://bugs.freedesktop.org/show_bug.cgi?id=68043)**
## Description
That would be good to have matcher definition schemas in the configuration, including the type of value and the priority of matcher. this would allows users to add the own objects for evaluation to be matched.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/77Code obfuscation results in memory leaks reported by Valgrind, AddressSanitizer2021-10-25T20:32:16ZBugzilla Migration UserCode obfuscation results in memory leaks reported by Valgrind, AddressSanitizer## Submitted by Zoltán Böszörményi
Assigned to **fon..@..op.org**
**[Link to original bug (#96535)](https://bugs.freedesktop.org/show_bug.cgi?id=96535)**
## Description
Fontconfig uses pointer arithmetics to compute the distance f...## Submitted by Zoltán Böszörményi
Assigned to **fon..@..op.org**
**[Link to original bug (#96535)](https://bugs.freedesktop.org/show_bug.cgi?id=96535)**
## Description
Fontconfig uses pointer arithmetics to compute the distance from an object base pointer to a member structure and the result is stored in intptr_t type members.
This causes reported memory leaks in fontconfig in applications compiled with GCC's AddressSanitizer and Valgrind, too.
The fact that the size of intptr_t always equals to the size of a pointer makes this whole thing look like code obfuscation.
It also slows down the code slightly. Pointer arithmetics and storing the result is always slower than just storing the pointer value.
The amount of reported memory leaks in AddressSanitizer is so much that it makes genuine debugging hard, like searching for a needle in a haystack.
Please, use real pointers instead of intptr_t.
Version: 2.11https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/73Preserve binding when preparing patterns2018-08-20T21:49:46ZBugzilla Migration UserPreserve binding when preparing patterns## Submitted by Behdad Esfahbod
Assigned to **fon..@..op.org**
**[Link to original bug (#90330)](https://bugs.freedesktop.org/show_bug.cgi?id=90330)**
## Description
In FcFontRenderPrepare(), matching values are always added with ...## Submitted by Behdad Esfahbod
Assigned to **fon..@..op.org**
**[Link to original bug (#90330)](https://bugs.freedesktop.org/show_bug.cgi?id=90330)**
## Description
In FcFontRenderPrepare(), matching values are always added with binding=strong. If we change that to retain the binding of the matched value and also add API to get binding, then we can have a recommended way to determine whether font fallback happened.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/69RFE: native build support on MSVC2019-06-20T09:22:19ZBugzilla Migration UserRFE: native build support on MSVC## Submitted by Akira TAGOH `@tagoh`
Assigned to **fon..@..op.org**
**[Link to original bug (#56381)](https://bugs.freedesktop.org/show_bug.cgi?id=56381)**
## Description
just to keep it in mind...
there has been two proposals po...## Submitted by Akira TAGOH `@tagoh`
Assigned to **fon..@..op.org**
**[Link to original bug (#56381)](https://bugs.freedesktop.org/show_bug.cgi?id=56381)**
## Description
just to keep it in mind...
there has been two proposals posted to the list. one is from Pavel Koshevoy:
http://lists.freedesktop.org/archives/fontconfig/2012-October/004425.html
one is from Dos Santos, Oliveira:
http://lists.freedesktop.org/archives/fontconfig/2012-October/004436.htmlhttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/65Warn if config is wrong2018-08-20T21:49:03ZBugzilla Migration UserWarn if config is wrong## Submitted by Behdad Esfahbod
Assigned to **fon..@..op.org**
**[Link to original bug (#82582)](https://bugs.freedesktop.org/show_bug.cgi?id=82582)**
## Description
I know we don't do full xml validation against the DTD, but at l...## Submitted by Behdad Esfahbod
Assigned to **fon..@..op.org**
**[Link to original bug (#82582)](https://bugs.freedesktop.org/show_bug.cgi?id=82582)**
## Description
I know we don't do full xml validation against the DTD, but at least, we should be able to catch many nonsensical configs, for example, someone trying this:
`<match target="font">`
`<or>`
`<test name="family" compare="contains">`
`<string>`MYingHeiB5HK`</string>`
`</test>`
`<test name="family" compare="contains">`
`<string>`MYingHeiGB18030`</string>`
`</test>`
`<test name="family" compare="contains">`
`<string>`MSung GB18030`</string>`
`</test>`
`<test name="family" compare="contains">`
`<string>`MSung B5HK`</string>`
`</test>`
`</or>`
<!-- Turn on light auto-hint -->
<!-- Turn off sub-pixel anti-aliasing -->
`<edit name="hinting" mode="assign">``<bool>`true`</bool>``</edit>`
`<edit name="autohint" mode="assign">``<bool>`true`</bool>``</edit>`
`<edit name="hintstyle" mode="assign">``<const>`hintslight`</const>``</edit>`
`<edit name="antialias" mode="assign">``<bool>`true`</bool>``</edit>`
`<edit name="rgba" mode="assign">``<const>`none`</const>``</edit>`
`</match>`
The problem is, `<or>` doesn't go in `<match>`, and `<test>` doesn't go in `<or>`. It just edits the pattern unconditionally!
I *think* the correct way to write it is:
`<match target="font">`
`<test name="family" compare="contains">`
`<or>`
`<string>`MYingHeiB5HK`</string>`
`<string>`MYingHeiGB18030`</string>`
`<string>`MSung GB18030`</string>`
`<string>`MSung B5HK`</string>`
`</or>`
`</test>`
I hear in the past (with 2.7.x), this used to work:
`<match target="font">`
`<test name="family" compare="contains">`
`<string>`MYingHeiB5HK`</string>`
`<string>`MYingHeiGB18030`</string>`
`<string>`MSung GB18030`</string>`
`<string>`MSung B5HK`</string>`
`</test>`
<!-- Turn on light auto-hint -->
<!-- Turn off sub-pixel anti-aliasing -->
`<edit name="hinting" mode="assign">``<bool>`true`</bool>``</edit>`
`<edit name="autohint" mode="assign">``<bool>`true`</bool>``</edit>`
`<edit name="hintstyle" mode="assign">``<const>`hintslight`</const>``</edit>`
`<edit name="antialias" mode="assign">``<bool>`true`</bool>``</edit>`
`<edit name="rgba" mode="assign">``<const>`none`</const>``</edit>`
`</match>`
but with 2.11.x started warning about multiple strings in `<test>`...https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/63RBGA Order options for moden panels (Pentile, RGBG, OLED)2018-08-20T21:48:53ZBugzilla Migration UserRBGA Order options for moden panels (Pentile, RGBG, OLED)## Submitted by Redsandro
Assigned to **fon..@..op.org**
**[Link to original bug (#106219)](https://bugs.freedesktop.org/show_bug.cgi?id=106219)**
## Description
Created attachment 139058
Subpixel pattern for Lenovo OLED screens
...## Submitted by Redsandro
Assigned to **fon..@..op.org**
**[Link to original bug (#106219)](https://bugs.freedesktop.org/show_bug.cgi?id=106219)**
## Description
Created attachment 139058
Subpixel pattern for Lenovo OLED screens
* Cinnamon version 3.4.6
* Distribution - Mint 18.3 x64
There are no RBGA Order options for moden panels (Pentile, RGBG, OLED etc) in Font Settings.
Raised here: https://github.com/linuxmint/Cinnamon/issues/7107
Redirected to freedesktop/fontconfig.
Lenovo Yoga Carbon OLED, for example, has pixels that could be simplified as:
RB
GB
**Attachment 139058**, "Subpixel pattern for Lenovo OLED screens":
![oled_pattern](/uploads/6150843b277ff305e8656ef5a0bcf51f/oled_pattern.png)https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/61hard dependency on scandir2018-08-20T21:48:42ZBugzilla Migration Userhard dependency on scandir## Submitted by Riccardo Mottola
Assigned to **fon..@..op.org**
**[Link to original bug (#91088)](https://bugs.freedesktop.org/show_bug.cgi?id=91088)**
## Description
Hi,
building on solaris 9 (and older) fails because the existi...## Submitted by Riccardo Mottola
Assigned to **fon..@..op.org**
**[Link to original bug (#91088)](https://bugs.freedesktop.org/show_bug.cgi?id=91088)**
## Description
Hi,
building on solaris 9 (and older) fails because the existing scandir() implementatino is inside the UCB layer (additional -I and -L flags needed) but it is also slightly different in the parameters (direct vs. dirent). I couldn't get configure to pass, I don't even know about the code. Perhaps it can be done, but it is worth?
https://answers.yahoo.com/question/index?qid=1006050301563
Some other odd OSs apparently do not have scandir() available at all.
I propose to have a fallback version supplied to make fontconfig more portable.
E.g. look at this patch NetBSD applies in its portable package:
http://pkgsrc.se/files.php?messageId=20140715144835.1658296@cvs.netbsd.org
Instead of enabling for just one OS, perhaps it should be enabled it configure fails the test.
Thanks, Riccardohttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/57changing the matcher function for family to forward matching2018-08-20T21:47:59ZBugzilla Migration Userchanging the matcher function for family to forward matching## Submitted by Akira TAGOH `@tagoh`
Assigned to **fon..@..op.org**
**[Link to original bug (#65638)](https://bugs.freedesktop.org/show_bug.cgi?id=65638)**
## Description
The issue was raised at Red Hat Bugzilla:
https://bugzill...## Submitted by Akira TAGOH `@tagoh`
Assigned to **fon..@..op.org**
**[Link to original bug (#65638)](https://bugs.freedesktop.org/show_bug.cgi?id=65638)**
## Description
The issue was raised at Red Hat Bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=956453
Adding all of variants of fonts as aliases are not realistic. I'd suggest to change the matcher function for family name from the exact matching to the forward matching and give the certain score against how many strings is being remained in the buffer.