You are not logged in.

#1 2019-09-11 11:51:10

Meskarune
Member
From: Helsinki, Finland
Registered: 2009-03-21
Posts: 361
Website

User font configuration doesn't seem to be read

I have this in /home/meskarune/.config/fontconfig/fonts.conf

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <include ignore_missing="yes">conf.d</include>
    <match target="font">
        <edit name="antialias" mode="assign">
            <bool>true</bool>
        </edit>
        <edit name="hinting" mode="assign">
            <bool>true</bool>
        </edit>
        <edit name="hintstyle" mode="assign">
            <const>hintmedium</const>
        </edit>
        <edit name="rgba" mode="assign">
            <const>rgb</const>
        </edit>
        <edit name="autohint" mode="assign">
            <bool>false</bool>
        </edit>
        <edit name="lcdfilter" mode="assign">
            <const>lcddefault</const>
        </edit>
        <edit name="dpi" mode="assign">
            <double>96</double>
        </edit>
    </match>
    <alias>
        <family>monospace</family>
        <prefer>
            <family>FuraCode Nerd Font Mono</family>
            <family>Noto Color Emoji</family>
            <family>Twitter Color Emoji</family>
            <family>EmojiOne Color</family>
            <family>Symbola</family>
        </prefer>
    </alias>
    <alias>
        <family>sans-serif</family>
        <prefer>
            <family>Inter UI</family>
            <family>Noto Color Emoji</family>
            <family>Twitter Color Emoji</family>
            <family>EmojiOne Color</family>
            <family>Symbola</family>
        </prefer>
    </alias>
    <alias>
        <family>serif</family>
        <prefer>
            <family>Bitter</family>
            <family>Noto Color Emoji</family>
            <family>Twitter Color Emoji</family>
            <family>EmojiOne Color</family>
            <family>Symbola</family>
        </prefer>
    </alias>
    <alias>
        <family>cursive</family>
        <prefer>
            <family>Homemade Apple</family>
            <family>Noto Color Emoji</family>
            <family>Twitter Color Emoji</family>
            <family>EmojiOne Color</family>
            <family>Symbola</family>
        </prefer>
    </alias>
    <alias>
        <family>fantasy</family>
        <prefer>
            <family>UnifrakturCook</family>
            <family>Noto Color Emoji</family>
            <family>Twitter Color Emoji</family>
            <family>EmojiOne Color</family>
            <family>Symbola</family>
        </prefer>
    </alias>
</fontconfig>

However when I run this command:

for family in serif sans-serif monospace fantasy cursive emoji; do                                   
  echo -n "$family: "
  fc-match "$family"
done

I get this output:

serif: Heuristica-Regular.ttf: "Heuristica" "Regular"
sans-serif: NotoSans-Regular.ttf: "Noto Sans" "Regular"
monospace: LiberationMono-Regular.ttf: "Liberation Mono" "Regular"
fantasy: Signika-Regular.ttf: "Signika" "Regular"
cursive: texgyrechorus-mediumitalic.otf: "TeX Gyre Chorus" "Regular"
emoji: NotoColorEmoji.ttf: "Noto Color Emoji" "Regular"

What am I doing wrong and how do I change the default font settings? I want to set specific fonts for certain font families and also have unicode support.


Homepage  | Arch Linux Women | Arch Linux Classroom
Acer Aspire E5-575G-53VG:
Intel Dual-Core i5-6200U 2.3 GHz; Skylake rev3 | 8GB DDR4 ram | Intel HD Graphics 520 + NVIDIA GeForce 940MX
Qualcomm Atheros QCA9377 802.11ac | Realtek RTL8111/8168/8411 Gigabit Ethernet Controller

Offline

#2 2019-09-11 14:46:53

seth
Member
Registered: 2012-09-03
Posts: 49,981

Re: User font configuration doesn't seem to be read

While it's generally advisable to use ~/.config/fontconfig/conf.d/99-* rather than a single config the config itself looks fine.
a) https://wiki.archlinux.org/index.php/Fo … overriding
b) re-run fc-cache (because safe > sorry)

