You are not logged in.

#1 Yesterday 19:26:03

dimich
Member
From: Kharkiv, Ukraine
Registered: 2009-11-03
Posts: 630

fontconfig-2:2.18.x - broken fonts?

Some fonts in FF changed after fontconfig upgraded to 2:2.18.1-1.
For example, this site with fontconfig-2:2.17.1-1:
LMqasSt9_o.png

And with fontconfig-2:2.18.1-1 (the same with 2:2.18.0-3):
Es5LiDid_o.png

Did the newer fontconfig "fix" something or break? I'd like to keep the former look rather than the latter.

Last edited by dimich (Today 00:03:06)

Online

#2 Yesterday 19:41:24

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,732

Re: fontconfig-2:2.18.x - broken fonts?

Resolving wrong font? (Look at the uppercase "I" in Installation)
https://bbs.archlinux.org/viewtopic.php?id=313791

Offline

#3 Yesterday 20:26:05

dimich
Member
From: Kharkiv, Ukraine
Registered: 2009-11-03
Posts: 630

Re: fontconfig-2:2.18.x - broken fonts?

seth wrote:

Resolving wrong font?

Maybe. How can I check it reliably?

$ fc-match -s sans-serif
NimbusSans-Regular.otf: "Nimbus Sans" "Regular"
l048013t.pfa: "Luxi Sans" "Regular"
MathJax_SansSerif-Regular.woff: "MathJax_SansSerif" "Regular"
STIXMathJax_SansSerif-Regular.woff: "STIX MathJax SansSerif" "Regular"
Comic.TTF: "Comic Sans MS" "Regular"
STIXMathJax_SansSerif-Bold.woff: "STIX MathJax SansSerif" "Bold"
STIXMathJax_SansSerif-Italic.woff: "STIX MathJax SansSerif" "Italic"
STIXMathJax_SansSerif-BoldItalic.woff: "STIX MathJax SansSerif" "Bold Italic"
AdwaitaSans-Regular.ttf: "Adwaita Sans" "Regular"
AdwaitaSans-Italic.ttf: "Adwaita Sans" "Italic"
Verdana.TTF: "Verdana" "Regular"
Arial.TTF: "Arial" "Regular"
odosung.ttc: "AR PL New Sung" "Reguler"
AdwaitaMono-Regular.ttf: "Adwaita Mono" "Regular"
MathJax_AMS-Regular.woff: "MathJax_AMS" "Regular"
MathJax_Fraktur-Regular.woff: "MathJax_Fraktur" "Regular"
MathJax_Main-Regular.woff: "MathJax_Main" "Regular"
MathJax_Size1-Regular.woff: "MathJax_Size1" "Regular"
MathJax_Size4-Regular.woff: "MathJax_Size4" "Regular"
MathJax_Typewriter-Regular.woff: "MathJax_Typewriter" "Regular"
cour.ttf: "Courier New" "Regular"
JetBrainsMono-Regular.ttf: "JetBrains Mono" "Regular"
AriBlk.TTF: "Arial Black" "Regular"
SourceCodePro-Regular.otf: "Source Code Pro" "Regular"
D050000L.otf: "D050000L" "Regular"
LatinModernMathJax_Arrows-Regular.woff: "Latin Modern Math" "Regular"
LatinModernMathJax_Main-Regular.woff: "Latin Modern Math" "Regular"
LatinModernMathJax_Marks-Regular.woff: "Latin Modern Math" "Regular"
LatinModernMathJax_NonUnicode-Regular.woff: "Latin Modern Math" "Regular"
LatinModernMathJax_Operators-Regular.woff: "Latin Modern Math" "Regular"
LatinModernMathJax_Script-Regular.woff: "Latin Modern Math" "Regular"
LatinModernMathJax_Shapes-Regular.woff: "Latin Modern Math" "Regular"
LatinModernMathJax_Symbols-Regular.woff: "Latin Modern Math" "Regular"
GyrePagellaMathJax_Script-Regular.woff: "TeX Gyre Pagella Math" "Regular"
odokai-ExtB.ttf: "AR PL New Kai ExtB" "Regular"
STIXMathJax_Alphabets-Regular.woff: "STIX MathJax Alphabets" "Regular"
STIXMathJax_Arrows-Regular.woff: "STIX MathJax Arrows" "Regular"
STIXMathJax_Main-Regular.woff: "STIX MathJax Main" "Regular"
STIXMathJax_Marks-Regular.woff: "STIX MathJax Marks" "Regular"
STIXMathJax_Misc-Regular.woff: "STIX MathJax Misc" "Regular"
STIXMathJax_Operators-Regular.woff: "STIX MathJax Operators" "Regular"
STIXMathJax_Shapes-Regular.woff: "STIX MathJax Shapes" "Regular"
STIXMathJax_Size1-Regular.woff: "STIX MathJax Size1" "Regular"
STIXMathJax_Symbols-Regular.woff: "STIX MathJax Symbols" "Regular"
SyrCOMAdiabene.otf: "East Syriac Adiabene" "Regular"
SyrCOMKharput.otf: "Serto Kharput" "Regular"
AsanaMathJax_Alphabets-Regular.woff: "Asana Math" "Regular"
AsanaMathJax_Marks-Regular.woff: "Asana Math" "Regular"
AsanaMathJax_Symbols-Regular.woff: "Asana Math" "Regular"
TerminessNerdFont-Regular.ttf: "Terminess Nerd Font" "Regular"
odokai.ttf: "AR PL New Kai" "Regular"
GohaTibebZemen.otf: "Goha-Tibeb Zemen" "Regular"
7x13.pcf.gz: "Misc Fixed" "Regular"
8x13.pcf.gz: "Misc Fixed" "Regular"
ter-x12n.pcf.gz: "xos4 Terminus" "Regular"
12x13ja.pcf.gz: "Misc Fixed Wide" "ja"
6x12.pcf.gz: "Misc Fixed" "SemiCondensed"
6x13.pcf.gz: "Misc Fixed" "SemiCondensed"
9x15.pcf.gz: "Misc Fixed" "Regular"
cu12.pcf.gz: "MUTT ClearlyU Wide" "Regular"
cu-alt12.pcf.gz: "MUTT ClearlyU Alternate Glyphs Wide" "Regular"
cu-pua12.pcf.gz: "MUTT ClearlyU PUA" "Regular"
term14.pcf.gz: "Bitstream Terminal" "Regular"
18x18ja.pcf.gz: "Misc Fixed Wide" "ja"
10x20.pcf.gz: "Misc Fixed" "Regular"
Webdings.TTF: "Webdings" "Regular"

