Got yesterday's KDE Neon release installed successfully [1], and
the missing-text issue Patryk found on Neon/Aarch64 also affects Neon/
x86_64: GNUstep gui apps are missing all UI text characters except
digits.
Running the fc-pattern-check tool on Neon (attached output:
fcpc_out_kdeneon.txt) shows the same issue as on Kubuntu: The second
FcFontMatch() call returns a match for the "Noto Color Emoji" font.
Cheers,
Josh
Initial pattern:
Pattern has 2 elts (size 16)
family: "DejaVu Sans"(s)
fullname: "DejaVu Sans"(s)
FcConfigSubstitute() call #1:
Pattern has 7 elts (size 16)
family: "DejaVu Sans"(s) "DejaVu LGC Sans"(s) "Arimo"(w) "Noto Sans"(w)
"Noto Sans CJK SC"(w) "Noto Sans Arabic"(w) "Noto Sans Thai"(w) "Noto Sans
Devanagari"(w) "Noto Sans Tamil"(w) "Noto Sans Hebrew"(w) "Noto Sans
Bengali"(w) "Noto Sans Telugu"(w) "Noto Sans Kannada"(w) "Noto Sans
Malayalam"(w) "Noto Sans Gurmukhi"(w) "Noto Sans Gujarati"(w) "Noto Sans
Oriya"(w) "Noto Sans Armenian"(w) "Noto Sans Georgian"(w) "Noto Sans Khmer"(w)
"Noto Sans Lao"(w) "Noto Sans Ethiopic"(w) "Noto Sans Myanmar"(w) "Noto Sans
Sinhala"(w) "Jomolhari"(w) "Noto Sans Coptic"(w) "Noto Sans Deseret"(w) "Noto
Sans TaiTham"(w) "Noto Sans CanadianAboriginal"(w) "Noto Sans Yi"(w) "Noto Sans
Tifinagh"(w) "Noto Sans Adlam"(w) "Noto Sans Cherokee"(w) "Noto Sans Chakma"(w)
"Noto Sans Osage"(w) "Noto Color Emoji"(w) "Noto Sans Symbols"(w) "Noto Sans
Symbols2"(w) "DejaVu Sans"(w) "DejaVu Sans"(w) "DejaVu LGC Sans"(w) "DejaVu
Sans"(w) "Bitstream Vera Sans"(w) "Verdana"(w) "Arial"(w) "Albany AMT"(w) "Luxi
Sans"(w) "Nimbus Sans L"(w) "Nimbus Sans"(w) "Helvetica"(w) "Lucida Sans
Unicode"(w) "BPG Glaho International"(w) "Tahoma"(w) "Noto Sans CJK JP"(w)
"Noto Sans CJK KR"(w) "Noto Sans CJK SC"(w) "Noto Sans CJK TC"(w) "Noto Sans
CJK HK"(w) "Droid Sans Fallback"(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) "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) "MgOpen
Moderna"(w) "MgOpen Modata"(w) "MgOpen Cosmetica"(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) "ï¼ï¼³ ã´ã·ãã¯"(w) "ZYSong18030"(w)
"NanumGothic"(w) "UnDotum"(w) "Baekmuk Dotum"(w) "Baekmuk Gulim"(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 Oriya"(w)
"LKLUG"(w) "FreeSans"(w) "Arial Unicode MS"(w) "Arial Unicode"(w) "Code2000"(w)
"Code2001"(w) "sans-serif"(w) "Roya"(w) "Koodak"(w) "Terafik"(w) "SimHei"(w)
"Noto Sans CJK SC"(w) "é»ä½"(w) "Noto Sans CJK SC"(w) "sans-serif"(w)
"sans-serif"(w)
fullname: "DejaVu Sans"(s)
antialias: True(w)
hintstyle: 1(i)(w)
lang: "en"(w)
lcdfilter: 1(i)(w)
prgname: "fc-pattern-check"(s)
FcDefaultSubstitute() call #1:
Pattern has 26 elts (size 32)
family: "DejaVu Sans"(s) "DejaVu LGC Sans"(s) "Arimo"(w) "Noto Sans"(w)
"Noto Sans CJK SC"(w) "Noto Sans Arabic"(w) "Noto Sans Thai"(w) "Noto Sans
Devanagari"(w) "Noto Sans Tamil"(w) "Noto Sans Hebrew"(w) "Noto Sans
Bengali"(w) "Noto Sans Telugu"(w) "Noto Sans Kannada"(w) "Noto Sans
Malayalam"(w) "Noto Sans Gurmukhi"(w) "Noto Sans Gujarati"(w) "Noto Sans
Oriya"(w) "Noto Sans Armenian"(w) "Noto Sans Georgian"(w) "Noto Sans Khmer"(w)
"Noto Sans Lao"(w) "Noto Sans Ethiopic"(w) "Noto Sans Myanmar"(w) "Noto Sans
Sinhala"(w) "Jomolhari"(w) "Noto Sans Coptic"(w) "Noto Sans Deseret"(w) "Noto
Sans TaiTham"(w) "Noto Sans CanadianAboriginal"(w) "Noto Sans Yi"(w) "Noto Sans
Tifinagh"(w) "Noto Sans Adlam"(w) "Noto Sans Cherokee"(w) "Noto Sans Chakma"(w)
"Noto Sans Osage"(w) "Noto Color Emoji"(w) "Noto Sans Symbols"(w) "Noto Sans
Symbols2"(w) "DejaVu Sans"(w) "DejaVu Sans"(w) "DejaVu LGC Sans"(w) "DejaVu
Sans"(w) "Bitstream Vera Sans"(w) "Verdana"(w) "Arial"(w) "Albany AMT"(w) "Luxi
Sans"(w) "Nimbus Sans L"(w) "Nimbus Sans"(w) "Helvetica"(w) "Lucida Sans
Unicode"(w) "BPG Glaho International"(w) "Tahoma"(w) "Noto Sans CJK JP"(w)
"Noto Sans CJK KR"(w) "Noto Sans CJK SC"(w) "Noto Sans CJK TC"(w) "Noto Sans
CJK HK"(w) "Droid Sans Fallback"(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) "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) "MgOpen
Moderna"(w) "MgOpen Modata"(w) "MgOpen Cosmetica"(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) "ï¼ï¼³ ã´ã·ãã¯"(w) "ZYSong18030"(w)
"NanumGothic"(w) "UnDotum"(w) "Baekmuk Dotum"(w) "Baekmuk Gulim"(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 Oriya"(w)
"LKLUG"(w) "FreeSans"(w) "Arial Unicode MS"(w) "Arial Unicode"(w) "Code2000"(w)
"Code2001"(w) "sans-serif"(w) "Roya"(w) "Koodak"(w) "Terafik"(w) "SimHei"(w)
"Noto Sans CJK SC"(w) "é»ä½"(w) "Noto Sans CJK SC"(w) "sans-serif"(w)
"sans-serif"(w)
familylang: "en"(s) "en-us"(w)
stylelang: "en"(s) "en-us"(w)
fullname: "DejaVu Sans"(s)
fullnamelang: "en"(s) "en-us"(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)
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-pattern-check"(s)
symbol: False(s)
Match returned by FcFontMatch() call #1:
Pattern has 39 elts (size 48)
family: "DejaVu Sans"(s)
familylang: "en"(s)
style: "Book"(s)
stylelang: "en"(s)
fullname: "DejaVu Sans"(s)
fullnamelang: "en"(s)
slant: 0(i)(s)
weight: 80(i)(s)
width: 100(i)(s)
size: 12(f)(s)
pixelsize: 12.5(f)(s)
foundry: "PfEd"(w)
antialias: True(w)
hintstyle: 1(i)(w)
hinting: True(s)
verticallayout: False(s)
autohint: False(s)
globaladvance: True(s)
file: "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"(w)
index: 0(i)(w)
outline: True(w)
scalable: True(w)
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
008873ff
0003: ffffffff ffffffff f58effff fcff0007 ffffd7f0 fffffffb ffffffff
ffffffff
0004: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff
0005: ffffffff fffe003f fe7fffff fffffffe 000006ff ffff0000 ffff00cf
001f07ff
0006: 882016c0 07fffffe 04bfffff fe11ffff ffffffff ffffffff 002159c0
03ff0000
0007: 00000000 00000000 00000000 00000000 00000000 00000000 ffffffff
073ff8ff
000e: 00000000 80000000 00000000 00000000 fef02596 3bffecae 33ff3f5f
00000000
0010: 00000000 00000000 00000000 00000000 00000000 ffffffff ffff003f
1fffffff
0014: effffefe ffbfffff fff7f7ff ffffffff ffffffff 3fffffff ffffffff
fffff7ff
0015: ffff00ff 7fffffff fffdffff fff007ff 007ffc3f 0000ffff 40000000
00000002
0016: 00000000 00000000 000000c0 007fc000 1fffffff 00000000 00000000
00000000
001d: ffdfffff ffff7fcf efffffff 298007ff f8000020 ffffffff 000003f0
00000000
001e: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
0fffffff
001f: 3f3fffff ffffffff aaff3f3f 3fffffff ffffffff ffdfffff efcfffdf
7fdcffff
0020: ffffffff fffffcff ffffffff fff3fc1f 1fff7fff 273fffff 18c30000
00000002
0021: fffffbff ffffffff ffff4bff ffffffff ffff023f ffffffff ffffffff
ffffffff
0022: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff
0023: f303ffff 000019f3 00000000 24380000 f8100080 00007fff 0000c000
00000128
0024: 00000000 0000000c 00000000 000003ff 00000000 00000000 00000000
00000000
0025: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff
0026: ffffffff ffffffff ffffffff ffffffff dfffffff 01ffffff 0000000f
00000004
0027: fffff3de fffffeff 7f47afff fffffffe ff1fffff 7ffeffff 00000060
ffff0fc1
0028: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff
0029: 00000cc0 00000000 00000003 00000000 00000018 00000000 003fc000
0c000800
002a: 1ffff007 00008000 00000000 e0000c00 ffffffff 07ffc001 00000000
06000000
002b: 87ffffff 0000001f 00180000 00000000 00000000 00000000 00000000
00000000
002c: 00000000 00000000 00000000 feffffff 00000000 00000000 00000000
00000000
002d: ffffffff ffff003f ffffffff 0000803f 00000000 00000000 00000000
00000000
002e: 81000000 0000403c 00000000 00000000 00000000 00000000 00000000
00000000
004d: 00000000 00000000 00000000 00000000 00000000 00000000 ffffffff
ffffffff
00a4: 00000000 00000000 00000000 00000000 00000000 00000000 ffff0000
ffffffff
00a6: 00000000 00000000 00f330f0 00007ffc 03303c00 00000000 00000000
00000000
00a7: f87fff00 ffff0ffc 00cfcfc3 000000f0 00037e0f 000007ff 00000000
ff000000
00ef: 03ffffff 00000000 00000000 00000000 00000000 00000000 00000000
00000000
00f0: 0000000f 00000000 00000000 00000000 00000000 00000000 00000000
00000000
00f4: ffffffff ffffff7f 00000003 00000000 00000000 00000000 00000000
00000000
00f6: 00000000 00000000 00000000 00000000 00000000 00000000 00000020
00000000
00fb: e0f8007f 5f7fffff fffcffdb ffffffff ffffffff 00003c0f dff80000
f00003f0
00fe: 0000ffff 0000000f 00000000 ffdf0000 ffffffff ffffffff ffffffff
9fffffff
00ff: 00000000 00000000 00000000 00000000 00000000 00000000 00000000
20000000
0103: 7fffffff 0000000f 00000000 00000000 00000000 00000000 00000000
00000000
01d3: ffffffff ffffffff 007fffff 00000000 00000000 00000000 00000000
00000000
01d5: 00000000 7b000000 fffdfc5f 00000fff 00000000 ffffffff 000fffff
00000000
01d7: 00000000 00000000 00000000 00000000 00000000 00000000 ff000000
00000fff
01ee: ffffffef 0af7fe96 00000000 5ef7f796 00000000 00000000 00000000
00000000
01f0: 00000000 ffff0000 ffffffff ffffffff 000fffff 7ffe7fff fffefffe
00000000
01f3: 01fe0000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
01f4: 00000000 00226000 00000000 00000000 00000000 00000000 00000000
00000000
01f6: ffffffff ffffefef 00000009 00000000 00000000 00000000 00000000
00000000
(w)
lang:
aa|ab|af|ar|ast|av|ay|az-az|az-ir|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|fa|fi|fj|fo|fr|ff|fur|fy|ga|gd|gl|gn|gv|ha|haw|he|ho|hr|hu|hy|ia|ig|id|ie|ik|io|is|it|iu|ka|kaa|ki|kk|kl|ku-am|ku-ir|kum|kv|kw|ky|la|lb|lez|ln|lo|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|ug|uk|uz|ve|vi|vo|vot|wa|wen|wo|xh|yap|yi|yo|zu|ak|an|ber-dz|ber-ma|crh|csb|ee|fat|fil|hsb|ht|hz|jv|kab|kj|kr|ku-iq|ku-tr|kwm|lg|li|mn-mn|ms|na|ng|nv|ota|pap-an|pap-aw|qu|quz|rn|rw|sc|sd|sg|sn|su|ty|za(s)
fontversion: 155320(i)(s)
capability: "otlayout:DFLT otlayout:arab otlayout:armn otlayout:brai
otlayout:cans otlayout:cher otlayout:cyrl otlayout:geor otlayout:grek
otlayout:hani otlayout:hebr otlayout:kana otlayout:lao otlayout:latn
otlayout:math otlayout:nko otlayout:ogam otlayout:runr otlayout:tfng
otlayout:thai"(w)
fontformat: "TrueType"(w)
embeddedbitmap: True(s)
decorative: False(s)
lcdfilter: 1(i)(w)
namelang: "en"(s)
prgname: "fc-pattern-check"(s)
postscriptname: "DejaVuSans"(w)
color: False(w)
symbol: False(s)
noto_cjk: False(w)
noto_hinted: False(w)
FcConfigSubstitute() call #2:
Pattern has 27 elts (size 32)
family: "DejaVu Sans"(s) "DejaVu LGC Sans"(s) "DejaVu LGC Sans"(s)
"DejaVu Sans"(s) "Arimo"(w) "Noto Sans"(w) "Noto Sans CJK SC"(w) "Noto Sans
Arabic"(w) "Noto Sans Thai"(w) "Noto Sans Devanagari"(w) "Noto Sans Tamil"(w)
"Noto Sans Hebrew"(w) "Noto Sans Bengali"(w) "Noto Sans Telugu"(w) "Noto Sans
Kannada"(w) "Noto Sans Malayalam"(w) "Noto Sans Gurmukhi"(w) "Noto Sans
Gujarati"(w) "Noto Sans Oriya"(w) "Noto Sans Armenian"(w) "Noto Sans
Georgian"(w) "Noto Sans Khmer"(w) "Noto Sans Lao"(w) "Noto Sans Ethiopic"(w)
"Noto Sans Myanmar"(w) "Noto Sans Sinhala"(w) "Jomolhari"(w) "Noto Sans
Coptic"(w) "Noto Sans Deseret"(w) "Noto Sans TaiTham"(w) "Noto Sans
CanadianAboriginal"(w) "Noto Sans Yi"(w) "Noto Sans Tifinagh"(w) "Noto Sans
Adlam"(w) "Noto Sans Cherokee"(w) "Noto Sans Chakma"(w) "Noto Sans Osage"(w)
"Noto Color Emoji"(w) "Noto Sans Symbols"(w) "Noto Sans Symbols2"(w) "DejaVu
Sans"(w) "DejaVu Sans"(w) "DejaVu LGC Sans"(w) "DejaVu Sans"(w) "Bitstream Vera
Sans"(w) "DejaVu LGC Sans"(w) "DejaVu Sans"(w) "Verdana"(w) "Arial"(w)
"Arimo"(w) "Liberation Sans"(w) "Albany"(w) "Albany AMT"(w) "Albany AMT"(w)
"Luxi Sans"(w) "Nimbus Sans L"(w) "Nimbus Sans"(w) "Helvetica"(w) "TeX Gyre
Heros"(w) "Lucida Sans Unicode"(w) "BPG Glaho International"(w) "Tahoma"(w)
"Noto Sans CJK JP"(w) "Noto Sans CJK KR"(w) "Noto Sans CJK SC"(w) "Noto Sans
CJK TC"(w) "Noto Sans CJK HK"(w) "Droid Sans Fallback"(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) "padmaa"(w) "Hapax Berbère"(w) "MS
Gothic"(w) "Noto Sans Mono CJK JP"(w) "Noto Sans Mono CJK JP"(w)
"TakaoGothic"(w) "IPAGothic"(w) "IPAMonaGothic"(w) "VL Gothic"(w) "Sazanami
Gothic"(w) "Kochi Gothic"(w) "UmePlus P Gothic"(w) "Microsoft YaHei"(w) "Noto
Sans CJK SC"(w) "WenQuanYi Micro Hei"(w) "WenQuanYi Zen Hei"(w) "Microsoft
JhengHei"(w) "Noto Sans CJK TC"(w) "WenQuanYi Micro Hei"(w) "WenQuanYi Zen
Hei"(w) "WenQuanYi Zen Hei"(w) "WenQuanYi Bitmap Song"(w) "AR PL ShanHeiSun
Uni"(w) "AR PL New Sung"(w) "MgOpen Moderna"(w) "MgOpen Modata"(w) "MgOpen
Cosmetica"(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) "ï¼ï¼³
ã´ã·ãã¯"(w) "Noto Sans Mono CJK JP"(w) "Noto Sans Mono CJK JP"(w)
"TakaoGothic"(w) "IPAGothic"(w) "IPAMonaGothic"(w) "VL Gothic"(w) "Sazanami
Gothic"(w) "Kochi Gothic"(w) "ZYSong18030"(w) "NanumGothic"(w) "UnDotum"(w)
"Baekmuk Dotum"(w) "Baekmuk Gulim"(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 Oriya"(w) "LKLUG"(w) "FreeSans"(w) "Arial Unicode
MS"(w) "Arial Unicode"(w) "Code2000"(w) "Code2001"(w) "Arimo"(w) "Noto Sans"(w)
"Noto Sans CJK SC"(w) "Noto Sans Arabic"(w) "Noto Sans Thai"(w) "Noto Sans
Devanagari"(w) "Noto Sans Tamil"(w) "Noto Sans Hebrew"(w) "Noto Sans
Bengali"(w) "Noto Sans Telugu"(w) "Noto Sans Kannada"(w) "Noto Sans
Malayalam"(w) "Noto Sans Gurmukhi"(w) "Noto Sans Gujarati"(w) "Noto Sans
Oriya"(w) "Noto Sans Armenian"(w) "Noto Sans Georgian"(w) "Noto Sans Khmer"(w)
"Noto Sans Lao"(w) "Noto Sans Ethiopic"(w) "Noto Sans Myanmar"(w) "Noto Sans
Sinhala"(w) "Jomolhari"(w) "Noto Sans Coptic"(w) "Noto Sans Deseret"(w) "Noto
Sans TaiTham"(w) "Noto Sans CanadianAboriginal"(w) "Noto Sans Yi"(w) "Noto Sans
Tifinagh"(w) "Noto Sans Adlam"(w) "Noto Sans Cherokee"(w) "Noto Sans Chakma"(w)
"Noto Sans Osage"(w) "Noto Color Emoji"(w) "Noto Sans Symbols"(w) "Noto Sans
Symbols2"(w) "DejaVu Sans"(w) "DejaVu Sans"(w) "DejaVu LGC Sans"(w) "DejaVu
Sans"(w) "Bitstream Vera Sans"(w) "Verdana"(w) "Arial"(w) "Albany AMT"(w) "Luxi
Sans"(w) "Nimbus Sans L"(w) "Nimbus Sans"(w) "Helvetica"(w) "Lucida Sans
Unicode"(w) "BPG Glaho International"(w) "Tahoma"(w) "Noto Sans CJK JP"(w)
"Noto Sans CJK KR"(w) "Noto Sans CJK SC"(w) "Noto Sans CJK TC"(w) "Noto Sans
CJK HK"(w) "Droid Sans Fallback"(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) "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) "MgOpen
Moderna"(w) "MgOpen Modata"(w) "MgOpen Cosmetica"(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) "ï¼ï¼³ ã´ã·ãã¯"(w) "ZYSong18030"(w)
"NanumGothic"(w) "UnDotum"(w) "Baekmuk Dotum"(w) "Baekmuk Gulim"(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 Oriya"(w)
"LKLUG"(w) "FreeSans"(w) "Arial Unicode MS"(w) "Arial Unicode"(w) "Code2000"(w)
"Code2001"(w) "sans-serif"(w) "Roya"(w) "Koodak"(w) "Terafik"(w) "Roya"(w)
"Koodak"(w) "Terafik"(w) "SimHei"(w) "Noto Sans CJK SC"(w) "Noto Sans CJK
SC"(w) "é»ä½"(w) "Noto Sans CJK SC"(w) "Noto Sans CJK SC"(w) "sans-serif"(w)
"sans-serif"(w) "Helvetica"(w) "Helvetica"(w) "Arial"(w) "Arial"(w) "Arial"(w)
"Helvetica"(w) "Tinos"(w) "Noto Serif"(w) "Noto Serif CJK SC"(w) "Noto Naskh
Arabic"(w) "Noto Serif Thai"(w) "Noto Serif Armenian"(w) "Noto Serif
Georgian"(w) "Noto Serif Devanagari"(w) "Noto Serif Hebrew"(w) "Noto Serif
Bangali"(w) "Noto Serif Gujarati"(w) "Noto Serif Kannada"(w) "Noto Serif
Malayalam"(w) "Noto Serif Tamil"(w) "Noto Serif Telugu"(w) "Lohit Punjabi"(w)
"Lohit Oriya"(w) "Noto Serif Khmer"(w) "Noto Serif Lao"(w) "Noto Serif
Ethiopic"(w) "Noto Serif Myanmar"(w) "Noto Serif Sinhala"(w) "Jomolhari"(w)
"Noto Color Emoji"(w) "Noto Sans Symbols"(w) "Noto Sans Symbols2"(w) "DejaVu
Serif"(w) "DejaVu LGC Serif"(w) "DejaVu Serif"(w) "DejaVu LGC Serif"(w) "DejaVu
Serif"(w) "Bitstream Vera Serif"(w) "Times New Roman"(w) "Thorndale AMT"(w)
"Luxi Serif"(w) "Nimbus Roman No9 L"(w) "Nimbus Roman"(w) "Times"(w) "Noto
Serif CJK JP"(w) "Noto Serif CJK KR"(w) "Noto Serif CJK SC"(w) "Noto Serif CJK
TC"(w) "Artsounk"(w) "BPG UTF8 M"(w) "Kinnari"(w) "Norasi"(w) "Frank Ruehl"(w)
"Dror"(w) "JG LaoTimes"(w) "Saysettha Unicode"(w) "Pigiarniq"(w) "B Davat"(w)
"B Compset"(w) "Kacst-Qr"(w) "Urdu Nastaliq Unicode"(w) "Raghindi"(w) "Mukti
Narrow"(w) "padmaa"(w) "Hapax Berbère"(w) "MS Mincho"(w) "SimSun"(w)
"PMingLiu"(w) "WenQuanYi Zen Hei"(w) "WenQuanYi Bitmap Song"(w) "AR PL
ShanHeiSun Uni"(w) "AR PL New Sung"(w) "ZYSong18030"(w) "HanyiSong"(w) "MgOpen
Canonica"(w) "Sazanami Mincho"(w) "IPAMonaMincho"(w) "IPAMincho"(w) "Kochi
Mincho"(w) "AR PL SungtiL GB"(w) "AR PL Mingti2L Big5"(w) "AR PL Zenkai Uni"(w)
"ï¼ï¼³ ææ"(w) "ZYSong18030"(w) "NanumMyeongjo"(w) "UnBatang"(w) "Baekmuk
Batang"(w) "KacstQura"(w) "Frank Ruehl CLM"(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) "Rachana"(w) "Lohit Malayalam"(w) "Lohit
Kannada"(w) "Lohit Telugu"(w) "Lohit Oriya"(w) "LKLUG"(w) "FreeSerif"(w)
"Code2000"(w) "Code2001"(w) "serif"(w) "Nazli"(w) "Lotoos"(w) "Mitra"(w)
"Ferdosi"(w) "Badr"(w) "Zar"(w) "serif"(w) "serif"(w) "sans-serif"(w)
"sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w)
"sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w)
"sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w)
"sans-serif"(w) "Hack"(w) "Cousine"(w) "Noto Sans Mono"(w) "Noto Sans Mono CJK
SC"(w) "Noto Naskh Arabic"(w) "Noto Sans Thai"(w) "Noto Sans Devanagari"(w)
"Noto Sans Tamil"(w) "Noto Sans Bengali"(w) "Noto Sans Telugu"(w) "Noto Sans
Kannada"(w) "Noto Sans Malayalam"(w) "Noto Sans Gurmukhi"(w) "Noto Sans
Gujarati"(w) "Noto Sans Oriya"(w) "Noto Sans Armenian"(w) "Noto Sans
Georgian"(w) "Noto Sans Ethiopic"(w) "Noto Sans Myanmar"(w) "Noto Sans
Sinhala"(w) "Noto Sans Tibetan"(w) "Noto Sans Coptic"(w) "Noto Sans Deseret"(w)
"Noto Sans TaiTham"(w) "Noto Sans Cherokee"(w) "Noto Sans Chakma"(w) "Noto Sans
Osage"(w) "Noto Color Emoji"(w) "Noto Sans Symbols"(w) "Noto Sans Symbols2"(w)
"Droid Sans Fallback"(w) "DejaVu Sans Mono"(w) "DejaVu LGC Sans Mono"(w)
"DejaVu Sans Mono"(w) "DejaVu LGC Sans Mono"(w) "DejaVu Sans Mono"(w)
"Bitstream Vera Sans Mono"(w) "Inconsolata"(w) "Andale Mono"(w) "Courier
New"(w) "Cumberland AMT"(w) "Luxi Mono"(w) "Nimbus Mono L"(w) "Nimbus Mono"(w)
"Nimbus Mono PS"(w) "Courier"(w) "Noto Sans Mono CJK JP"(w) "Noto Sans Mono CJK
KR"(w) "Noto Sans Mono CJK SC"(w) "Noto Sans Mono CJK TC"(w) "Noto Sans Mono
CJK HK"(w) "Miriam Mono"(w) "VL Gothic"(w) "IPAMonaGothic"(w) "IPAGothic"(w)
"Sazanami Gothic"(w) "Kochi Gothic"(w) "AR PL KaitiM GB"(w) "MS Gothic"(w)
"UmePlus Gothic"(w) "NSimSun"(w) "MingLiu"(w) "AR PL ShanHeiSun Uni"(w) "AR PL
New Sung Mono"(w) "HanyiSong"(w) "AR PL SungtiL GB"(w) "AR PL Mingti2L Big5"(w)
"ZYSong18030"(w) "NanumGothicCoding"(w) "NanumGothic"(w) "UnDotum"(w) "Baekmuk
Dotum"(w) "Baekmuk Gulim"(w) "TlwgTypo"(w) "TlwgTypist"(w) "TlwgTypewriter"(w)
"TlwgMono"(w) "Hasida"(w) "Mitra Mono"(w) "GF Zemen Unicode"(w) "Hapax
Berbère"(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 Oriya"(w)
"LKLUG"(w) "FreeMono"(w) "monospace"(w) "Terafik"(w) "Emoji Two"(w) "Emoji
One"(w) "Noto Color Emoji"(w) "Apple Color Emoji"(w) "Segoe UI Emoji"(w)
"Twitter Color Emoji"(w) "EmojiOne Mozilla"(w) "Noto Emoji"(w) "Android
Emoji"(w) "emoji"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w)
"sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w)
"sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w)
"MS PGothic"(w) "Noto Sans CJK JP"(w) "ï¼ï¼³ ï¼°ã´ã·ãã¯"(w) "Noto Sans
CJK JP"(w) "MS Gothic"(w) "ï¼ï¼³ ã´ã·ãã¯"(w) "Simsun"(w) "Noto Serif CJK
SC"(w) "å®ä½"(w) "Noto Serif CJK SC"(w) "NSimsun"(w) "Noto Serif CJK SC"(w)
"æ°å®ä½"(w) "Noto Serif CJK SC"(w) "SimHei"(w) "é»ä½"(w) "monospace"(w)
"sans-serif"(w) "serif"(w) "monospace"(w) "sans-serif"(w) "serif"(w)
familylang: "en"(s) "en-us"(w)
stylelang: "en"(s) "en-us"(w)
fullname: "DejaVu Sans"(s)
fullnamelang: "en"(s) "en-us"(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) True(w)
hintstyle: 1(i)(w) 1(i)(w)
hinting: True(s)
verticallayout: False(s)
autohint: False(s)
globaladvance: True(s)
dpi: 75(f)(s)
scale: 1(f)(s)
lang: "und-zsye"(w) "en"(w)
fontversion: 2147483647(i)(s)
embeddedbitmap: True(s)
decorative: False(s)
lcdfilter: 1(i)(w) 1(i)(w)
namelang: "en"(s)
prgname: "fc-pattern-check"(s)
color: True(w)
symbol: False(s)
FcDefaultSubstitute() call #2:
Pattern has 27 elts (size 32)
family: "DejaVu Sans"(s) "DejaVu LGC Sans"(s) "DejaVu LGC Sans"(s)
"DejaVu Sans"(s) "Arimo"(w) "Noto Sans"(w) "Noto Sans CJK SC"(w) "Noto Sans
Arabic"(w) "Noto Sans Thai"(w) "Noto Sans Devanagari"(w) "Noto Sans Tamil"(w)
"Noto Sans Hebrew"(w) "Noto Sans Bengali"(w) "Noto Sans Telugu"(w) "Noto Sans
Kannada"(w) "Noto Sans Malayalam"(w) "Noto Sans Gurmukhi"(w) "Noto Sans
Gujarati"(w) "Noto Sans Oriya"(w) "Noto Sans Armenian"(w) "Noto Sans
Georgian"(w) "Noto Sans Khmer"(w) "Noto Sans Lao"(w) "Noto Sans Ethiopic"(w)
"Noto Sans Myanmar"(w) "Noto Sans Sinhala"(w) "Jomolhari"(w) "Noto Sans
Coptic"(w) "Noto Sans Deseret"(w) "Noto Sans TaiTham"(w) "Noto Sans
CanadianAboriginal"(w) "Noto Sans Yi"(w) "Noto Sans Tifinagh"(w) "Noto Sans
Adlam"(w) "Noto Sans Cherokee"(w) "Noto Sans Chakma"(w) "Noto Sans Osage"(w)
"Noto Color Emoji"(w) "Noto Sans Symbols"(w) "Noto Sans Symbols2"(w) "DejaVu
Sans"(w) "DejaVu Sans"(w) "DejaVu LGC Sans"(w) "DejaVu Sans"(w) "Bitstream Vera
Sans"(w) "DejaVu LGC Sans"(w) "DejaVu Sans"(w) "Verdana"(w) "Arial"(w)
"Arimo"(w) "Liberation Sans"(w) "Albany"(w) "Albany AMT"(w) "Albany AMT"(w)
"Luxi Sans"(w) "Nimbus Sans L"(w) "Nimbus Sans"(w) "Helvetica"(w) "TeX Gyre
Heros"(w) "Lucida Sans Unicode"(w) "BPG Glaho International"(w) "Tahoma"(w)
"Noto Sans CJK JP"(w) "Noto Sans CJK KR"(w) "Noto Sans CJK SC"(w) "Noto Sans
CJK TC"(w) "Noto Sans CJK HK"(w) "Droid Sans Fallback"(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) "padmaa"(w) "Hapax Berbère"(w) "MS
Gothic"(w) "Noto Sans Mono CJK JP"(w) "Noto Sans Mono CJK JP"(w)
"TakaoGothic"(w) "IPAGothic"(w) "IPAMonaGothic"(w) "VL Gothic"(w) "Sazanami
Gothic"(w) "Kochi Gothic"(w) "UmePlus P Gothic"(w) "Microsoft YaHei"(w) "Noto
Sans CJK SC"(w) "WenQuanYi Micro Hei"(w) "WenQuanYi Zen Hei"(w) "Microsoft
JhengHei"(w) "Noto Sans CJK TC"(w) "WenQuanYi Micro Hei"(w) "WenQuanYi Zen
Hei"(w) "WenQuanYi Zen Hei"(w) "WenQuanYi Bitmap Song"(w) "AR PL ShanHeiSun
Uni"(w) "AR PL New Sung"(w) "MgOpen Moderna"(w) "MgOpen Modata"(w) "MgOpen
Cosmetica"(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) "ï¼ï¼³
ã´ã·ãã¯"(w) "Noto Sans Mono CJK JP"(w) "Noto Sans Mono CJK JP"(w)
"TakaoGothic"(w) "IPAGothic"(w) "IPAMonaGothic"(w) "VL Gothic"(w) "Sazanami
Gothic"(w) "Kochi Gothic"(w) "ZYSong18030"(w) "NanumGothic"(w) "UnDotum"(w)
"Baekmuk Dotum"(w) "Baekmuk Gulim"(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 Oriya"(w) "LKLUG"(w) "FreeSans"(w) "Arial Unicode
MS"(w) "Arial Unicode"(w) "Code2000"(w) "Code2001"(w) "Arimo"(w) "Noto Sans"(w)
"Noto Sans CJK SC"(w) "Noto Sans Arabic"(w) "Noto Sans Thai"(w) "Noto Sans
Devanagari"(w) "Noto Sans Tamil"(w) "Noto Sans Hebrew"(w) "Noto Sans
Bengali"(w) "Noto Sans Telugu"(w) "Noto Sans Kannada"(w) "Noto Sans
Malayalam"(w) "Noto Sans Gurmukhi"(w) "Noto Sans Gujarati"(w) "Noto Sans
Oriya"(w) "Noto Sans Armenian"(w) "Noto Sans Georgian"(w) "Noto Sans Khmer"(w)
"Noto Sans Lao"(w) "Noto Sans Ethiopic"(w) "Noto Sans Myanmar"(w) "Noto Sans
Sinhala"(w) "Jomolhari"(w) "Noto Sans Coptic"(w) "Noto Sans Deseret"(w) "Noto
Sans TaiTham"(w) "Noto Sans CanadianAboriginal"(w) "Noto Sans Yi"(w) "Noto Sans
Tifinagh"(w) "Noto Sans Adlam"(w) "Noto Sans Cherokee"(w) "Noto Sans Chakma"(w)
"Noto Sans Osage"(w) "Noto Color Emoji"(w) "Noto Sans Symbols"(w) "Noto Sans
Symbols2"(w) "DejaVu Sans"(w) "DejaVu Sans"(w) "DejaVu LGC Sans"(w) "DejaVu
Sans"(w) "Bitstream Vera Sans"(w) "Verdana"(w) "Arial"(w) "Albany AMT"(w) "Luxi
Sans"(w) "Nimbus Sans L"(w) "Nimbus Sans"(w) "Helvetica"(w) "Lucida Sans
Unicode"(w) "BPG Glaho International"(w) "Tahoma"(w) "Noto Sans CJK JP"(w)
"Noto Sans CJK KR"(w) "Noto Sans CJK SC"(w) "Noto Sans CJK TC"(w) "Noto Sans
CJK HK"(w) "Droid Sans Fallback"(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) "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) "MgOpen
Moderna"(w) "MgOpen Modata"(w) "MgOpen Cosmetica"(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) "ï¼ï¼³ ã´ã·ãã¯"(w) "ZYSong18030"(w)
"NanumGothic"(w) "UnDotum"(w) "Baekmuk Dotum"(w) "Baekmuk Gulim"(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 Oriya"(w)
"LKLUG"(w) "FreeSans"(w) "Arial Unicode MS"(w) "Arial Unicode"(w) "Code2000"(w)
"Code2001"(w) "sans-serif"(w) "Roya"(w) "Koodak"(w) "Terafik"(w) "Roya"(w)
"Koodak"(w) "Terafik"(w) "SimHei"(w) "Noto Sans CJK SC"(w) "Noto Sans CJK
SC"(w) "é»ä½"(w) "Noto Sans CJK SC"(w) "Noto Sans CJK SC"(w) "sans-serif"(w)
"sans-serif"(w) "Helvetica"(w) "Helvetica"(w) "Arial"(w) "Arial"(w) "Arial"(w)
"Helvetica"(w) "Tinos"(w) "Noto Serif"(w) "Noto Serif CJK SC"(w) "Noto Naskh
Arabic"(w) "Noto Serif Thai"(w) "Noto Serif Armenian"(w) "Noto Serif
Georgian"(w) "Noto Serif Devanagari"(w) "Noto Serif Hebrew"(w) "Noto Serif
Bangali"(w) "Noto Serif Gujarati"(w) "Noto Serif Kannada"(w) "Noto Serif
Malayalam"(w) "Noto Serif Tamil"(w) "Noto Serif Telugu"(w) "Lohit Punjabi"(w)
"Lohit Oriya"(w) "Noto Serif Khmer"(w) "Noto Serif Lao"(w) "Noto Serif
Ethiopic"(w) "Noto Serif Myanmar"(w) "Noto Serif Sinhala"(w) "Jomolhari"(w)
"Noto Color Emoji"(w) "Noto Sans Symbols"(w) "Noto Sans Symbols2"(w) "DejaVu
Serif"(w) "DejaVu LGC Serif"(w) "DejaVu Serif"(w) "DejaVu LGC Serif"(w) "DejaVu
Serif"(w) "Bitstream Vera Serif"(w) "Times New Roman"(w) "Thorndale AMT"(w)
"Luxi Serif"(w) "Nimbus Roman No9 L"(w) "Nimbus Roman"(w) "Times"(w) "Noto
Serif CJK JP"(w) "Noto Serif CJK KR"(w) "Noto Serif CJK SC"(w) "Noto Serif CJK
TC"(w) "Artsounk"(w) "BPG UTF8 M"(w) "Kinnari"(w) "Norasi"(w) "Frank Ruehl"(w)
"Dror"(w) "JG LaoTimes"(w) "Saysettha Unicode"(w) "Pigiarniq"(w) "B Davat"(w)
"B Compset"(w) "Kacst-Qr"(w) "Urdu Nastaliq Unicode"(w) "Raghindi"(w) "Mukti
Narrow"(w) "padmaa"(w) "Hapax Berbère"(w) "MS Mincho"(w) "SimSun"(w)
"PMingLiu"(w) "WenQuanYi Zen Hei"(w) "WenQuanYi Bitmap Song"(w) "AR PL
ShanHeiSun Uni"(w) "AR PL New Sung"(w) "ZYSong18030"(w) "HanyiSong"(w) "MgOpen
Canonica"(w) "Sazanami Mincho"(w) "IPAMonaMincho"(w) "IPAMincho"(w) "Kochi
Mincho"(w) "AR PL SungtiL GB"(w) "AR PL Mingti2L Big5"(w) "AR PL Zenkai Uni"(w)
"ï¼ï¼³ ææ"(w) "ZYSong18030"(w) "NanumMyeongjo"(w) "UnBatang"(w) "Baekmuk
Batang"(w) "KacstQura"(w) "Frank Ruehl CLM"(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) "Rachana"(w) "Lohit Malayalam"(w) "Lohit
Kannada"(w) "Lohit Telugu"(w) "Lohit Oriya"(w) "LKLUG"(w) "FreeSerif"(w)
"Code2000"(w) "Code2001"(w) "serif"(w) "Nazli"(w) "Lotoos"(w) "Mitra"(w)
"Ferdosi"(w) "Badr"(w) "Zar"(w) "serif"(w) "serif"(w) "sans-serif"(w)
"sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w)
"sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w)
"sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w)
"sans-serif"(w) "Hack"(w) "Cousine"(w) "Noto Sans Mono"(w) "Noto Sans Mono CJK
SC"(w) "Noto Naskh Arabic"(w) "Noto Sans Thai"(w) "Noto Sans Devanagari"(w)
"Noto Sans Tamil"(w) "Noto Sans Bengali"(w) "Noto Sans Telugu"(w) "Noto Sans
Kannada"(w) "Noto Sans Malayalam"(w) "Noto Sans Gurmukhi"(w) "Noto Sans
Gujarati"(w) "Noto Sans Oriya"(w) "Noto Sans Armenian"(w) "Noto Sans
Georgian"(w) "Noto Sans Ethiopic"(w) "Noto Sans Myanmar"(w) "Noto Sans
Sinhala"(w) "Noto Sans Tibetan"(w) "Noto Sans Coptic"(w) "Noto Sans Deseret"(w)
"Noto Sans TaiTham"(w) "Noto Sans Cherokee"(w) "Noto Sans Chakma"(w) "Noto Sans
Osage"(w) "Noto Color Emoji"(w) "Noto Sans Symbols"(w) "Noto Sans Symbols2"(w)
"Droid Sans Fallback"(w) "DejaVu Sans Mono"(w) "DejaVu LGC Sans Mono"(w)
"DejaVu Sans Mono"(w) "DejaVu LGC Sans Mono"(w) "DejaVu Sans Mono"(w)
"Bitstream Vera Sans Mono"(w) "Inconsolata"(w) "Andale Mono"(w) "Courier
New"(w) "Cumberland AMT"(w) "Luxi Mono"(w) "Nimbus Mono L"(w) "Nimbus Mono"(w)
"Nimbus Mono PS"(w) "Courier"(w) "Noto Sans Mono CJK JP"(w) "Noto Sans Mono CJK
KR"(w) "Noto Sans Mono CJK SC"(w) "Noto Sans Mono CJK TC"(w) "Noto Sans Mono
CJK HK"(w) "Miriam Mono"(w) "VL Gothic"(w) "IPAMonaGothic"(w) "IPAGothic"(w)
"Sazanami Gothic"(w) "Kochi Gothic"(w) "AR PL KaitiM GB"(w) "MS Gothic"(w)
"UmePlus Gothic"(w) "NSimSun"(w) "MingLiu"(w) "AR PL ShanHeiSun Uni"(w) "AR PL
New Sung Mono"(w) "HanyiSong"(w) "AR PL SungtiL GB"(w) "AR PL Mingti2L Big5"(w)
"ZYSong18030"(w) "NanumGothicCoding"(w) "NanumGothic"(w) "UnDotum"(w) "Baekmuk
Dotum"(w) "Baekmuk Gulim"(w) "TlwgTypo"(w) "TlwgTypist"(w) "TlwgTypewriter"(w)
"TlwgMono"(w) "Hasida"(w) "Mitra Mono"(w) "GF Zemen Unicode"(w) "Hapax
Berbère"(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 Oriya"(w)
"LKLUG"(w) "FreeMono"(w) "monospace"(w) "Terafik"(w) "Emoji Two"(w) "Emoji
One"(w) "Noto Color Emoji"(w) "Apple Color Emoji"(w) "Segoe UI Emoji"(w)
"Twitter Color Emoji"(w) "EmojiOne Mozilla"(w) "Noto Emoji"(w) "Android
Emoji"(w) "emoji"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w)
"sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w)
"sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w) "sans-serif"(w)
"MS PGothic"(w) "Noto Sans CJK JP"(w) "ï¼ï¼³ ï¼°ã´ã·ãã¯"(w) "Noto Sans
CJK JP"(w) "MS Gothic"(w) "ï¼ï¼³ ã´ã·ãã¯"(w) "Simsun"(w) "Noto Serif CJK
SC"(w) "å®ä½"(w) "Noto Serif CJK SC"(w) "NSimsun"(w) "Noto Serif CJK SC"(w)
"æ°å®ä½"(w) "Noto Serif CJK SC"(w) "SimHei"(w) "é»ä½"(w) "monospace"(w)
"sans-serif"(w) "serif"(w) "monospace"(w) "sans-serif"(w) "serif"(w)
familylang: "en"(s) "en-us"(w)
stylelang: "en"(s) "en-us"(w)
fullname: "DejaVu Sans"(s)
fullnamelang: "en"(s) "en-us"(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) True(w)
hintstyle: 1(i)(w) 1(i)(w)
hinting: True(s)
verticallayout: False(s)
autohint: False(s)
globaladvance: True(s)
dpi: 75(f)(s)
scale: 1(f)(s)
lang: "und-zsye"(w) "en"(w)
fontversion: 2147483647(i)(s)
embeddedbitmap: True(s)
decorative: False(s)
lcdfilter: 1(i)(w) 1(i)(w)
namelang: "en"(s)
prgname: "fc-pattern-check"(s)
color: True(w)
symbol: False(s)
Match returned by FcFontMatch() call #2:
Pattern has 41 elts (size 48)
family: "Noto Color Emoji"(s)
familylang: "en"(s)
style: "Regular"(s)
stylelang: "en"(s)
fullname: "Noto Color Emoji"(s)
fullnamelang: "en"(s)
slant: 0(i)(s)
weight: 80(i)(s)
width: 100(i)(s)
size: 104.64(f)(w)
pixelsize: 109(f)(s)
foundry: "GOOG"(w)
antialias: False(s)
hintstyle: 1(i)(w) 1(i)(w)
hinting: True(s)
verticallayout: False(s)
autohint: False(s)
globaladvance: True(s)
file: "/usr/share/fonts/truetype/noto/NotoColorEmoji.ttf"(w)
index: 0(i)(w)
outline: False(w)
scalable: True(w)
dpi: 75(f)(s)
scale: 1(f)(s)
matrix: [0.114679 0; 0 0.114679](w)
charset:
0000: 00002001 03ff0409 00000000 00000000 00000000 00004200 00000000
00000000
0020: 00002000 10000000 00000200 00000000 00000000 00000000 00000000
00000008
0021: 00000000 02000004 00000000 00000000 03f00000 00000600 00000000
00000000
0023: 0c000000 00000100 00000000 00000000 00000000 00000000 00008000
070ffe00
0024: 00000000 00000000 00000000 00000000 00000000 00000000 00000004
00000000
0025: 00000000 00000000 00000000 00000000 00000000 00400c00 00000001
78000000
0026: 2132401f 0700c44d 800fff05 c8000169 1afc0000 60030c03 001ac130
27bf0600
0027: 2054bf24 00180102 00b85090 00000018 00e00000 80010002 00000000
00000000
0029: 00000000 00300000 00000000 00000000 00000000 00000000 00000000
00000000
002b: 180000e0 00000000 00210000 00000000 00000000 00000000 00000000
00000000
0030: 00000000 20010000 00000000 00000000 00000000 00000000 00000000
00000000
0032: 00000000 00000000 00000000 00000000 02800000 00000000 00000000
00000000
01f0: 00000010 00000000 00000000 00000000 00000000 00000000 00008000
00000000
01f1: 00000000 00000000 00000000 c0030000 07fe4000 00000000 00000000
ffffffc0
01f2: 04000006 07fc8000 00030000 00000000 00000000 00000000 00000000
00000000
01f3: ffffffff fffffff3 ffffffff ffffffff cecfffff ffffffff ffffffff
ffb9ffff
01f4: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
bfffffff
01f5: ffffffff 3fffffff ffff7e00 07f980ff 00613c80 10060130 700e001c
fc08810a
01f6: ffffffff ffffffff 0000ffff 00000000 ffffffff ffffffff 0007f83f
03f91a3f
01f9: ffff0000 77ffffff ffffffbf f479ffff ffffffff 03ff0007 ffff0007
ffffffff
0e00: 00000000 03ff0000 00000000 87fffffe 00000000 00000000 00000000
00000000
0fe4: 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00007fe0
0fe8: 00000000 00ffd000 00000000 00000000 00000000 00000000 00000000
00000000
(w)
lang: und-zsye(s)
fontversion: 132186(i)(s)
capability: "otlayout:DFLT"(w)
fontformat: "TrueType"(w)
embeddedbitmap: True(s)
decorative: False(s)
lcdfilter: 1(i)(w) 1(i)(w)
namelang: "en"(s)
prgname: "fc-pattern-check"(s)
postscriptname: "NotoColorEmoji"(w)
color: True(s)
symbol: False(s)
pixelsizefixupfactor: 0.114679(f)(w)
noto_cjk: False(w)
noto_hinted: False(w)
[1] Earlier install problems were due to running the KDE Neon
installer under BIOS; KDE Neon requires UEFI.
On May 30, 2020, at 5:27 PM, Fred Kiefer wrote:
Thank you Josh for this excellent analysis. My impression is that
this is somewhat of a Kubuntu bug, still it is better to fix it in
our code especially if this results in a speed up. Such a speed up
is really needed for slower machines.
I will look through the details of the patch tomorrow and apply it.
Cheers,
Fred
Am 30.05.2020 um 21:37 schrieb Josh Freeman <gnustep_li...@twilightedge.com
>:
Some users of Kubuntu (official flavor of Ubuntu with the KDE
Plasma desktop) reported that PikoPixel's missing most of its UI
text; Numbers are the only characters displayed:
https://old.reddit.com/r/Kubuntu/comments/gas88l/pikopixel_strange_graphics_bug_any_suggestions_on/
I can reproduce this on Kubuntu 20.04, and the missing-text issue
affects all GNUstep gui apps, whether the apps & GNUstep are from
packages or from current sources.
This might be the same issue that Patryk found last August with
KDE Neon:
https://lists.gnu.org/archive/html/gnustep-dev/2019-08/msg00019.html
(I couldn't test this, because the current x86_64 builds of KDE
Neon fail to install on a VirtualBox VM, and older versions don't
seem to be available).
Manually installing a different desktop on Kubuntu doesn't fix the
issue; Text is still missing on GS gui apps when run under GNOME or
Window Maker, however, switching GS's backend from Cairo to Art
fixes the text.
Text displays correctly on Ubuntu 20.04 - even under Plasma - and
also on a daily build of Ubuntu Studio 20.10 (Plasma is Studio's
installed desktop as of 20.10).
The issue's caused by a combination of two factors:
A) The Cairo backend sets up fontconfig patterns for font matching
by calling the fontconfig library's Fc...Substitute() functions
twice on each pattern instead of once:
The backend's FCFaceInfo class has two methods, matchedPattern &
characterSet, that each call FcConfigSubstitute() &
FcDefaultSubstitute(), passing the FCFaceInfo instance member,
_pattern, to be modified. Both methods in turn are called from
within a single method, -[CairoFontInfo setupAttributes] (itself
called from the FcFontInfo initializer):
1. [CairoFontInfo setupAttributes]:[FcFontInfo (super)
setupAttributes]:[FCFaceInfo characterSet]
2. [CairoFontInfo setupAttributes]:[CairoFaceInfo fontFace]:
[FCFaceInfo matchedPattern]
Note that the font face is only generated after the second set of
Fc...Substitute() calls.
B) The fontconfig library's font-matching functionality behaves
differently on Kubuntu vs. other distros (even with the same
version installed - Kubuntu 20.04 & Ubuntu 20.04 both have
libfontconfig1 2.13.1-2ubuntu3).
Alone, neither factor causes the issue, however calling the
Fc...Substitute() functions twice on the same pattern on Kubuntu
leaves a modified pattern that - when passed to FcFontMatch() -
always resolves to the "Noto Color Emoji" font. (That font has no
alphabet characters, but does have digits, which explains why only
numbers appear in the above linked screenshots).
To demonstrate this, the attached C file, fc-pattern-check.c,
builds a standalone diagnostic tool using only the fontconfig
library - no GNUstep. It creates a fontconfig pattern for matching
the "DejaVu Sans" font and makes two sets of calls to
Fc...Substitute() & FcFontMatch(), duplicating the calls made by
the Cairo backend. After each call, the resulting pattern is printed.
The attached textfiles, fcpc_out_kubuntu.txt &
fcpc_out_ubuntu.txt, are the outputs from running the fc-pattern-
check tool on Kubuntu 20.04 & Ubuntu 20.04.
Comparing the two output files, the first difference comes after
the first call to FcConfigSubstitute(): On Kubuntu, the pattern has
a "rgba" (pixel-format) field inserted - this may not contribute to
the incorrect match, but it already shows a different behavior
between Kubuntu & Ubuntu.
Following the first set of Fc...Substitute() calls, the first call
to FcFontMatch() correctly returns a resolved pattern for the
"DejaVu Sans" font on both Ubuntu & Kubuntu. When these same first
calls are made by the Cairo backend, the resolved pattern's used
only to get the font's character set, not to generate the font face
for drawing.
After the second call to FcConfigSubstitute() on Kubuntu, the
pattern's "lang" field for some reason now contains "und-
zsye" (emoji locale) before its earlier value, "en" (english). The
pattern now also contains a "color" field with a value of
"True" (requiring a match to a font that contains color
information). With those field values present, the second call to
FcFontMatch() returns a resolved pattern for "Noto Color Emoji"; On
Ubuntu, its second FcConfigSubstitute() call doesn't add those
"lang" & "color" values to the pattern, and its second call to
FcFontMatch() correctly returns a "Deja Vu Sans" resolved pattern.
The attached patch, libs-back_fontconfig_pattern_fix.diff, fixes
the missing text by limiting FCFaceInfo's Fc...Substitute() &
FcFontMatch() calls to once per pattern. The resolved pattern
returned by FcFontMatch() is now stored in FcFaceInfo's _pattern
member (which previously only held a pre-matched pattern), and a
new bool member, _patternIsResolved, keeps track of _pattern's pre-
matched/resolved state.
The characterSet method now gets the resolved pattern by calling
the matchedPattern method instead of calling the fontconfig
functions directly; Outside of the initializer, dealloc, &
matchedPattern methods, the _pattern member is now only accessed by
the displayName method (which just reads the pattern's fullname,
postscriptname, & style fields - if those were present in the pre-
matched pattern, they should remain in the resolved pattern), so
there should be no side-effects from storing a resolved pattern
instead of a pre-matched pattern in the _pattern member.
Loading a large set of fonts will probably also go faster now, as
FcFontMatch() is only called half as often.
Cheers,
Josh
<fc-pattern-check.c> <fcpc_out_kubuntu.txt> <fcpc_out_ubuntu.txt>
<libs-back_fontconfig_pattern_fix.diff>