Offline

#3 2019-09-12 14:11:05

Meskarune
Member
From: Helsinki, Finland
Registered: 2009-03-21
Posts: 361
Website

Re: User font configuration doesn't seem to be read

Ok, so I copied my config to /etc/fonts/conf.d/99-user.conf, updated all packages and rebooted and still the fonts aren't changed:

serif: Heuristica-Regular.ttf: "Heuristica" "Regular"
sans-serif: NotoSans-Regular.ttf: "Noto Sans" "Regular"
monospace: LiberationMono-Regular.ttf: "Liberation Mono" "Regular"
fantasy: Signika-Regular.ttf: "Signika" "Regular"
cursive: texgyrechorus-mediumitalic.otf: "TeX Gyre Chorus" "Regular"
emoji: NotoColorEmoji.ttf: "Noto Color Emoji" "Regular"

This is what the directory looks like:

ls /etc/fonts/conf.d 
 ./                                       42-luxi-mono.conf@                  65-0-lohit-marathi.conf@              66-lohit-konkani.conf@              69-urw-fallback-backwards.conf@
 ../                                      45-generic.conf@                    65-0-lohit-nepali.conf@               66-lohit-maithili.conf@             69-urw-fallback-generics.conf@
 10-hinting-slight.conf@                  45-latin.conf@                      65-droid-kufi.conf@                   66-lohit-odia.conf@                 69-urw-fallback-specifics.conf@
 10-powerline-symbols.conf@               49-sansserif.conf@                  65-droid-sans.conf@                   66-lohit-oriya.conf@                69-urw-gothic.conf@
 10-scale-bitmap-fonts.conf@              50-user.conf@                       65-droid-serif.conf@                  66-lohit-punjabi.conf@              69-urw-nimbus-mono-ps.conf@
 10-sub-pixel-rgb.conf@                   51-local.conf@                      65-fonts-persian.conf@               '66-lohit-sindhi@devanagari.conf'@   69-urw-nimbus-roman.conf@
 11-lcdfilter-default.conf@               57-dejavu-sans.conf@                65-nonlatin.conf@                     66-lohit-tamil-classical.conf@      69-urw-nimbus-sans.conf@
 20-unhint-small-dejavu-sans.conf@        57-dejavu-sans-mono.conf@           65-non-latin-free.conf@               66-lohit-tamil.conf@                69-urw-p052.conf@
 20-unhint-small-dejavu-sans-mono.conf@   57-dejavu-serif.conf@               66-aliases-wine-free.conf@            66-lohit-telugu.conf@               69-urw-standard-symbols-ps.conf@
 20-unhint-small-dejavu-serif.conf@       59-lohit-devanagari.conf@           66-lohit-assamese.conf@               66-noto-mono.conf@                  69-urw-z003.conf@
 20-unhint-small-vera.conf@               60-droid-sans-mono.conf@            66-lohit-bengali.conf@                66-noto-sans.conf@                  70-no-bitmaps.conf@
 30-infinality-aliases.conf@              60-generic.conf@                    66-lohit-devanagari.conf@             66-noto-serif.conf@                 75-yes-terminus.conf@
 30-metric-aliases.conf@                  60-latin.conf@                      66-lohit-gujarati.conf@               67-lohit-malayalam.conf@            80-delicious.conf@
 30-metric-aliases-free.conf@             60-latin-free.conf@                 66-lohit-gurmukhi.conf@               69-unifont.conf@                    81-ubuntu.conf@
 30-win32-aliases.conf@                   62-google-crosextra-caladea.conf@   66-lohit-hindi.conf@                  69-urw-bookman.conf@                90-synthetic.conf@
 37-repl-global-free.conf@                62-google-crosextra-carlito.conf@   66-lohit-kannada.conf@                69-urw-c059.conf@                   99-user.conf
 40-nonlatin.conf@                        64-ttf-emojione-color.conf@        '66-lohit-kashmiri@devanagari.conf'@   69-urw-d050000l.conf@               README

