Closed Bug 976719 Opened 10 years ago Closed 10 years ago

Sites using custom fonts for icons interact poorly with gfx.downloadable_fonts.enabled

Categories

(Core :: Graphics: Text, defect)

27 Branch
x86_64
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 789788

People

(Reporter: mgambrell, Unassigned)

Details

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0 (Beta/Release)
Build ID: 20140212131424

Steps to reproduce:

using firefox 27.0.1 on windows 7.
1. disable downloadable fonts with gfx.downloadable_fonts.enabled
2. browse to github.com, for example (there are many websites with similar problems)


Actual results:

icons are missing. Instead theres a unicode missing-glyph hex code. Check the top. account settings, signout, home. the RSS feed icon is missing as well. etc.


Expected results:

Icons should have been displayed.

Now, I understand that the icons are missing because they use glyphs from the font I elected not to download. If you say 'well, thats what you get', then I would agree, if not for the fact that on a near-daily basis, websites are beginning to use this technique. Within a couple of years, the entire web will be unusable without custom fonts. So we need to address this now. I have a suggestion:

We need an option like "use downloadable font for missing glyphs". That way, I could see the glyphs through the downloaded font, but the downloaded font would be blocked from use for glyphs which would be visible without the use of the downloaded font.

It might be difficult to implement, because 'allow downloadable fonts' was probably intended for security and bandwidth control, so firefox is going to be ignoring the fonts altogether, most likely. But what would need to happen to get what I'm requesting would be for firefox to download the font actually, and then deprioritize it to a maximum and use it as a fallback font before the fallback font of last resort. That way, the custom glyphs would get caught at that stage. 

Here is a more complicated way that it could be setup. Forgive me, I dont do firewalls or security or similar so my analogizing here might be garbled:

1. DENY *downloadable*
2. ALLOW MoronicFont *missing*
3. ALLOW StupidFontThatUsesAStarInsteadOfSpace 0x0020 

These are evaluated per glyph.
First, any font flagged as downloadable is blocked
Next, if a glyph is missing, MoronicFont can be used.
Finally, if the glyph is 0x0020, StupidFontThatUsesAStarInsteadOfSpace can be used.

In the case of glyphs which are missing or denied after the rules are processed, the rules can be processed again, with the *missing* flag set. Anything still missing after that can use the fallback font (or maybe the concept of a fallback font could be written into this system with other rules)
There's been quite a bit of discussion of this in bug 789788 already. Marking this as a duplicate; I think the existing bug adequately covers it.
Status: UNCONFIRMED → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
oh, burn. i missed it. sorry, i tried! thanks
You need to log in before you can comment on or make changes to this bug.