Getting a Unicode glyph to show correctly - specifically U+2A75
I am working on a website that uses Unicode extensively. Some glyphs do not show correctly. In particular U+2A75, which is double equals. I am using Ubuntu, and I have installed Unifont. In the image, I have opened Firefox on the right and Chromium on the left, the URL is https://www.compart.com/en/unicode/U+2A75 Chromium is displaying the page correctly, Firefox is not. However, in both cases, the character is correctly displayed in the text in the Tab header after the favicon. browser.display.use_document_fonts is set to 1 I have read the Support page on editing fonts. Inspecting the element as suggested in the 'Editing Fonts' page, (see 2nd image uploaded), I see - in the source pane on the left, the character is correctly displayed (as in the tab text) - the Font being used to display the character in the rendered HTML is 'Source Sans Pro', which probably does not have the glyph for U+2A75. - the Font supplied by the website (presumably it does have the glyph) is list as a font, but I can't find a way to have it display the element.
I have tried to change the font family for the selected element in the Rules pane, but that does not work.
I have tried a variety of other changes in about:config but nothing seems to work.
I have two thoughts - the Font family for some Unicode ranges may be set for security reasons, and so U+2A75 is forced to some other Font - the fallback mechanism is not working to select a font when the glyph is not in the first family.
Alla svar (7)
Do you get a little box with the hex code or is it blank space ? Does it work here: "⩵" (⩵ :: ⩵) Firefox would normally switch to another font if the current font doesn't have a specific glyph.
In Firefox 119 Fingerprinting protection has been added to Enhanced Tracking Protection in Strict/Custom mode (Suspected fingerprinters) what affects accessing local fonts. To include user installed fonts, modify this pref on the about:config page:
- about:config => privacy.fingerprintingProtection.overrides => -FontVisibilityBaseSystem,-FontVisibilityLangPack
You can open the about:config page via the location/address bar. On the warning page, click "Accept the Risk and Continue" to open about:config.
You can try Firefox from the official Mozilla server if you currently use a version from the repositories of your Linux distribution to see if it behaves differently.
It works for me on Ubuntu 23.10 snap, flatpak and apt versions.
Does it still happen in a new profile (without signing into sync account)? An easy way to test a new profile is to install Developer Edition and see if it happens there or refresh your existing profile.
@cor-el Thanks for the help on where to look. - Adding the string `-FontVisibilityBaseSystem,-FontVisibilityLangPack` to the data entry bar at `privacy.fingerprintingProtection.overrides` did NOT work. - Toggling `privacy.fingerprintingProtection` (PfP) to `False` WORKS. - It would seem that the default for the finderprintingProtection is `False`, but my configuration was set to `True`. Not sure why this happened.
When PfP is false, the Font used for U+2A75 is Symbola, when true, it is Deja-Vue.
Both privacy.fingerprintingProtection and privacy.fingerprintingProtection.pbmode are controlled via the Suspected fingerprinters checkbox in the ETP custom settings with all windows or only in PB mode selected, the default is that this only works in PB mode when enabled. That it works with privacy.fingerprintingProtection set to false would indicate that this is a problem with blocking 'Suspected fingerprinters' assuming you aren't using PB mode.
Where are those fonts installed ? Do you have the latest DejaVu font installed ?
@cor-el a) I have all the latest updates for system and fonts, so the answer is 'yes' to updated fonts. b) Even if an updated font file has the Unicode glyph mentioned here, the problem is probably not going to go away by updating a 'standard' font like DejaVu. Unicode has too many glyphs. In principle, I will need them all. The glyphs are available in open-source widely distributed 'safe' fonts, such as Symbola or Unifont.
So somehow, it would be better to have a way to fine tune the privacy protocol to allow for code fallbacks to trusted fonts, such as Symbola. I could not find a way to do that.
Fingerprinting protection (FPP) is enabled by Strict Tracking Protection and only allows a hard-coded list of standard system fonts. The glyph renders successfully for me in all cases using FreeSerif on Ubuntu 23.10.