All of the files should just be ones installed with fonts. The only thing I added/changed is 99-user.conf

I really have no clue hmm


Homepage  | Arch Linux Women | Arch Linux Classroom
Acer Aspire E5-575G-53VG:
Intel Dual-Core i5-6200U 2.3 GHz; Skylake rev3 | 8GB DDR4 ram | Intel HD Graphics 520 + NVIDIA GeForce 940MX
Qualcomm Atheros QCA9377 802.11ac | Realtek RTL8111/8168/8411 Gigabit Ethernet Controller

Offline

#4 2019-09-12 18:00:46

seth
Member
Registered: 2012-09-03
Posts: 49,981

Re: User font configuration doesn't seem to be read

fc-conflist
fc-cache -v
fc-match -as monospace # this one's gonna be a lot of text if you've many fonts
cat /etc/fonts.conf # since it's now probably the end of the list…

Offline

#5 2019-10-03 08:06:02

Meskarune
Member
From: Helsinki, Finland
Registered: 2009-03-21
Posts: 361
Website

Re: User font configuration doesn't seem to be read

Thanks for your help. Here is a bit of an info dump.

fc-conflist

+ /etc/fonts/conf.d/10-hinting-slight.conf: Set hintslight to hintstyle
+ /etc/fonts/conf.d/10-powerline-symbols.conf: No description
+ /etc/fonts/conf.d/10-scale-bitmap-fonts.conf: Bitmap scaling
+ /etc/fonts/conf.d/10-sub-pixel-rgb.conf: Enable sub-pixel rendering with the RGB stripes layout
+ /etc/fonts/conf.d/11-lcdfilter-default.conf: Use lcddefault as default for LCD filter
+ /etc/fonts/conf.d/20-unhint-small-dejavu-sans-mono.conf: No description
+ /etc/fonts/conf.d/20-unhint-small-dejavu-sans.conf: No description
+ /etc/fonts/conf.d/20-unhint-small-dejavu-serif.conf: No description
+ /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-infinality-aliases.conf: No description
+ /etc/fonts/conf.d/30-metric-aliases.conf: Set substitutions for similar/metric-compatible families
+ /etc/fonts/conf.d/30-win32-aliases.conf: No description
+ /etc/fonts/conf.d/40-nonlatin.conf: Set substitutions for non-Latin fonts
+ /etc/fonts/conf.d/42-luxi-mono.conf: No description
+ /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
+ /home/meskarune/.config/fontconfig/fonts.conf: No description
+ /etc/fonts/conf.d/50-user.conf: Load per-user customization files
+ /etc/fonts/conf.d/51-local.conf: Load local customization file
+ /etc/fonts/conf.d/57-dejavu-sans-mono.conf: No description
+ /etc/fonts/conf.d/57-dejavu-sans.conf: No description
+ /etc/fonts/conf.d/57-dejavu-serif.conf: No description
+ /etc/fonts/conf.d/59-lohit-devanagari.conf: No description
+ /etc/fonts/conf.d/60-droid-sans-mono.conf: No description
+ /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/62-google-crosextra-caladea.conf: No description
+ /etc/fonts/conf.d/62-google-crosextra-carlito.conf: No description
+ /etc/fonts/conf.d/64-ttf-emojione-color.conf: No description
+ /etc/fonts/conf.d/65-0-lohit-marathi.conf: No description
+ /etc/fonts/conf.d/65-0-lohit-nepali.conf: No description
+ /etc/fonts/conf.d/65-droid-kufi.conf: No description
+ /etc/fonts/conf.d/65-droid-sans.conf: No description
+ /etc/fonts/conf.d/65-droid-serif.conf: No description
+ /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/66-lohit-assamese.conf: No description
+ /etc/fonts/conf.d/66-lohit-bengali.conf: No description
+ /etc/fonts/conf.d/66-lohit-devanagari.conf: No description
+ /etc/fonts/conf.d/66-lohit-gujarati.conf: No description
+ /etc/fonts/conf.d/66-lohit-gurmukhi.conf: No description
+ /etc/fonts/conf.d/66-lohit-hindi.conf: No description
+ /etc/fonts/conf.d/66-lohit-kannada.conf: No description
+ /etc/fonts/conf.d/66-lohit-kashmiri@devanagari.conf: No description
+ /etc/fonts/conf.d/66-lohit-konkani.conf: No description
+ /etc/fonts/conf.d/66-lohit-maithili.conf: No description
+ /etc/fonts/conf.d/66-lohit-odia.conf: No description
+ /etc/fonts/conf.d/66-lohit-oriya.conf: No description
+ /etc/fonts/conf.d/66-lohit-punjabi.conf: No description
+ /etc/fonts/conf.d/66-lohit-sindhi@devanagari.conf: No description
+ /etc/fonts/conf.d/66-lohit-tamil-classical.conf: No description
+ /etc/fonts/conf.d/66-lohit-tamil.conf: No description
+ /etc/fonts/conf.d/66-lohit-telugu.conf: No description
+ /etc/fonts/conf.d/66-noto-mono.conf: No description
+ /etc/fonts/conf.d/66-noto-sans.conf: No description
+ /etc/fonts/conf.d/66-noto-serif.conf: No description
+ /etc/fonts/conf.d/67-lohit-malayalam.conf: No description
+ /etc/fonts/conf.d/69-unifont.conf: No description
+ /etc/fonts/conf.d/69-urw-bookman.conf: No description
+ /etc/fonts/conf.d/69-urw-c059.conf: No description
+ /etc/fonts/conf.d/69-urw-d050000l.conf: No description
+ /etc/fonts/conf.d/69-urw-fallback-backwards.conf: No description
+ /etc/fonts/conf.d/69-urw-fallback-generics.conf: No description
+ /etc/fonts/conf.d/69-urw-fallback-specifics.conf: No description
+ /etc/fonts/conf.d/69-urw-gothic.conf: No description
+ /etc/fonts/conf.d/69-urw-nimbus-mono-ps.conf: No description
+ /etc/fonts/conf.d/69-urw-nimbus-roman.conf: No description
+ /etc/fonts/conf.d/69-urw-nimbus-sans.conf: No description
+ /etc/fonts/conf.d/69-urw-p052.conf: No description
+ /etc/fonts/conf.d/69-urw-standard-symbols-ps.conf: No description
+ /etc/fonts/conf.d/69-urw-z003.conf: No description
+ /etc/fonts/conf.d/70-no-bitmaps.conf: Reject bitmap fonts
+ /etc/fonts/conf.d/75-yes-terminus.conf: No description
+ /etc/fonts/conf.d/80-delicious.conf: No description
+ /etc/fonts/conf.d/81-ubuntu.conf: No description
+ /etc/fonts/conf.d/90-synthetic.conf: No description
+ /etc/fonts/conf.d/99-user.conf: No description
+ /etc/fonts/fonts.conf: Default configuration file
- /etc/fonts/conf.avail/05-reset-dirs-sample.conf: Re-define fonts dirs sample
- /etc/fonts/conf.avail/09-autohint-if-no-hinting.conf: Enable autohinter if font doesn't have any hinting
- /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-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-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/35-lang-normalize.conf: No description
- /etc/fonts/conf.avail/56-ttf-twemoji-color.conf: No description
- /etc/fonts/conf.avail/65-khmer.conf: No description
- /etc/fonts/conf.avail/70-noto-cjk.conf: No description
- /etc/fonts/conf.avail/70-yes-bitmaps.conf: Accept bitmap fonts
- /etc/fonts/conf.avail/75-ttf-inconsolata.conf: No description