doesn't look like a list of sans-serif fonts.

Hm, doesn't seem like AUR issue.

Online

#4 Yesterday 20:47:20

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,732

Re: fontconfig-2:2.18.x - broken fonts?

No, the issue seems fontconfig - there's also a thread where it leads to crashing Qt clients (for bad glyph resolution?)

The resolved/used fonts between the two screenshots are certainly different (albeit similar, but the horizontal lines on the "I" are a distinct difference)
Does the sans-serif list change w/ the update?
Do you explicitly set https://wiki.archlinux.org/title/Font_c … dard_names ?

From what I can tell the first screenshot is likely STIX Math, the second one probabyl Nimbus?

Offline

#5 Yesterday 21:39:49

dimich
Member
From: Kharkiv, Ukraine
Registered: 2009-11-03
Posts: 630

Re: fontconfig-2:2.18.x - broken fonts?

seth wrote:

Does the sans-serif list change w/ the update?

Yes, with fontconfig 2:2.17.1-1 it has 59 entries:

$ fc-match -s sans-serif
Verdana.TTF: "Verdana" "Regular"
Arial.TTF: "Arial" "Regular"
l048013t.pfa: "Luxi Sans" "Regular"
NimbusSans-Regular.otf: "Nimbus Sans" "Regular"
odosung.ttc: "AR PL New Sung" "Reguler"
AdwaitaMono-Regular.ttf: "Adwaita Mono" "Regular"
MathJax_AMS-Regular.woff: "MathJax_AMS" "Regular"
MathJax_Fraktur-Regular.woff: "MathJax_Fraktur" "Regular"
MathJax_Main-Regular.woff: "MathJax_Main" "Regular"
MathJax_Size1-Regular.woff: "MathJax_Size1" "Regular"
MathJax_Size4-Regular.woff: "MathJax_Size4" "Regular"
MathJax_Typewriter-Regular.woff: "MathJax_Typewriter" "Regular"
cour.ttf: "Courier New" "Regular"
JetBrainsMono-Regular.ttf: "JetBrains Mono" "Regular"
AriBlk.TTF: "Arial Black" "Regular"
SourceCodePro-Regular.otf: "Source Code Pro" "Regular"
D050000L.otf: "D050000L" "Regular"
LatinModernMathJax_Arrows-Regular.woff: "Latin Modern Math" "Regular"
LatinModernMathJax_Main-Regular.woff: "Latin Modern Math" "Regular"
LatinModernMathJax_Marks-Regular.woff: "Latin Modern Math" "Regular"
LatinModernMathJax_NonUnicode-Regular.woff: "Latin Modern Math" "Regular"
LatinModernMathJax_Operators-Regular.woff: "Latin Modern Math" "Regular"
LatinModernMathJax_Script-Regular.woff: "Latin Modern Math" "Regular"
LatinModernMathJax_Shapes-Regular.woff: "Latin Modern Math" "Regular"
LatinModernMathJax_Symbols-Regular.woff: "Latin Modern Math" "Regular"
GyrePagellaMathJax_Script-Regular.woff: "TeX Gyre Pagella Math" "Regular"
odokai-ExtB.ttf: "AR PL New Kai ExtB" "Regular"
STIXMathJax_Alphabets-Regular.woff: "STIX MathJax Alphabets" "Regular"
STIXMathJax_Arrows-Regular.woff: "STIX MathJax Arrows" "Regular"
STIXMathJax_Main-Regular.woff: "STIX MathJax Main" "Regular"
STIXMathJax_Marks-Regular.woff: "STIX MathJax Marks" "Regular"
STIXMathJax_Misc-Regular.woff: "STIX MathJax Misc" "Regular"
STIXMathJax_Operators-Regular.woff: "STIX MathJax Operators" "Regular"
STIXMathJax_Shapes-Regular.woff: "STIX MathJax Shapes" "Regular"
STIXMathJax_Size1-Regular.woff: "STIX MathJax Size1" "Regular"
STIXMathJax_Symbols-Regular.woff: "STIX MathJax Symbols" "Regular"
SyrCOMAdiabene.otf: "East Syriac Adiabene" "Regular"
SyrCOMKharput.otf: "Serto Kharput" "Regular"
AsanaMathJax_Alphabets-Regular.woff: "Asana Math" "Regular"
AsanaMathJax_Marks-Regular.woff: "Asana Math" "Regular"
AsanaMathJax_Symbols-Regular.woff: "Asana Math" "Regular"
TerminessNerdFont-Regular.ttf: "Terminess Nerd Font" "Regular"
odokai.ttf: "AR PL New Kai" "Regular"
GohaTibebZemen.otf: "Goha-Tibeb Zemen" "Regular"
7x13.pcf.gz: "Misc Fixed" "Regular"
8x13.pcf.gz: "Misc Fixed" "Regular"
ter-x12n.pcf.gz: "xos4 Terminus" "Regular"
12x13ja.pcf.gz: "Misc Fixed Wide" "ja"
6x12.pcf.gz: "Misc Fixed" "SemiCondensed"
6x13.pcf.gz: "Misc Fixed" "SemiCondensed"
9x15.pcf.gz: "Misc Fixed" "Regular"
cu12.pcf.gz: "MUTT ClearlyU Wide" "Regular"
cu-alt12.pcf.gz: "MUTT ClearlyU Alternate Glyphs Wide" "Regular"
cu-pua12.pcf.gz: "MUTT ClearlyU PUA" "Regular"
term14.pcf.gz: "Bitstream Terminal" "Regular"
18x18ja.pcf.gz: "Misc Fixed Wide" "ja"
10x20.pcf.gz: "Misc Fixed" "Regular"
AdwaitaSans-Regular.ttf: "Adwaita Sans" "Regular"
Webdings.TTF: "Webdings" "Regular"

(vs 66 entries for 2:2.18.1-1)

Fonts appeared in 2:2.18 but absent in 2::2.17:

+AdwaitaSans-Italic.ttf: "Adwaita Sans" "Italic"
+Comic.TTF: "Comic Sans MS" "Regular"
+MathJax_SansSerif-Regular.woff: "MathJax_SansSerif" "Regular"
+STIXMathJax_SansSerif-BoldItalic.woff: "STIX MathJax SansSerif" "Bold Italic"
+STIXMathJax_SansSerif-Bold.woff: "STIX MathJax SansSerif" "Bold"
+STIXMathJax_SansSerif-Italic.woff: "STIX MathJax SansSerif" "Italic"
+STIXMathJax_SansSerif-Regular.woff: "STIX MathJax SansSerif" "Regular"

No, at least I don't remember that. /etc/fonts/fonts.conf is unchanged, /etc/fonts/conf.d/ apart symlinks to /usr/share/fontconfig/conf.default/ has only one file to disable ligatures and alternatives. Nothing related in ~/.config/fontconfig/ as well.

seth wrote:

From what I can tell the first screenshot is likely STIX Math, the second one probabyl Nimbus?

STIXMathJax_SansSerif* are present in 2:2.18 list but absent in 2:2.17. Itfp I'm trying to understand how it should be by design. Whether old behavior was incorrect and new fontconfig fixed it or old behavior was correct and new fontconfig break it. In FF settings default font is just "serif".

Online

#6 Yesterday 21:56:14

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,732

Re: fontconfig-2:2.18.x - broken fonts?

Verdana actually also has the horizontal bars on the "I"

Itfp I'm trying to understand how it should be by design.

If no alias for sans-serif is configured fontconfig will select "some" qualified (non serif) font - otherwise you can of course expect your configured font to be used as generic default.
If you like Verdana better, try to configure sans-serif as Verdana - the forum just uses the generic default, but CSS could of course specify random fonts to be used and then the browser tries to resolve those.

Offline

#7 Yesterday 22:59:58

dimich
Member
From: Kharkiv, Ukraine
Registered: 2009-11-03
Posts: 630

Re: fontconfig-2:2.18.x - broken fonts?

Well, I noticed that on another machine with Arch nothing visually changed despite fontconfig upgrade. Compared list of installed fonts. There are more font packages installed on another machine, so I started to install one by one font package checking the difference. After installing ttf-dejavu this forum and some other sites started too look in FF very similar as it was with fontconfg 2:2.17.1-1.
Not really understand how font selection is performed but marking as solved.

Online

#8 Yesterday 23:22:51

2084x
Member
Registered: 2022-11-28
Posts: 1

Re: fontconfig-2:2.18.x - broken fonts?

hello I have the same issue after upgrading fontconfig 2.17.x -> 2.18.x. this is my fonts.conf:

<?xml version='1.0'?>
   2 │ <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
   3 │ <fontconfig>
   4 │     <alias>
   5 │         <family>serif</family>
   6 │         <prefer>
   7 │             <family>Linux Libertine</family>
   8 │             <family>Noto Serif CJK KR</family>
   9 │             <family>Noto Color Emoji</family>
  10 │             <family>FontAwesome</family>
  11 │         </prefer>
  12 │     </alias>
  13 │     <alias>
  14 │         <family>sans-serif</family>
  15 │         <prefer>
  16 │             <family>Linux Biolinum</family>
  17 │             <family>Noto Sans CJK KR</family>
  18 │             <family>Noto Color Emoji</family>
  19 │             <family>FontAwesome</family>
  20 │         </prefer>
  21 │     </alias>
  22 │     <alias>
  23 │         <family>sans</family>
  24 │         <prefer>
  25 │             <family>Linux Biolinum</family>
  26 │             <family>Noto Sans CJK KR</family>
  27 │             <family>Noto Color Emoji</family>
  28 │             <family>FontAwesome</family>
  29 │         </prefer>
  30 │     </alias>
  31 │     <alias>
  32 │         <family>monospace</family>
  33 │         <prefer>
  34 │             <family>FreeMono</family>
  35 │             <family>Noto Sans Mono</family>
  36 │             <family>Noto Sans Mono CJK KR</family>
  37 │             <family>FontAwesome</family>
  38 │         </prefer>
  39 │     </alias>
  40 │ </fontconfig>

after upgrading, all sans/serif/sans-serif text is being rendered with noto fonts. linux biolinum and linux libertine are being ignored.

~ $ fc-match serif 
NotoSerifCJK-Regular.ttc: "Noto Serif CJK KR" "Regular" 

~ $ fc-match sans 
NotoSansCJK-Regular.ttc: "Noto Sans CJK KR" "Regular" 

I already have ttf-dejavu installed so that's not a solution.

Offline

#9 Today 00:02:49

dimich
Member
From: Kharkiv, Ukraine
Registered: 2009-11-03
Posts: 630

Re: fontconfig-2:2.18.x - broken fonts?

dimich wrote:

After installing ttf-dejavu this forum and some other sites started too look in FF very similar as it was with fontconfg 2:2.17.1-1.
...marking as solved.

Nope, with ttf-dejavu it looks closer but still differently, e.g. no serifs in capital 'I'. Also it seems totally ignored what is selected in "Default font" firefox settings. Unmarking as solved.

Online

#10 Today 04:19:56

SataMaxx
Member
Registered: 2011-08-07
Posts: 24

Re: fontconfig-2:2.18.x - broken fonts?

I'm experiencing similar problems with fonts after updating fontconfig to 2:2.18.1-1, affecting conky, lemonbar, and probably others.

For example, I'm using Impact from ttf-ms-fonts, which is located in /usr/share/fonts/TTF/Impact.TTF

With 2:2.17.1-1:

$ fc-match Impact
Impact.TTF: "Impact" "Regular"

Impact is correctly found (verbose output from fc-match lists the correct full path)

With 2:2.18.1-1:

$ fc-match Impact
Roobert-Heavy.f1e39e0aa199.woff2: "Impact" "<unknown style>"

Impact is matched to a locally installed font in ~/.local/share/fonts.

In both fontconfig versions, Impact is correctly located with fc-list

$ fc-list | grep Impact
/usr/share/fonts/TTF/Impact.TTF: Impact:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta

The same occurs with other system-wide installed fonts such as Fira Code, monofur for Powerline, FontAwesome, etc.

Re-installing ttf-ms-fonts after upgrading fontconfig doesn't change anything.
Refreshing fc-cache doesn't change anything.

I've never edited /etc/fonts/fonts.conf, which looks like it hasn't changed between 2:2.17.1-1 and 2:2.18.1-1.

It looks like an upstream regression?

Here's the full output from fc-match in 2:2.18.1-1

