Firefox – Some Unicode characters work everywhere but not on Firefox, why

firefoxfontsunicode

I have a problem on Firefox. As it is already said in the title, some Unicode characters are replaced by weird squares with numbers inside. The thing is that it's only the case on Firefox – not on Open Office, not on Opera.

For example, if I look inside the little box at the bottom of this wikipedia page, I have a different outcome with Firefox and Opera.

What should I do ?

I already followed the advices on these two other threads about a similar problem
("Why only some unicode characters are visible on Firefox?" and "Why does Firefox not render some characters?") ; sadly, that wasn't enough : I already have Arial installed on my computer as well as on Firefox itself, and I also installed Code2000 ; that doesn't change anything. My Firefox settings also seem good.

So where's the problem ?

Thank you already for your help !

Update : I also installed DejaVu and DejaVuLGC, that didn't change anything. In fact, I can force Firefox to use only this font, then some (not all) of the missing characters appear ; but that's not a solution, since Opera doesn't have to do this to display correctly these characters (and some others).

For example, consider this page. With my usual Firefox settings, I see this. When I change them to these radical new settings, I see this. Look at the font of the normal text at the top ; obviously, it is DejaVu ; that isn't ideal : Opera does it better.

Best Answer

If you look closely at your screen shot of Opera, you’ll see that there are problems there, too. The characters that are missing on Firefox are missing on Opera, too, they are just replaced by various empty rectangles instead of rectangles with hex numbers in them. The answer to the question about differences is that the browsers handle the missing glyph problem differently.

Firefox actually handles the situation better by displaying an indication (albeit a technical one) about the identity of the character that cannot be rendered. CSS Fonts Module Level 3 CR recommends that, in section 5.2 Matching font styles: “8. If a particular character cannot be displayed using any font, the user agent should indicate by some means that a character is not being displayed, displaying either a symbolic representation of the missing glyph (e.g. using a Last Resort Font) or using the missing character glyph from a default font.”

As regards to the question why some characters are not rendered on either browser, check out the answers to the questions you mentioned. The general answer is that you simply need suitable fonts. For example, the character U+A78D mentioned by @mgkrebbs in a comment is relatively new (Unicode 5.2), and its font support is therefore rather limited. It has not yet been added to Arial Unicode MS, and it will probably never be added to Code2000 (which appears to be abandonware now). In practice, you would probably want to download and install the DejaVu font family to see it.

Related Question