fc-cache -v : https://gist.github.com/meskarune/e16d0 … 9c06fa9c35

fc-match -as monospace : https://gist.github.com/meskarune/d0eaa … 3173106822

cat /etc/fonts/fonts.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>
	<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
		<its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
	</its:rules>

	<description>Default configuration file</description>

<!--
	DO NOT EDIT THIS FILE.
	IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
	LOCAL CHANGES BELONG IN 'local.conf'.

	The intent of this standard configuration file is to be adequate for
	most environments.  If you have a reasonably normal environment and
	have found problems with this configuration, they are probably
	things that others will also want fixed.  Please submit any
	problems to the fontconfig bugzilla system located at fontconfig.org

	Note that the normal 'make install' procedure for fontconfig is to
	replace any existing fonts.conf file with the new version.  Place
	any local customizations in local.conf which this file references.

	Keith Packard
-->

<!-- Font directory list -->

	<dir>/usr/share/fonts</dir>
	<dir>/usr/local/share/fonts</dir>
	<dir prefix="xdg">fonts</dir>
	<!-- the following element will be removed in the future -->
	<dir>~/.fonts</dir>

<!--
  Accept deprecated 'mono' alias, replacing it with 'monospace'
-->
	<match target="pattern">
		<test qual="any" name="family">
			<string>mono</string>
		</test>
		<edit name="family" mode="assign" binding="same">
			<string>monospace</string>
		</edit>
	</match>

<!--
  Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
-->
	<match target="pattern">
		<test qual="any" name="family">
			<string>sans serif</string>
		</test>
		<edit name="family" mode="assign" binding="same">
			<string>sans-serif</string>
		</edit>
	</match>

<!--
  Accept deprecated 'sans' alias, replacing it with 'sans-serif'
-->
	<match target="pattern">
		<test qual="any" name="family">
			<string>sans</string>
		</test>
		<edit name="family" mode="assign" binding="same">
			<string>sans-serif</string>
		</edit>
	</match>
<!--
  Accept alternate 'system ui' spelling, replacing it with 'system-ui'
-->
	<match target="pattern">
		<test qual="any" name="family">
			<string>system ui</string>
		</test>
		<edit name="family" mode="assign" binding="same">
			<string>system-ui</string>
		</edit>
	</match>

<!--
  Load local system customization file
-->
	<include ignore_missing="yes">conf.d</include>

<!-- Font cache directory list -->

	<cachedir>/var/cache/fontconfig</cachedir>
	<cachedir prefix="xdg">fontconfig</cachedir>
	<!-- the following element will be removed in the future -->
	<cachedir>~/.fontconfig</cachedir>

	<config>
<!--
  Rescan configuration every 30 seconds when FcFontSetList is called
 -->
		<rescan>
			<int>30</int>
		</rescan>
	</config>

</fontconfig>

Homepage  | Arch Linux Women | Arch Linux Classroom
Acer Aspire E5-575G-53VG:
Intel Dual-Core i5-6200U 2.3 GHz; Skylake rev3 | 8GB DDR4 ram | Intel HD Graphics 520 + NVIDIA GeForce 940MX
Qualcomm Atheros QCA9377 802.11ac | Realtek RTL8111/8168/8411 Gigabit Ethernet Controller

Offline

#6 2019-10-03 14:12:49

seth
Member
Registered: 2012-09-03
Posts: 49,981

Re: User font configuration doesn't seem to be read

LiberationMono-Regular.ttf: "Liberation Mono" "Regular"
PowerlineSymbols.otf: "PowerlineSymbols" "Medium"
LiberationMono-Bold.ttf: "Liberation Mono" "Bold"
LiberationMono-Italic.ttf: "Liberation Mono" "Italic"
LiberationMono-BoldItalic.ttf: "Liberation Mono" "Bold Italic"
Fura Code Regular Nerd Font Complete Mono.otf: "FuraCode Nerd Font Mono" "Regular"
…
grep "Liberation Mono" /etc/fonts/conf.d/
cat /etc/fonts/conf.d/10-powerline-symbols.conf

I assume 10-powerline-symbols.conf to be the culprit here.

Offline

#7 2019-10-10 06:18:12

polarathene
Member
Registered: 2019-10-10
Posts: 2

Re: User font configuration doesn't seem to be read

FC_DEBUG=4 fc-match monospace | grep -A2 "done"

Is my preferred way of getting a list of fonts that are matched. I'm not sure that you're meant to use both -a and -s flags with fc-match, is there any benefit from doing so?

fc-match -s monospace should match fonts listed in the output from the command I've suggested above, many others will be omitted which afaik, is usually because prior fonts earlier in that list have a coverage that fonts further in the list don't have anything more to offer. But those that do have glyphs to provide as fallback should still be at the top of that list. Anything after those don't really have anything to do with the query, but are additional fonts providing more fallback glyphs.

I'm not sure why it was suggested that you move your config to 99 priority, this is the lowest, the numbers actually do map to logical purposes btw. See here for more info: http://www.linuxfromscratch.org/blfs/vi … onfig.html

`/etc/fonts/conf.d/50-user.conf` is when your user configs will come into effect, you shouldn't need to have priority earlier, but you do seem to have many non-standard/unofficial configs listed, so perhaps they disregard the point of the numbers too, and instead try to favour themselves for priority. The command I shared at the top should help identify if that's what is happening.

I would go back to `/home/meskarune/.config/fontconfig/fonts.conf` location, try adding `binding="strong"` to your alias tags:

<alias binding="strong">
        <family>monospace</family>
        <prefer>
            <family>FuraCode Nerd Font Mono</family>
            <family>Noto Color Emoji</family>
            <family>Twitter Color Emoji</family>
            <family>EmojiOne Color</family>
            <family>Symbola</family>
        </prefer>
    </alias>

Just try with monospace for now, if that works it'll probably resolve the others as well. I don't quite understand the rules for binding myself, but it has worked for me in troubleshooting priority of alias rules. If that does not work, you might find changing that conf.d filename from 99 to 00 does. You could then increase the number in 10's to see roughly where it's happening. Chances are Liberation Mono and PowerlineSymbols are doing alias->prefer early on instead of alias->default(suitable for 4x), alias->prefer adds them to the monospace generic family, and is meant to be in the 6x group. Your user config would have priority then.

If this is the case, you can use a match->edit with `mode="prepend_first"` to push your font(s) to the front of the list, or a more fragile alias->prefer to the font fc-match returns as for each generic family, such as:

<alias>
        <family>Liberation Mono</family>
        <prefer>
            <family>FuraCode Nerd Font Mono</family>
            <family>Noto Color Emoji</family>
            <family>Twitter Color Emoji</family>
            <family>EmojiOne Color</family>
            <family>Symbola</family>
        </prefer>
    </alias>

alias->prefer afaik is just sugar for the match->edit syntax that does `mode="prepend"`. Here's the prepend_first syntax:

<match target="pattern">
    <test name="family" compare="eq" qual="any">
        <string>monospace</string>
    </test>
    <edit name="family" mode="prepend_first">
        <string>FuraCode Nerd Font Mono</string>
         <string>Noto Color Emoji</string>
         <string>Twitter Color Emoji</string>
         <string>EmojiOne Color</string>
         <string>Symbola</string>
    </edit>
</match>

That should be pretty straight-forward. When your config file is processed, it will look to see if the font list generated so far contains `monospace`, and if so it will add all the given fonts at the start of that list. This kind of modification might be better as the last run(incase any other font config tries to do the same after yours) as it's one of the only approaches that will push your fonts to the front above anything else.

I don't advise it though, at least with sans-serif, as any font not assigned a generic font family before `/etc/fonts/conf.d/49-sansserif.conf` will be assigned sans-serif family, this is quite common for fonts added with no fontconfig to assign a family before then(user config is too late). Noto fonts for example, currently assign their generic families too late in `66-noto-*.conf`, this causes monospace and serif noto fonts to also have sans-serif in their font list messing up their generation. This "bug" is only applicable to when you select a specific font rather than a generic family, and that font doesn't provide a glyph so falls back to the next font. It is described here with "Source Code Pro": https://eev.ee/blog/2015/05/20/i-stared … ack-at-me/

The `qual=any` part is the default and could be omitted.

Offline

Board footer

Powered by FluxBB