Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conflicts with other fonts on Linux #30

Open
igalic opened this issue Aug 15, 2018 · 4 comments
Open

Conflicts with other fonts on Linux #30

igalic opened this issue Aug 15, 2018 · 4 comments
Labels
help wanted Extra attention is needed

Comments

@igalic
Copy link

igalic commented Aug 15, 2018

despite all the right configuration, there still appear to be a few glyphs missing

screenshot_20180815_213520

n.b.: i have DejaVu uninstalled, so i'm fairly certain it's not coming from there!

Could this be from Bitstream Vera?

if so, i have more work to do on my fontconfig, and uninstalling DejaVu was just a very inadequate workaround.

@C1710
Copy link
Owner

C1710 commented Aug 15, 2018

Actually, I don't know, but these "primitive" symbols can be provided by many fonts, so I think the best solution would be to somehow alter the fonts priority or simply live with these things. At least for Fedora there's this font manager (not the viewer) that provides character tables. My solution was to go to the unicode character and disable all fonts that were able to display it. Anyhow there's probably some better solution for this stuff...

@C1710 C1710 added the help wanted Extra attention is needed label Aug 15, 2018
@igalic
Copy link
Author

igalic commented Aug 15, 2018

This is my current font-config: (~/.config/fontconfig/conf.d/01-color-emoji.conf)

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>

  <match target="scan">
    <test name="family">
      <string>Noto Color Emoji</string>
    </test>
    <edit name="scalable" mode="assign">
      <bool>true</bool>
    </edit>
    <edit name="pixelsize" mode="assign">
      <double>18</double>
    </edit>
  </match>

  <match>
    <test name="family"><string>sans-serif</string></test>
    <edit name="family" mode="prepend" binding="weak">
      <string>Noto Color Emoji</string>
    </edit>
  </match>

  <match>
    <test name="family"><string>serif</string></test>
    <edit name="family" mode="prepend" binding="weak">
      <string>Noto Color Emoji</string>
    </edit>
  </match>

  <match>
    <test name="family"><string>Apple Color Emoji</string></test>
    <edit name="family" mode="prepend" binding="strong">
      <string>Noto Color Emoji</string>
    </edit>
  </match>

  <!-- Add emoji generic family -->
  <alias binding="strong">
    <family>emoji</family>
    <default><family>Noto Color Emoji</family></default>
  </alias>

  <!-- Alias requests for the other emoji fonts -->
  <alias binding="strong">
    <family>Apple Color Emoji</family>
    <prefer><family>Noto Color Emoji</family></prefer>
    <default><family>sans-serif</family></default>
  </alias>
  <alias binding="strong">
    <family>Segoe UI Emoji</family>
    <prefer><family>Noto Color Emoji</family></prefer>
    <default><family>sans-serif</family></default>
  </alias>
  <alias binding="strong">
    <family>EmojiOne Color</family>
    <prefer><family>Noto Color Emoji</family></prefer>
    <default><family>sans-serif</family></default>
  </alias>
  <alias binding="strong">
    <family>EmojiOne Color</family>
    <prefer><family>Noto Color Emoji</family></prefer>
    <default><family>sans-serif</family></default>
  </alias>

</fontconfig>

and, while it is loaded after the generic rules, but in theory that shouldn't matter, cuz they issue a "prepend"

FC_DEBUG=1024
	Loading config file from /etc/fonts/fonts.conf
	Scanning config dir /etc/fonts/conf.d
	Loading config file from /etc/fonts/conf.d/10-antialias.conf
	Loading config file from /etc/fonts/conf.d/10-hinting-slight.conf
	Loading config file from /etc/fonts/conf.d/10-scale-bitmap-fonts.conf
	Loading config file from /etc/fonts/conf.d/10-sub-pixel-rgb.conf
	Loading config file from /etc/fonts/conf.d/11-lcdfilter-default.conf
	Loading config file from /etc/fonts/conf.d/20-unhint-small-vera.conf
	Loading config file from /etc/fonts/conf.d/30-cjk-aliases.conf
	Loading config file from /etc/fonts/conf.d/30-metric-aliases.conf
	Loading config file from /etc/fonts/conf.d/40-nonlatin.conf
	Loading config file from /etc/fonts/conf.d/45-generic.conf
	Loading config file from /etc/fonts/conf.d/45-latin.conf
	Loading config file from /etc/fonts/conf.d/49-sansserif.conf
	Loading config file from /etc/fonts/conf.d/50-user.conf
	Scanning config dir /home/igalic/.config/fontconfig/conf.d
	Loading config file from /home/igalic/.config/fontconfig/conf.d/01-color-emoji.conf
	Loading config file from /etc/fonts/conf.d/51-local.conf
	Loading config file from /etc/fonts/conf.d/60-generic.conf
	Loading config file from /etc/fonts/conf.d/60-latin.conf
	Loading config file from /etc/fonts/conf.d/64-language-selector-prefer.conf
	Loading config file from /etc/fonts/conf.d/65-fonts-persian.conf
	Loading config file from /etc/fonts/conf.d/65-fonts-texgyre.conf
	Loading config file from /etc/fonts/conf.d/65-nonlatin.conf
	Loading config file from /etc/fonts/conf.d/69-language-selector-ja.conf
	Loading config file from /etc/fonts/conf.d/69-language-selector-zh-cn.conf
	Loading config file from /etc/fonts/conf.d/69-language-selector-zh-hk.conf
	Loading config file from /etc/fonts/conf.d/69-language-selector-zh-mo.conf
	Loading config file from /etc/fonts/conf.d/69-language-selector-zh-sg.conf
	Loading config file from /etc/fonts/conf.d/69-language-selector-zh-tw.conf
	Loading config file from /etc/fonts/conf.d/69-unifont.conf
	Loading config file from /etc/fonts/conf.d/70-fonts-noto-cjk.conf
	Loading config file from /etc/fonts/conf.d/70-no-bitmaps.conf
	Loading config file from /etc/fonts/conf.d/80-delicious.conf
	Loading config file from /etc/fonts/conf.d/90-synthetic.conf
	Loading config file from /etc/fonts/conf.d/99-language-selector-zh.conf
Vera.ttf: "Bitstream Vera Sans" "Roman"

@C1710 C1710 changed the title question: thumbs signs missing Conflicts with other fonts on Linux Jul 12, 2021
@C1710
Copy link
Owner

C1710 commented Jul 12, 2021

I'll collect all the issues on font support in Linux here:
#26 #41 #29

@Snuggle
Copy link

Snuggle commented Apr 18, 2022

Problem Fonts

@igalic In my experience these issues are caused by one of the following:

  1. DejaVu
  2. Symbola
  3. Unifont

In your case, you have Unifont installed (Loading config file from /etc/fonts/conf.d/69-unifont.conf) which provides a bitmap glyph for every single Unicode character, from what I remember. Try uninstalling that, restarting and see if your issue is fixed? 😊

Further Debugging

For further debugging, please install GNOME Character Map (often packaged as gucharmap). If you then right-click on a broken emoji, it should tell you which font that emoji is currently being sourced from in your current font config.

Search for Emoji

(In top menu, Search > Find and then type in an emoji. For this example I am using 🙂.)
image

Right click Emoji to View Font Used

As you can see in the image below, this emoji is currently being provided by a font called Blobmoji. If instead, yours says ABC Font, then you likely need to uninstall that other font.
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants