Created attachment 1897961 [details]
RHEL 9.0 showing unicode-table.com with missing characters
Description of problem:
We noticed some missing characters throughout the OS while browsing the web and also when using npm in GNOME Terminal.
I was testing with both Graphical Server and Workstation installs and both show the same behavior of missing characters (showing placeholder characters).
This was checked with a fully patched RHEL 9.0 system, with both Xorg and Wayland.
Also further this was tested both on a hardware system with the proprietory NVIDIA driver, as well as in a VMware ESXi environment as a VM.
For comparison I tested this on a fully patched Fedora Workstation 36 installation, which shows the characters just fine.
Steps to Reproduce:
1. Install a Graphical Server or Workstation installation
2. Open the browser and visit the page https://unicode-table.com/en/blocks/supplemental-punctuation
You will see many placeholder characters (please look at the attached screenshot)
All characters showing up correctly
This was initially brought to our attention in Rocky Linux 9.0,
am also tracking this here: https://bugs.rockylinux.org/view.php?id=149
Thank you very much for your help in advance and if any information is missing I will gladly provide it!
P.S. I'm sorry if I got the wrong package, it was just a wild guess from where this issue might come from.
its definitely not libfonts which is quite an obscure java-only package used by an equally obscure java component eventually only used by the reporting engine in LibreOffice. Its probably not fontconfig either, but that's more plausible at least. Maybe there just isn't any fonts installed which can render the glyphs.
Interesting facts! Thank you for redirecting though!
No, not fontconfig either. but there are no fonts installed which has a coverage to render them right. However, speaking of that site, they expect to download and use woff2 even if you don't have a font. That may just takes a bit of time to finish downloading woff2. you'll see those is rendered properly at the end.
I looked at the downloads of the website very close now and what font should be used for these characters,
to me it looks like there are other parts of the website, where the font comes from either remote ttf or woff2 files, but not for these, it directly picks up the default font from the browser/OS.
On my Fedora 36 machine it says that it uses Noto Serif.
Furthermore I also mentioned that these characters are also missing if you are using npm, you just need to do a "dnf install npm" and then "npm install nodejs", you should see the download bar with these characters for short.
Created attachment 1899158 [details]
gfx.downloadable_fonts.enabled = true
I assume you use firefox. you may disabled web fonts support there. attached screenshot has been taken with gfx.downloadable_fonts.enabled = true. as you can see, the font being used for rendering is something not installed on the system.
Created attachment 1899159 [details]
gfx.downloadable_fonts.enabled = false
This is with gfx.downloadable_fonts.enabled = false. as you said, Noto Serif was used for rendering.
For npm, if the rendering of those characters affects functionalities in npm, npm should has dependencies to proper font package.
As a result, the problem is that fonts to rendering those characters is just missing on the system, but I don't think we should have them as a part of default fonts. I'll reassign this to npm if there are no objections.
Created attachment 1899255 [details]
Picture from right after the first boot and browser start
I wasn't trusting myself anymore now... So I just deployed a new system with the Workstation base environment,
right after the first booting I started the preinstalled Firefox and opened the page.
This screenshot is from exactly that moment
Created attachment 1899256 [details]
Firefox with open dev tools
Here is another screenshot with the Dev tools visible.
The gfx.downloadable_fonts.enabled parameter is by default set to true as far as I can see.
Created attachment 1899257 [details]
Screenshot from the npm install nodejs with the missing characters
And right after this I opened a Terminal window and typed:
- dnf install npm
- npm install nodejs
I'm very fine with reassigning wherever it needs to go to find a solution to that issue :)
Created attachment 1899333 [details]
another screenshot for woff2
BTW web browser replaces the system font with downloaded woff2 once they finished downloading. in other words, they may use the system font, particularly when it wasn't finished during initial rendering. you may want to check the network monitor on the web developer tools. I attach another screenshot for comparison. as you can see, there should be 6 requests related to fonts (one is a stylesheet and 5 for web fonts).
(In reply to Lukas Magauer from comment #12)
> Created attachment 1899257 [details]
> Screenshot from the npm install nodejs with the missing characters
> And right after this I opened a Terminal window and typed:
> - dnf install npm
> - npm install nodejs
You could try installing google-noto-sans-symbols2-fonts for the Braille characters.
Created attachment 1899782 [details]
Firefox with open dev tools network tab
> BTW web browser replaces the system font with downloaded woff2 once they finished downloading. in other words, they may use the system font, particularly when it wasn't finished during initial rendering. you may want to check the network monitor on the web developer tools. I attach another screenshot for comparison. as you can see, there should be 6 requests related to fonts (one is a stylesheet and 5 for web fonts).
Okay I think I see what you are talking about, there are 2 tries to download the u2c00.woff and .ttf files. Both fail with a CORS error. Maybe this is intentional, maybe not.
Which means maybe a website error?
But tbh this should only have been an easy way to make the npm character thing visible, if it is expected that there is no font fallback for Firefox, I'm fine with that, then it's really an npm package error, as this one really expects to have a font that supports these characters.
The same behavior definitely also happens on Fedora so yeah either website is broken or expected, that it should use the local provided fonts.
> You could try installing google-noto-sans-symbols2-fonts for the Braille characters.
So there was no symbols2 font available from the repos, only a symbols, but this one didn't fix it.
I can also see that this font is available in CentOS Stream 9's crb repo, but not in the RHEL 9 crb up to now.
So I grabbed the RPM from CentOS Stream now, but after installing, even rebooting, still the same behavior.
I further got told by the originating reporter, that this font fixed the issues for him: https://copr.fedorainfracloud.org/coprs/shassard/juliamono-fonts
So I tested this now as well and yes, after installing the copr package, it is possible to see the correct character in both the browser and also the terminal.
Also tried it on CentOS Stream 9 now, same behavior, installed symbols2 there then, and also still the same behavior.
Okay, reassigning to npm, to correct dependency for fonts. how about google-roboto-fonts? they should have glyphs for supplemental punctuation.
As far as I could find via dnf, there is only a google-roboto-slab-fonts package, which didn't fix the issue.
I then compared the installed fonts from my Fedora machine against the RHEL machine and... google-noto-sans-mono-fonts did the trick, after installing that the supplemental punctuations are showing up!
I think this issue has stalled somehow.
I think for npm google-noto-sans-symbols2-fonts could be Recommended.
(It would have been better also to have filed separate reports for the Supplemental Punctuation and the npm: this are not directly related.)
(I think in Fedora the npm braille symbols render with Gdouros Symbola which we don't include in RHEL9,
but google-noto-sans-symbols2-fonts is available in CRB.)
If I am not mistaken dejavu-sans-fonts also has Braille Pattern coverage.
Lukas what is your output of `rpm -qa \*-fonts | sort`?
For me Braille renders fine in my RHEL9 in gnome-terminal.
Thank you for your time Jens!
> I think for npm google-noto-sans-symbols2-fonts could be Recommended.
As far as I can see, this package is not available for RHEL 9, couldn't find it neither with dnf nor with the online package browser. (also not in the codeready-builder repo)
I see it in CentOS Stream 9 though, there it is in the CRB repo.
> (It would have been better also to have filed separate reports for the Supplemental Punctuation and the npm: this are not directly related.)
Sorry I'm not very used to creating issues here, should I create a second one? :)
> Lukas what is your output of `rpm -qa \*-fonts | sort`?
> For me Braille renders fine in my RHEL9 in gnome-terminal.
Welp... I would guess it was already fixed in the meantime!
At least npm shows the parenthesis characters correctly now!
(Firefox still has the problem, but that's of course not a problem as we discovered if the websites provide there own fonts)
Great that it could be fixed somehow of course :)
Created attachment 1914408 [details]
List of installed packages with font in the name
Created attachment 1914409 [details]
Today's dnf update which fixed the problem for npm