You are not logged in.
I've reinstalled Arch, but I'm having the issue where it seems that literally every single application is defaulting to noto sans mono as their default font for everything (monospace, sans and sans serif).
I'm not sure why this is happening. I've set up fonts manually for GTK3 editing the gtk3 config file:
[Settings]
gtk-theme-name=Kurolox-Gruvgtk
gtk-icon-theme-name=Adwaita
gtk-font-name=Noto Sans 11
gtk-cursor-theme-name=Adwaita
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfullAnd I've also configured the font for Qt5 using qt5ct and exporting the
QT_QPA_PLATFORMTHEME=qt5ctenvironment variable.
Note that in this two scenarios everything seems to work (qt5ct uses the correct font, and a gtk3 tool like lxappearance uses the proper font too), but it seems like everything else is using noto sans mono. Some applications that show this behaviour are:
Firefox (Though at least I can change the font manually on firefox, and it's the application where I've seen that every font defaults to noto sans mono)
Visual Studio Code
Telegram Desktop
I'm not really sure what could be causing this. For what it's worth, I'm using wayland and sway. I don't really think it matters, but I don't remember this behavior happening when I was using X.org and i3, so it might be relevant.
Here are some pictures that showcase my issue.
Last edited by Kurolox (2019-02-16 12:09:29)
Offline
https://wiki.archlinux.org/index.php/Fo … ault_fonts
fc-match sans
fc-conflistOffline
I don't really seem to understand how the configuration works, even with the wiki. It seems like what you've linked me is for replacing a font with a different one, and the "prefer" thing will be ignored most of the time?
Here's the output of those commands.
fc-match sans:
NotoSansMono-Regular.ttf: "Noto Sans Mono" "Regular"fc-match -s sans:
NotoSansMono-Regular.ttf: "Noto Sans Mono" "Regular"
FontAwesome.otf: "FontAwesome" "Regular"
NotoSansArmenian-Regular.ttf: "Noto Sans Armenian" "Regular"
NotoSans-Regular.ttf: "Noto Sans" "Regular"
NotoSansChakma-Regular.ttf: "Noto Sans Chakma" "Regular"
NotoSansKhmer-Regular.ttf: "Noto Sans Khmer" "Regular"
NotoSansMyanmar-Regular.ttf: "Noto Sans Myanmar" "Regular"
NotoSerifAhom-Regular.ttf: "Noto Serif Ahom" "Regular"
NotoSerifKannada-Regular.ttf: "Noto Serif Kannada" "Regular"
NotoSerifSinhala-Regular.ttf: "Noto Serif Sinhala" "Regular"
NotoMusic-Regular.ttf: "Noto Music" "Regular"
NotoNastaliqUrdu-Bold.ttf: "Noto Nastaliq Urdu" "Bold"
NotoSansAdlam-Regular.ttf: "Noto Sans Adlam" "Regular"
NotoSansAnatolianHieroglyphs-Regular.ttf: "Noto Sans Anatolian Hieroglyphs" "Regular"
NotoSansArabic-Regular.ttf: "Noto Sans Arabic" "Regular"
NotoSansAvestan-Regular.ttf: "Noto Sans Avestan" "Regular"
NotoSansBamum-Regular.ttf: "Noto Sans Bamum" "Regular"
NotoSansBassaVah-Regular.ttf: "Noto Sans Bassa Vah" "Regular"
NotoSansBatak-Regular.ttf: "Noto Sans Batak" "Regular"
NotoSansBengali-Regular.ttf: "Noto Sans Bengali" "Regular"
NotoSansBhaiksuki-Regular.ttf: "Noto Sans Bhaiksuki" "Regular"
NotoSansBrahmi-Regular.ttf: "Noto Sans Brahmi" "Regular"
NotoSansBuginese-Regular.ttf: "Noto Sans Buginese" "Regular"
NotoSansBuhid-Regular.ttf: "Noto Sans Buhid" "Regular"
NotoSansCanadianAboriginal-Regular.ttf: "Noto Sans Canadian Aboriginal" "Regular"
NotoSansCarian-Regular.ttf: "Noto Sans Carian" "Regular"
NotoSansCaucasianAlbanian-Regular.ttf: "Noto Sans Caucasian Albanian" "Regular"
NotoSansCham-Regular.ttf: "Noto Sans Cham" "Regular"
NotoSansCherokee-Regular.ttf: "Noto Sans Cherokee" "Regular"
NotoSansCoptic-Regular.ttf: "Noto Sans Coptic" "Regular"
NotoSansCuneiform-Regular.ttf: "Noto Sans Cuneiform" "Regular"
NotoSansCypriot-Regular.ttf: "Noto Sans Cypriot" "Regular"
NotoSansDeseret-Regular.ttf: "Noto Sans Deseret" "Regular"
NotoSansDevanagari-Regular.ttf: "Noto Sans Devanagari" "Regular"
NotoSansDuployan-Regular.ttf: "Noto Sans Duployan" "Regular"
NotoSansEgyptianHieroglyphs-Regular.ttf: "Noto Sans Egyptian Hieroglyphs" "Regular"
NotoSansElbasan-Regular.ttf: "Noto Sans Elbasan" "Regular"
NotoSansEthiopic-Regular.ttf: "Noto Sans Ethiopic" "Regular"
NotoSansGeorgian-Regular.ttf: "Noto Sans Georgian" "Regular"
NotoSansGlagolitic-Regular.ttf: "Noto Sans Glagolitic" "Regular"
NotoSansGothic-Regular.ttf: "Noto Sans Gothic" "Regular"
NotoSansGrantha-Regular.ttf: "Noto Sans Grantha" "Regular"
NotoSansHanunoo-Regular.ttf: "Noto Sans Hanunoo" "Regular"
NotoSansHatran-Regular.ttf: "Noto Sans Hatran" "Regular"
NotoSansHebrew-Regular.ttf: "Noto Sans Hebrew" "Regular"
NotoSansImperialAramaic-Regular.ttf: "Noto Sans Imperial Aramaic" "Regular"
NotoSansInscriptionalPahlavi-Regular.ttf: "Noto Sans Inscriptional Pahlavi" "Regular"
NotoSansInscriptionalParthian-Regular.ttf: "Noto Sans Inscriptional Parthian" "Regular"
NotoSansJavanese-Regular.ttf: "Noto Sans Javanese" "Regular"
NotoSansKaithi-Regular.ttf: "Noto Sans Kaithi" "Regular"
NotoSansKayahLi-Regular.ttf: "Noto Sans Kayah Li" "Regular"
NotoSansKharoshthi-Regular.ttf: "Noto Sans Kharoshthi" "Regular"
NotoSansKhojki-Regular.ttf: "Noto Sans Khojki" "Regular"
NotoSansKhudawadi-Regular.ttf: "Noto Sans Khudawadi" "Regular"
NotoSansLao-Regular.ttf: "Noto Sans Lao" "Regular"
NotoSansLepcha-Regular.ttf: "Noto Sans Lepcha" "Regular"
NotoSansLimbu-Regular.ttf: "Noto Sans Limbu" "Regular"
NotoSansLinearA-Regular.ttf: "Noto Sans Linear A" "Regular"
NotoSansLinearB-Regular.ttf: "Noto Sans Linear B" "Regular"
NotoSansLisu-Regular.ttf: "Noto Sans Lisu" "Regular"
NotoSansLycian-Regular.ttf: "Noto Sans Lycian" "Regular"
NotoSansLydian-Regular.ttf: "Noto Sans Lydian" "Regular"
NotoSansMahajani-Regular.ttf: "Noto Sans Mahajani" "Regular"
NotoSansMalayalam-Regular.ttf: "Noto Sans Malayalam" "Regular"
NotoSansMandaic-Regular.ttf: "Noto Sans Mandaic" "Regular"
NotoSansManichaean-Regular.ttf: "Noto Sans Manichaean" "Regular"
NotoSansMarchen-Regular.ttf: "Noto Sans Marchen" "Regular"
NotoSansMath-Regular.ttf: "Noto Sans Math" "Regular"
NotoSansMeeteiMayek-Regular.ttf: "Noto Sans Meetei Mayek" "Regular"
NotoSansMendeKikakui-Regular.ttf: "Noto Sans Mende Kikakui" "Regular"
NotoSansMeroitic-Regular.ttf: "Noto Sans Meroitic" "Regular"
NotoSansMiao-Regular.ttf: "Noto Sans Miao" "Regular"
NotoSansModi-Regular.ttf: "Noto Sans Modi" "Regular"
NotoSansMro-Regular.ttf: "Noto Sans Mro" "Regular"
NotoSansMultani-Regular.ttf: "Noto Sans Multani" "Regular"
NotoSansNKo-Regular.ttf: "Noto Sans NKo" "Regular"
NotoSansNabataean-Regular.ttf: "Noto Sans Nabataean" "Regular"
NotoSansNewTaiLue-Regular.ttf: "Noto Sans New Tai Lue" "Regular"
NotoSansNewa-Regular.ttf: "Noto Sans Newa" "Regular"
NotoSansOgham-Regular.ttf: "Noto Sans Ogham" "Regular"
NotoSansOlChiki-Regular.ttf: "Noto Sans Ol Chiki" "Regular"
NotoSansOldHungarian-Regular.ttf: "Noto Sans Old Hungarian" "Regular"
NotoSansOldItalic-Regular.ttf: "Noto Sans Old Italic" "Regular"
NotoSansOldNorthArabian-Regular.ttf: "Noto Sans Old North Arabian" "Regular"
NotoSansOldPermic-Regular.ttf: "Noto Sans Old Permic" "Regular"
NotoSansOldPersian-Regular.ttf: "Noto Sans Old Persian" "Regular"
NotoSansOldSouthArabian-Regular.ttf: "Noto Sans Old South Arabian" "Regular"
NotoSansOldTurkic-Regular.ttf: "Noto Sans Old Turkic" "Regular"
NotoSansOsage-Regular.ttf: "Noto Sans Osage" "Regular"
NotoSansOsmanya-Regular.ttf: "Noto Sans Osmanya" "Regular"
NotoSansPahawhHmong-Regular.ttf: "Noto Sans Pahawh Hmong" "Regular"
NotoSansPalmyrene-Regular.ttf: "Noto Sans Palmyrene" "Regular"
NotoSansPauCinHau-Regular.ttf: "Noto Sans Pau Cin Hau" "Regular"
NotoSansPhagsPa-Regular.ttf: "Noto Sans PhagsPa" "Regular"
NotoSansPhoenician-Regular.ttf: "Noto Sans Phoenician" "Regular"
NotoSansPsalterPahlavi-Regular.ttf: "Noto Sans Psalter Pahlavi" "Regular"
NotoSansRejang-Regular.ttf: "Noto Sans Rejang" "Regular"
NotoSansRunic-Regular.ttf: "Noto Sans Runic" "Regular"
NotoSansSamaritan-Regular.ttf: "Noto Sans Samaritan" "Regular"
NotoSansSaurashtra-Regular.ttf: "Noto Sans Saurashtra" "Regular"
NotoSansSharada-Regular.ttf: "Noto Sans Sharada" "Regular"
NotoSansShavian-Regular.ttf: "Noto Sans Shavian" "Regular"
NotoSansSoraSompeng-Regular.ttf: "Noto Sans Sora Sompeng" "Regular"
NotoSansSundanese-Regular.ttf: "Noto Sans Sundanese" "Regular"
NotoSansSylotiNagri-Regular.ttf: "Noto Sans Syloti Nagri" "Regular"
NotoSansSymbols-Regular.ttf: "Noto Sans Symbols" "Regular"
NotoSansSyriac-Regular.ttf: "Noto Sans Syriac" "Regular"
NotoSansTagalog-Regular.ttf: "Noto Sans Tagalog" "Regular"
NotoSansTagbanwa-Regular.ttf: "Noto Sans Tagbanwa" "Regular"
NotoSansTaiLe-Regular.ttf: "Noto Sans Tai Le" "Regular"
NotoSansTaiViet-Regular.ttf: "Noto Sans Tai Viet" "Regular"
NotoSansTakri-Regular.ttf: "Noto Sans Takri" "Regular"
NotoSansTamil-Regular.ttf: "Noto Sans Tamil" "Regular"
NotoSansThaana-Regular.ttf: "Noto Sans Thaana" "Regular"
NotoSansThai-Regular.ttf: "Noto Sans Thai" "Regular"
NotoSansTifinagh-Regular.ttf: "Noto Sans Tifinagh" "Regular"
NotoSansTirhuta-Regular.ttf: "Noto Sans Tirhuta" "Regular"
NotoSansUgaritic-Regular.ttf: "Noto Sans Ugaritic" "Regular"
NotoSansVai-Regular.ttf: "Noto Sans Vai" "Regular"
NotoSansWarangCiti-Regular.ttf: "Noto Sans Warang Citi" "Regular"
NotoSansYi-Regular.ttf: "Noto Sans Yi" "Regular"
NotoSerifBalinese-Regular.ttf: "Noto Serif Balinese" "Regular"
NotoSerifGujarati-Regular.ttf: "Noto Serif Gujarati" "Regular"
NotoSerifGurmukhi-Regular.ttf: "Noto Serif Gurmukhi" "Regular"
NotoSerifTibetan-Regular.ttf: "Noto Serif Tibetan" "Regular"
NotoSansTelugu-Regular.ttf: "Noto Sans Telugu" "Regular"
NotoSansMongolian-Regular.ttf: "Noto Sans Mongolian" "Regular"
NotoSansTaiTham-Regular.ttf: "Noto Sans Tai Tham" "Regular"
NotoSansOriya-Regular.ttf: "Noto Sans Oriya" "Regular"
Cantarell-Regular.otf: "Cantarell" "Regular"
NotoSansSymbols2-Regular.ttf: "Noto Sans Symbols2" "Regular"
ter-x12n.pcf.gz: "xos4 Terminus" "Regular"
NotoColorEmoji.ttf: "Noto Color Emoji" "Regular"fc-conflist:
+ /etc/fonts/conf.d/10-hinting-slight.conf: Set hintslight to hintstyle
+ /etc/fonts/conf.d/10-scale-bitmap-fonts.conf: Bitmap scaling
+ /etc/fonts/conf.d/20-unhint-small-vera.conf: Disable hinting for Bitstream Vera fonts when the size is less than 8ppem
+ /etc/fonts/conf.d/30-metric-aliases.conf: Set substitutions for similar/metric-compatible families
+ /etc/fonts/conf.d/40-nonlatin.conf: Set substitutions for non-Latin fonts
+ /etc/fonts/conf.d/45-generic.conf: Set substitutions for emoji/math fonts
+ /etc/fonts/conf.d/45-latin.conf: Set substitutions for Latin fonts
+ /etc/fonts/conf.d/49-sansserif.conf: Add sans-serif to the family when no generic name
+ /etc/fonts/conf.d/50-user.conf: Load per-user customization files
+ /etc/fonts/local.conf: No description
+ /etc/fonts/conf.d/51-local.conf: Load local customization file
+ /etc/fonts/conf.d/60-generic.conf: Set preferable fonts for emoji/math fonts
+ /etc/fonts/conf.d/60-latin.conf: Set preferable fonts for Latin
+ /etc/fonts/conf.d/65-fonts-persian.conf: No description
+ /etc/fonts/conf.d/65-nonlatin.conf: Set preferable fonts for non-Latin
+ /etc/fonts/conf.d/69-unifont.conf: No description
+ /etc/fonts/conf.d/80-delicious.conf: No description
+ /etc/fonts/conf.d/90-synthetic.conf: No description
+ /etc/fonts/fonts.conf: Default configuration file
- /etc/fonts/conf.avail/10-autohint.conf: Enable autohinter
- /etc/fonts/conf.avail/10-hinting-full.conf: Set hintfull to hintstyle
- /etc/fonts/conf.avail/10-hinting-medium.conf: Set hintmedium to hintstyle
- /etc/fonts/conf.avail/10-hinting-none.conf: Set hintnone to hintstyle
- /etc/fonts/conf.avail/10-no-sub-pixel.conf: Disable sub-pixel rendering
- /etc/fonts/conf.avail/10-sub-pixel-bgr.conf: Enable sub-pixel rendering with the BGR stripes layout
- /etc/fonts/conf.avail/10-sub-pixel-rgb.conf: Enable sub-pixel rendering with the RGB stripes layout
- /etc/fonts/conf.avail/10-sub-pixel-vbgr.conf: Enable sub-pixel rendering with the vertical BGR stripes layout
- /etc/fonts/conf.avail/10-sub-pixel-vrgb.conf: Enable sub-pixel rendering with the vertical RGB stripes layout
- /etc/fonts/conf.avail/10-unhinted.conf: Disable hinting
- /etc/fonts/conf.avail/11-lcdfilter-default.conf: Use lcddefault as default for LCD filter
- /etc/fonts/conf.avail/11-lcdfilter-legacy.conf: Use lcdlegacy as default for LCD filter
- /etc/fonts/conf.avail/11-lcdfilter-light.conf: Use lcdlight as default for LCD filter
- /etc/fonts/conf.avail/25-unhint-nonlatin.conf: Disable hinting for CJK fonts
- /etc/fonts/conf.avail/65-khmer.conf: No description
- /etc/fonts/conf.avail/66-noto-mono.conf: No description
- /etc/fonts/conf.avail/66-noto-sans.conf: No description
- /etc/fonts/conf.avail/66-noto-serif.conf: No description
- /etc/fonts/conf.avail/70-no-bitmaps.conf: Reject bitmap fonts
- /etc/fonts/conf.avail/70-yes-bitmaps.conf: Accept bitmap fontsI've tried to add this to my local.conf, but it didn't work or changed anything.
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
<test qual="any" name="family"><string>sans</string></test>
<edit name="family" mode="assign" binding="same"><string>Noto Sans</string></edit>
</match>
</fontconfig>Offline
What are the contents of /etc/fonts/local.conf ?
Did you add that snippet to the local.conf in /etc or in ~/.config/fontconfig ?
Output of
fc-match "Noto Sans"?
Also:
<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>sans</family>
<prefer><family>Noto Sans</family></prefer>
</alias>
</fontconfig>preferably in eg. ~/.config/fontconfig/conf.d/99-sans.conf
Offline
What are the contents of /etc/fonts/local.conf ?
The file didn't exist, so I created it. All it's content is what I posted in my previous comment.
Did you add that snippet to the local.conf in /etc or in ~/.config/fontconfig ?
I added it to /etc/fonts/local.conf
Output of
fc-match "Noto Sans"?
NotoSans-Regular.ttf: "Noto Sans" "Regular"Also:
<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <alias> <family>sans</family> <prefer><family>Noto Sans</family></prefer> </alias> </fontconfig>preferably in eg. ~/.config/fontconfig/conf.d/99-sans.conf
I've moved it there, but nothing has changed.
Offline
Try this:
# /etc/fonts/local.conf
<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>sans-serif</family>
<prefer><family>Noto Sans</family></prefer>
</alias>
<alias>
<family>serif</family>
<prefer><family>Noto Serif</family></prefer>
</alias>
</fontconfig>The output of `fc-match sans` & `fc-match serif` should then be correct.
Remove all the other configuration files you have added first though.
EDIT: corrected serif alias.
Last edited by Head_on_a_Stick (2019-02-17 10:13:45)
Jin, Jîyan, Azadî
Offline
Thanks. I've modified it a bit, but it works properly now.
<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>sans-serif</family>
<prefer><family>Noto Sans</family></prefer>
</alias>
<alias>
<family>serif</family>
<prefer><family>Noto Serif</family></prefer>
</alias>
</fontconfig>I still don't really understand this bit from the relevant wiki page, though.
An alternate approach is to set the "preferred" font, but this only works if the original font is not on the system, in which case the one specified will be substituted
Offline
I've modified it a bit
Yes, of course, silly me, you probably would prefer a serif variant for the serif font ![]()
I still don't really understand this bit from the relevant wiki page, though.
An alternate approach is to set the "preferred" font, but this only works if the original font is not on the system, in which case the one specified will be substituted
I don't understand the wiki page on fonts either.
My suggestion was based on fiddling in an Arch container, I think there may be a bug in the noto-fonts package but I can't figure out why, which is irritating.
The supplied 66-noto-sans.conf file also specifies "Noto Sans" as the preferred family for the sans-serif alias so I have no idea why defining that again in local.conf forces the correct behaviour ![]()
Jin, Jîyan, Azadî
Offline
It would seem that NSM serves as ultimate fallback for every unconfigured font because no of the fonts listed in /etc/fonts/conf.d/60-latin.conf is installed, but it's weird that you cannot explicitly override "sans" (as opposed to sans-serif)…
Offline
This also happens with ttf-liberation:
[root@shinken ~]# for font in sans serif mono;do fc-match $font;done
LiberationMono-Regular.ttf: "Liberation Mono" "Regular"
LiberationMono-Regular.ttf: "Liberation Mono" "Regular"
LiberationMono-Regular.ttf: "Liberation Mono" "Regular"
[root@shinken ~]#If the fonts are added to the alias lists in /etc/fonts/conf.avail/60-latin.conf then it fixes the problem without needing a local.conf
Should we report this as a bug?
Jin, Jîyan, Azadî
Offline
Noto ships etc/fonts/conf.avail/66-noto-mono.conf, etc/fonts/conf.avail/66-noto-sans.conf & etc/fonts/conf.avail/66-noto-serif.conf, likewise does liberation etc/fonts/conf.avail/30-ttf-liberation-mono.conf, etc/fonts/conf.avail/30-ttf-liberation-sans.conf & etc/fonts/conf.avail/30-ttf-liberation-serif.conf
Those will most likely register the variants as preferences.
The bug is probably hard to resolve - it's only a "bug" depending on the users preferences and only a problem if you don't have (typically) DejaVu installed.
A heads up when installing those fonts might perhaps be nice.
Offline
Noto ships etc/fonts/conf.avail/66-noto-mono.conf, etc/fonts/conf.avail/66-noto-sans.conf & etc/fonts/conf.avail/66-noto-serif.conf, likewise does liberation etc/fonts/conf.avail/30-ttf-liberation-mono.conf, etc/fonts/conf.avail/30-ttf-liberation-sans.conf & etc/fonts/conf.avail/30-ttf-liberation-serif.conf
Those will most likely register the variants as preferences.
Those files attempt to set the correct variants for the generic aliases but the settings do not seem to be honoured — a second configuration file is needed to get it to work as it should.
The ttf-dejavu package does not suffer this problem and that includes a patch to remove the generic name assignments:
https://git.archlinux.org/svntogit/pack … ttf-dejavu
However, removing those stanzas from the supplied /etc/fonts/conf.avail/*.conf files does not fix this for ttf-liberation or noto-fonts.
Also, if ttf-dejavu is installed then that becomes the default for the sans, serif & mono aliases; I have no idea if this is the intended behaviour.
The bug is probably hard to resolve
+1
I've been banging my head against this all day and I can't figure it out at all...
Perhaps a note about this on the wiki would be best.
Jin, Jîyan, Azadî
Offline
but the settings do not seem to be honoured
Did you symlink the files into /etc/fonts/conf.d/ ?
No idea why it's explicitly removed from the dejavu configs, but dejavu is listed in 60-latin.conf, therefore they're unnecessary (maybe to prevent the user from config confusion through multiple occurrences)
Offline
but the settings do not seem to be honoured
Did you symlink the files into /etc/fonts/conf.d/ ?
Ah, that was it, thanks seth.
Sorry for the noise...
Jin, Jîyan, Azadî
Offline