I’m trying to get Firefox to display unicode characters for some ancient languages. If I go to Phoenician alphabet - Wikipedia, certain characters are displayed as boxes with a 6-digit hexadecimal number inside of them: Egyptian hieroglyphs and the corresponding letters in Phoenician, Samaritan, Aramaic, Parthian, South Arabian, Brahmi, and Mongolian.
I’ve installed google-noto-sans-egyptian-hieroglyphs-fonts and the corresponding packages for the other characters that should be displayed. I’ve confirmed that I have the fonts installed on my system, and if I open up KDE settings and go to Appearance > Fonts > Adjust All Fonts…, then copy the unicode boxes on the webpage and paste them into the typing area in the dialog box, the characters are displayed correctly.
Also, if I open the page in a Chromium-based browser (tested with Brave) then the characters are all displayed correctly. Checking the page with Firefox’s developer tools shows that among the characters that are displayed, they are either found in Liberation Sans (my main sans serif font), Droid Sans Ethiopic (for the Ge’ez characters), or Droid Sans Devanagari for the Devanagari characters. How can I make Firefox recognize the Noto Sans fonts?
Are you using the flatpak of firefox or the repo package?
Just tried this on a RHEL 9 system (with Firefox 91.11.0esr, in case version matters) and the fonts were recognized without a problem, so the issue is either limited to Fedora or just to that particular Fedora system. I also tried a few other browsers on the Fedora system: IceCat, Falkon, and Konqueror. IceCat didn’t pick up the fonts, but Falkon and Konqueror did.
so the issue is either limited to Fedora or just to that particular Fedora system
It’s probably a packaging issue then, I can confirm it happening on my system as well. Nothing shows in Firefox (RPM) but it works on Chromium.
Another data point: I tried this on my other Fedora system and the fonts are recognized in Firefox after rebooting. I’ve got some processes that can’t be interrupted running on my main Fedora system so I won’t be able to reboot it to test for a few more days, but this may be a solution.
Many updates require that the running processes be stopped and restarted if that app is updated or a complete reboot for some apps or the kernel.
I always try to schedule updates to allow a reboot at the time of the update so everything remains in sync.
Well, I got an unexpected opportunity to restart my main system, and it still doesn’t recognize the fonts after multiple reboots and a full system update. I would think that this is specific to this system then, except that @steiner reported the issue too. Not sure what could be causing it - the fact that IceCat also can’t find the fonts, and the fact that I have the same extensions installed on Firefox on both of my Fedora systems, would suggest that the issue is not within Firefox itself, but the filesystem. But the issue can’t be system-wide either, because Brave and KDE Settings are able to find and use the fonts.
I’ve tried running
fc-cache -fv both with and without sudo, since I saw it recommended on similar questions, but that didn’t fix anything. Maybe a clean install of Firefox (and a removal of IceCat and any remaining Mozilla config/cache files) is the next step.
Finally, fixed it. I uninstalled every Mozilla-based browser on my system - Firefox, IceCat, PaleMoon, and Tor Browser - and removed everything in
~/.moonchild productions. I also uninstalled and deleted firejail, which I had installed to run Microsoft Teams but had some files containing the string “firefox” and I wanted everything containing “firefox” or “mozilla” gone.
After that, I rebooted, reinstalled Firefox, and now I’m able to see all of the characters on that page (still haven’t reinstalled any extensions). So the problem probably was somewhere in ~/.mozilla or /usr/lib64/firefox, but at this point a clean install is faster than tracking down the original problem, especially since it only seems to be an issue on some systems and not others.
Final update, and I’ll mark this as the solution and quit updating the post. When reinstalling my extensions and re-enabling my privacy settings, I noticed the Phoenician alphabet page was broken again. I went back through the settings I had just changed and was able to isolate it to having
privacy.resistFingerprinting set to “true” in my about:config settings. Toggling that setting toggles whether or not the Google Noto characters are displayed.