$ fc-match --verbose Impact
Pattern has 27 elts (size 32)
    family: "Impact"(s) "Impact"(w) "Copperplate Gothic Std"(w) "Cooper Std"(w) "Bauhaus Std"(w) "fantasy"(w) "Homa"(w) "Kamran"(w) "Fantezi"(w) "Tabassom"(w) "DejaVu LGC Sans"(w) "Noto Sans"(w) "DejaVu Sans"(w) "Verdana"(w) "Arial"(w) "Albany AMT"(w) "Luxi Sans"(w) "Nimbus Sans L"(w) "Nimbus Sans"(w) "Nimbus Sans"(w) "Helvetica"(w) "Nimbus Sans"(w) "Nimbus Sans L"(w) "Lucida Sans Unicode"(w) "BPG Glaho International"(w) "Tahoma"(w) "Nachlieli"(w) "Lucida Sans Unicode"(w) "Yudit Unicode"(w) "Kerkis"(w) "ArmNet Helvetica"(w) "Artsounk"(w) "BPG UTF8 M"(w) "Waree"(w) "Loma"(w) "Garuda"(w) "Umpush"(w) "Saysettha Unicode"(w) "JG Lao Old Arial"(w) "GF Zemen Unicode"(w) "Pigiarniq"(w) "B Davat"(w) "B Compset"(w) "Kacst-Qr"(w) "Urdu Nastaliq Unicode"(w) "Raghindi"(w) "Mukti Narrow"(w) "malayalam"(w) "Sampige"(w) "padmaa"(w) "Hapax Berbère"(w) "MS Gothic"(w) "UmePlus P Gothic"(w) "Microsoft YaHei"(w) "Microsoft JhengHei"(w) "WenQuanYi Zen Hei"(w) "WenQuanYi Bitmap Song"(w) "AR PL ShanHeiSun Uni"(w) "AR PL New Sung"(w) "Hiragino Sans"(w) "PingFang SC"(w) "PingFang TC"(w) "PingFang HK"(w) "Hiragino Sans CNS"(w) "Hiragino Sans GB"(w) "MgOpen Modata"(w) "VL Gothic"(w) "IPAMonaGothic"(w) "IPAGothic"(w) "Sazanami Gothic"(w) "Kochi Gothic"(w) "AR PL KaitiM GB"(w) "AR PL KaitiM Big5"(w) "AR PL ShanHeiSun Uni"(w) "AR PL SungtiL GB"(w) "AR PL Mingti2L Big5"(w) "MS ゴシック"(w) "ZYSong18030"(w) "TSCu_Paranar"(w) "Noto Sans CJK KR"(w) "NanumGothic"(w) "Apple SD Gothic Neo"(w) "KacstQura"(w) "Lohit Bengali"(w) "Lohit Gujarati"(w) "Lohit Hindi"(w) "Lohit Marathi"(w) "Lohit Maithili"(w) "Lohit Kashmiri"(w) "Lohit Konkani"(w) "Lohit Nepali"(w) "Lohit Sindhi"(w) "Lohit Punjabi"(w) "Lohit Tamil"(w) "Meera"(w) "Lohit Malayalam"(w) "Lohit Kannada"(w) "Lohit Telugu"(w) "Lohit Odia"(w) "LKLUG"(w) "Noto Sans"(w) "FreeSans"(w) "Arial Unicode MS"(w) "Arial Unicode"(w) "Code2000"(w) "Code2001"(w) "URW Gothic"(w) "Nimbus Sans"(w) "Nimbus Sans Narrow"(w) "sans-serif"(w) "Roya"(w) "Koodak"(w) "Terafik"(w) "Helvetica"(w) "sans-serif"(w) "ITC Avant Garde Gothic"(w) "URW Gothic"(w) "sans-serif"(w) "sans-serif"(w) "Helvetica"(w) "Helvetica Narrow"(w) "Nimbus Sans Narrow"(w)
    slant: 0(i)(s)
    weight: 80(i)(s)
    width: 100(i)(s)
    size: 12(f)(s)
    pixelsize: 12.5(f)(s)
    antialias: True(w)
    hintstyle: 1(i)(w)
    hinting: True(s)
    verticallayout: False(s)
    autohint: False(s)
    globaladvance: True(s)
    file: "/home/maxx/.local/share/fonts/Roobert-Heavy.f1e39e0aa199.woff2"(s)
    dpi: 75(f)(s)
    scale: 1(f)(s)
    lang: "en"(w)
    fontversion: 2147483647(i)(s)
    embeddedbitmap: True(s)
    decorative: False(s)
    lcdfilter: 1(i)(w)
    namelang: "en"(s)
    prgname: "fc-match"(s)
    symbol: False(s)
    variable: False(s)
    order: 0(i)(s)
    fontwrapper: "WOFF2"(s)
    genericfamily: 5(i)(w)

It doesn't look like fontconfig is ignoring the system fonts dir, as they are listed in fc-list.
Somehow, it seemingly just gives every font family attribute it has encountered to one random locally installed font (it's not the only one locally installed font, not the first one alphabetically, nor the last one).

edit:
Even worse, it seems to hallucinate font families:

fc-match foobar --verbose
Pattern has 26 elts (size 32)
    family: "foobar"(s) "DejaVu LGC Sans"(w) "Noto Sans"(w) "DejaVu Sans"(w) "Verdana"(w) "Arial"(w) "Albany AMT"(w) "Luxi Sans"(w) "Nimbus Sans L"(w) "Nimbus Sans"(w) "Nimbus Sans"(w) "Helvetica"(w) "Nimbus Sans"(w) "Nimbus Sans L"(w) "Lucida Sans Unicode"(w) "BPG Glaho International"(w) "Tahoma"(w) "Nachlieli"(w) "Lucida Sans Unicode"(w) "Yudit Unicode"(w) "Kerkis"(w) "ArmNet Helvetica"(w) "Artsounk"(w) "BPG UTF8 M"(w) "Waree"(w) "Loma"(w) "Garuda"(w) "Umpush"(w) "Saysettha Unicode"(w) "JG Lao Old Arial"(w) "GF Zemen Unicode"(w) "Pigiarniq"(w) "B Davat"(w) "B Compset"(w) "Kacst-Qr"(w) "Urdu Nastaliq Unicode"(w) "Raghindi"(w) "Mukti Narrow"(w) "malayalam"(w) "Sampige"(w) "padmaa"(w) "Hapax Berbère"(w) "MS Gothic"(w) "UmePlus P Gothic"(w) "Microsoft YaHei"(w) "Microsoft JhengHei"(w) "WenQuanYi Zen Hei"(w) "WenQuanYi Bitmap Song"(w) "AR PL ShanHeiSun Uni"(w) "AR PL New Sung"(w) "Hiragino Sans"(w) "PingFang SC"(w) "PingFang TC"(w) "PingFang HK"(w) "Hiragino Sans CNS"(w) "Hiragino Sans GB"(w) "MgOpen Modata"(w) "VL Gothic"(w) "IPAMonaGothic"(w) "IPAGothic"(w) "Sazanami Gothic"(w) "Kochi Gothic"(w) "AR PL KaitiM GB"(w) "AR PL KaitiM Big5"(w) "AR PL ShanHeiSun Uni"(w) "AR PL SungtiL GB"(w) "AR PL Mingti2L Big5"(w) "MS ゴシック"(w) "ZYSong18030"(w) "TSCu_Paranar"(w) "Noto Sans CJK KR"(w) "NanumGothic"(w) "Apple SD Gothic Neo"(w) "KacstQura"(w) "Lohit Bengali"(w) "Lohit Gujarati"(w) "Lohit Hindi"(w) "Lohit Marathi"(w) "Lohit Maithili"(w) "Lohit Kashmiri"(w) "Lohit Konkani"(w) "Lohit Nepali"(w) "Lohit Sindhi"(w) "Lohit Punjabi"(w) "Lohit Tamil"(w) "Meera"(w) "Lohit Malayalam"(w) "Lohit Kannada"(w) "Lohit Telugu"(w) "Lohit Odia"(w) "LKLUG"(w) "Noto Sans"(w) "FreeSans"(w) "Arial Unicode MS"(w) "Arial Unicode"(w) "Code2000"(w) "Code2001"(w) "URW Gothic"(w) "Nimbus Sans"(w) "Nimbus Sans Narrow"(w) "sans-serif"(w) "Roya"(w) "Koodak"(w) "Terafik"(w) "Helvetica"(w) "sans-serif"(w) "ITC Avant Garde Gothic"(w) "URW Gothic"(w) "sans-serif"(w) "sans-serif"(w) "Helvetica"(w) "Helvetica Narrow"(w) "Nimbus Sans Narrow"(w)
    slant: 0(i)(s)
    weight: 80(i)(s)
    width: 100(i)(s)
    size: 12(f)(s)
    pixelsize: 12.5(f)(s)
    antialias: True(w)
    hintstyle: 1(i)(w)
    hinting: True(s)
    verticallayout: False(s)
    autohint: False(s)
    globaladvance: True(s)
    file: "/home/maxx/.local/share/fonts/Roobert-Heavy.f1e39e0aa199.woff2"(s)
    dpi: 75(f)(s)
    scale: 1(f)(s)
    lang: "en"(w)
    fontversion: 2147483647(i)(s)
    embeddedbitmap: True(s)
    decorative: False(s)
    lcdfilter: 1(i)(w)
    namelang: "en"(s)
    prgname: "fc-match"(s)
    symbol: False(s)
    variable: False(s)
    order: 0(i)(s)
    fontwrapper: "WOFF2"(s)

edit2:
In 2:2.17.1-1, asking to match a non-existing font still falls back on a default font, but at least the choice seems more reasonable and it doesn't hallucinate a matching font family:

$ fc-match foobar --verbose
Pattern has 42 elts (size 48)
    family: "Noto Sans"(w)
    familylang: "en"(s)
    style: "Regular"(s)
    stylelang: "en"(s)
    fullname: "Noto Sans Regular"(w)
    fullnamelang: "en"(s)
    slant: 0(i)(s)
    weight: 80(f)(s)
    width: 100(f)(s)
    size: 12(f)(s)
    pixelsize: 12.5(f)(s)
    foundry: "GOOG"(s)
    antialias: True(w)
    hintstyle: 1(i)(w)
    hinting: True(s)
    verticallayout: False(s)
    autohint: False(s)
    globaladvance: True(s)
    file: "/usr/share/fonts/noto/NotoSans-Regular.ttf"(s)
    index: 0(i)(w)
    outline: True(s)
    scalable: True(s)
    dpi: 75(f)(s)
    scale: 1(f)(s)
    charset: 
    0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffffffff ffffffff ffffffff
    0001: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
    0002: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
    0003: ffffffff ffffffff ffffffff fcffffff ffffd7f0 fffffffb ffffffff ffff0003
    0004: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
    0005: ffffffff 0000ffff 00000000 00000000 00000000 00000000 00000000 00000000
    0010: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 08000000
    001a: 00000000 00000000 00000000 00000000 00000000 ffff0000 00007fa1 00000000
    001c: 00000000 00000000 00000000 00000000 000001ff 00000000 00000000 00000000
    001d: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fbffffff
    001e: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
    001f: 3f3fffff ffffffff aaff3f3f 3fffffff ffffffff ffdfffff efcfffdf 7fdcffff
    0020: ffffffff ffffffff ffffffff fff3ffdf 1fff7fff ffffffff 00000001 00010000
    0021: ffffffff ffffffff ffffffff 00000000 00000218 00000000 00000000 00000000
    0022: 00040000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    0025: 00000000 00000000 00000000 00000000 00000000 00000000 00001000 00000000
    002c: 00000000 00000000 00000000 ffffffff 00000000 00000000 00000000 00000000
    002d: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ffffffff
    002e: ffffffff ffffffff 3fffffff 00000000 00000000 00000000 00000000 00000000
    00a6: 00000000 00000000 ffffffff ffffffff ffffffff 00000000 00000000 00000000
    00a7: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 03eb07ff fffc0000
    00a9: 00000000 00004000 00000000 00000000 00000000 00000000 00000000 00000000
    00ab: 00000000 ffff0000 ffffffff 00000fff 00000000 00000000 00000000 00000000
    00fb: 0000007f 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    00fe: 00000001 0000ffff 00000000 00000000 00000000 00000000 00000000 80000000
    00ff: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 30000000
    0107: 00000000 00000000 00000000 00000000 ffffffbf 07fdffff 00000000 00000000
    01df: 7fffffff 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(s)
    lang: aa|ab|af|ast|av|ay|az-az|ba|bm|be|bg|bi|bin|br|bs|bua|ca|ce|ch|chm|co|cs|cu|cv|cy|da|de|el|en|eo|es|et|eu|fi|fj|fo|fr|ff|fur|fy|ga|gd|gl|gn|gv|ha|haw|ho|hr|hu|ia|ig|id|ie|ik|io|is|it|kaa|ki|kk|kl|ku-am|kum|kv|kw|ky|la|lb|lez|ln|lt|lv|mg|mh|mi|mk|mo|mt|nb|nds|nl|nn|no|nr|nso|ny|oc|om|os|pl|pt|rm|ro|ru|sah|sco|se|sel|sh|shs|sk|sl|sm|sma|smj|smn|sms|so|sq|sr|ss|st|sv|sw|tg|tk|tl|tn|to|tr|ts|tt|tw|tyv|uk|uz|ve|vi|vo|vot|wa|wen|wo|xh|yap|yo|zu|ak|an|ber-dz|crh|csb|ee|fat|fil|hsb|ht|hz|jv|kab|kj|kr|ku-tr|kwm|lg|li|mn-mn|ms|na|ng|nv|pap-an|pap-aw|qu|quz|rn|rw|sc|sg|sn|su|ty|za|agr|ayc|bem|dsb|lij|mfe|mhr|miq|mjw|nhn|niu|rif|sgs|szl|tpi|unm|wae|yuw(s)
    fontversion: 132055(i)(s)
    capability: "otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latn"(w)
    fontformat: "TrueType"(s)
    embeddedbitmap: True(s)
    decorative: False(s)
    lcdfilter: 1(i)(w)
    namelang: "en"(s)
    prgname: "fc-match"(s)
    postscriptname: "NotoSans-Regular"(s)
    color: False(s)
    symbol: False(s)
    variable: False(s)
    fonthashint: True(s)
    order: 0(i)(s)
    namedinstance: False(s)
    fontwrapper: "SFNT"(s)

Reverting to 2:2.17.1-1 and restarting the affected program fixes the problem, no Xorg restart needed.

edit3: emacs, on the other hand, in which I also use fonts that don't get picked up elsewhere such as Fira Code and FontAwesome, doesn't seem to be affected.
Wysiwyg programs such as inkscape or libreoffice writer don't seem to be affected either, as I can find those fonts listed and use them without any problem.

I don't know if this is indicative of anything, but emacs and inkscape depend on libfontconfig and not only fontconfig (libfontconfig being a part of fontconfig anyway). conky-lua-nv depends on fontconfig. lemonbar-xft-git doesn't even depend on fontconfig (but depends on libxft, as conky-lua-nv does, which depends on fontconfig).

emacs, inkscape and libreoffice have not been rebuilt against the new fontconfig version, and work the same with either fontconfig 2.17 or 2.18.
Rebuilding lemonbar-xft-git with fontconfig 2.18 installed doesn't fix the problem.

In summary
  1. fontconfig 2.18 breaks font matching for some programs and not others

  2. font matching is broken for direct matching as well as for family matching

  3. thus, there seems to be multiple font matching mechanisms in fontconfig/libfontconfig, of which at least one is working and at least one is broken

  4. affected programs may be using a deprecated font matching mechanism, or misusing the API

  5. but, rebuilding those programs neither fixes the problem nor throws an error while building

  6. and, the behavior of fc-match, itself part of fontconfig, is changed and looks a bit nonsensical

Last edited by SataMaxx (Today 06:10:42)

Offline

#11 Today 07:44:30

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,732

Re: fontconfig-2:2.18.x - broken fonts?

https://gitlab.freedesktop.org/fontconf … _items/520
There were a bunch of patches backported into 2:2.18.0-2/3 and 2:2.18.1 is supposed to have fixed this but apparently didn't.

There's https://gitlab.freedesktop.org/fontconf … _items/529 and that might affect mozilla (and electron, I think) since they use internal FC implementations, but fc-match is clearly wrong and there're threads about clients crashing in libfontconfig when resolving glyphs.

$ fc-match --verbose Impact
Pattern has 27 elts (size 32)
    family: "Impact"(s) "Impact"(w) "Copperplate Gothic Std"(w) "Cooper Std"(w) "Bauhaus Std"(w) "fantasy"(w) "Homa"(w) "Kamran"(w) "Fantezi"(w) "Tabassom"(w) "DejaVu LGC Sans"(w) "Noto Sans"(w) "DejaVu Sans"(w) "Verdana"(w) "Arial"(w) "Albany AMT"(w) "Luxi Sans"(w) "Nimbus Sans L"(w) "Nimbus Sans"(w) "Nimbus Sans"(w) "Helvetica"(w) "Nimbus Sans"(w) "Nimbus Sans L"(w) "Lucida Sans Unicode"(w) "BPG Glaho International"(w) "Tahoma"(w) "Nachlieli"(w) "Lucida Sans Unicode"(w) "Yudit Unicode"(w) "Kerkis"(w) "ArmNet Helvetica"(w) "Artsounk"(w) "BPG UTF8 M"(w) "Waree"(w) "Loma"(w) "Garuda"(w) "Umpush"(w) "Saysettha Unicode"(w) "JG Lao Old Arial"(w) "GF Zemen Unicode"(w) "Pigiarniq"(w) "B Davat"(w) "B Compset"(w) "Kacst-Qr"(w) "Urdu Nastaliq Unicode"(w) "Raghindi"(w) "Mukti Narrow"(w) "malayalam"(w) "Sampige"(w) "padmaa"(w) "Hapax Berbère"(w) "MS Gothic"(w) "UmePlus P Gothic"(w) "Microsoft YaHei"(w) "Microsoft JhengHei"(w) "WenQuanYi Zen Hei"(w) "WenQuanYi Bitmap Song"(w) "AR PL ShanHeiSun Uni"(w) "AR PL New Sung"(w) "Hiragino Sans"(w) "PingFang SC"(w) "PingFang TC"(w) "PingFang HK"(w) "Hiragino Sans CNS"(w) "Hiragino Sans GB"(w) "MgOpen Modata"(w) "VL Gothic"(w) "IPAMonaGothic"(w) "IPAGothic"(w) "Sazanami Gothic"(w) "Kochi Gothic"(w) "AR PL KaitiM GB"(w) "AR PL KaitiM Big5"(w) "AR PL ShanHeiSun Uni"(w) "AR PL SungtiL GB"(w) "AR PL Mingti2L Big5"(w) "MS ゴシック"(w) "ZYSong18030"(w) "TSCu_Paranar"(w) "Noto Sans CJK KR"(w) "NanumGothic"(w) "Apple SD Gothic Neo"(w) "KacstQura"(w) "Lohit Bengali"(w) "Lohit Gujarati"(w) "Lohit Hindi"(w) "Lohit Marathi"(w) "Lohit Maithili"(w) "Lohit Kashmiri"(w) "Lohit Konkani"(w) "Lohit Nepali"(w) "Lohit Sindhi"(w) "Lohit Punjabi"(w) "Lohit Tamil"(w) "Meera"(w) "Lohit Malayalam"(w) "Lohit Kannada"(w) "Lohit Telugu"(w) "Lohit Odia"(w) "LKLUG"(w) "Noto Sans"(w) "FreeSans"(w) "Arial Unicode MS"(w) "Arial Unicode"(w) "Code2000"(w) "Code2001"(w) "URW Gothic"(w) "Nimbus Sans"(w) "Nimbus Sans Narrow"(w) "sans-serif"(w) "Roya"(w) "Koodak"(w) "Terafik"(w) "Helvetica"(w) "sans-serif"(w) "ITC Avant Garde Gothic"(w) "URW Gothic"(w) "sans-serif"(w) "sans-serif"(w) "Helvetica"(w) "Helvetica Narrow"(w) "Nimbus Sans Narrow"(w)
    slant: 0(i)(s)
    weight: 80(i)(s)
    width: 100(i)(s)
    size: 12(f)(s)
    pixelsize: 12.5(f)(s)
    antialias: True(w)
    hintstyle: 1(i)(w)
    hinting: True(s)
    verticallayout: False(s)
    autohint: False(s)
    globaladvance: True(s)
    file: "/home/maxx/.local/share/fonts/Roobert-Heavy.f1e39e0aa199.woff2"(s)
    dpi: 75(f)(s)
    scale: 1(f)(s)
    lang: "en"(w)
    fontversion: 2147483647(i)(s)
    embeddedbitmap: True(s)
    decorative: False(s)
    lcdfilter: 1(i)(w)
    namelang: "en"(s)
    prgname: "fc-match"(s)
    symbol: False(s)
    variable: False(s)
    order: 0(i)(s)
    fontwrapper: "WOFF2"(s)
    genericfamily: 5(i)(w)

It seems what happens here is that some web fonts (why are those there?) are getting in the way - possibly related to https://gitlab.freedesktop.org/fontconf … _items/501 & https://gitlab.freedesktop.org/fontconf … _items/375 that got re-exposed w/ the recent flurry of patches?
Assuming those woff2 are cached, what happens if you remove them?

Offline

#12 Today 09:37:31

SataMaxx
Member
Registered: 2011-08-07
Posts: 24

Re: fontconfig-2:2.18.x - broken fonts?

Okay…
So removing that one woff2 font (not even all of them) did fix the problem… ¯\\_(ツ)_/¯
(not only in lemonbar and conky finding the correct fonts but also with fc-match (even fc-match foobar --verbose stops inventing a foobar family and gives the same output as with 2.17)

It really seems to have been linked to that specific woff2 font

Offline

#13 Today 14:47:12

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,732

Re: fontconfig-2:2.18.x - broken fonts?

In your specific case, yes. The bigger problem is that those fonts get preferred at all.
It's however a slightly different problem from dimich's (leaving aside that fontconfig played around w/ the resolution algorithm)

Offline

Board footer

Powered by FluxBB