How to make Firefox display Chinese characters completely?
This issue is going on for a few months already. At some point my Firefox lost the ability to display some Chinese characters. This is a big issue for me, because I use Chinese almost daily. They're not rarely used characters either. One examples is (you'll be able to see it, I am not): "问" (Now I see only two quotation marks but I know that there is a character in between them.)
Here are the details of what's going on:
When I enter Chinese characters on most websites (not all of them!), only some of them will be displayed, while others are invisible. Thus when I enter a whole phrase, it's difficult to check whether I made any mistakes. I know the characters are there, because I can move my cursor through the characters and it'll stay at the same place, internally counting that invisible character, when I move over one of those invisibles. Also when I write Chinese text messages, the other person never seems to be missing any characters from my messages. Also when I copy paste them into an editor, they're clearly there and visible.
So what I've tried so far is only the following:
I went to: about:preferences#content and then set a font, which I know can display the characters (WenQuanYi Micro Hei). Also I enabled the checkbox with the label "Allow pages to choose their own fonts, instead of my selections above".
So either almost aaaaall of the websites I am using suddenly removed their own font choices (highly unlikely) and FF can't use the font set by me properly, or there is another issue at work here.
I also tried with another profile, by starting FF using the command line: firefox -P A completely new profile, no addons installed or anything, but still some Chinese characters are missing.
Information about my machine: OS: Xubuntu 14.04 Firefox Version: 44.0.2 (shouldn't really matter as this is going on for a long time now) (Any other information required?)
Example for a website on which FF is displaying Chinese characters correctly: http://www.mdbg.net
Ndryshuar
Krejt Përgjigjet (20)
You need to have a font installed that covers this Unicode range (问). If you see a question mark then usually a western or windows encoding is active, otherwise you would see a little box with the hex code.
For this character the Inspector shows for me on Linux that this font is used: AR PL ZenKai Uni So you likely do not have a font that covers this Unicode range.
Ndryshuar
The character_reference/9000-9FFF page uses a lot of different fonts for me if I check that in the Inspector and still doesn't include all glyphs (I see boxes with the hex code). It is usually not easy to cover the entire CJK range.
AR PL ZenKai Uni Arial system DejaVu Sans Georgia Guseul KozGoPro-Medium Un Dotum
Ndryshuar
cor-el said
The character_reference/9000-9FFF page uses a lot of different fonts for me if I check that in the Inspector and still doesn't include all glyphs (I see boxes with the hex code). It is usually not easy to cover the entire CJK range. AR PL ZenKai Uni Arial system DejaVu Sans Georgia Guseul KozGoPro-Medium Un Dotum
First of all: Thank you for replying quickly.
I have several if not all of those on my system and I even tried DejaVu Sans once in the FF settings, to no avail though. How comes they're not chosen as a fallback or by a specific webpage? All other programs, including Thunderbird and other browsers (!), which I use in combination with Chinese characters have no problem with displaying them properly at all.
The fact that other browsers manage to display them points even more in the direction of some issue with FF, although I know they could theoretically have their own font collections shipped with them, I don't think that's a usual practice and have never read about any such a thing being done. Those other browsers include Vivaldi, Opera (Next), Chromium.
As I said, "WenQuanYi Micro Hei" definitely supports one such simple and daily millions of times used character as 问. I even use that font in some latex generated PDFs, where there is no fallback and it renders each and every single character, which is missing in FF, very well.
I like FF a lot, but as often as I use Chinese characters, this is being a really big annoyance and issue for me.
How can I proceed? What information could I give, so that someone can help me with the issue?
If that is a bitmap font then it may not work anymore in current releases as we have seen more reports about font issues.
Try to set this pref to false on the about:config page:
- gfx.font_rendering.fontconfig.fontlist.enabled = false
You can open the about:config page via the location/address bar. You can accept the warning and click "I'll be careful" to continue.
- Bug 1180383 - bitmap fonts no longer working
Thunderbird and Firefox work very similarly with respect to rendering HTML, so it is puzzling. If you select and copy text in Firefox containing the invisible characters and paste into a new message in Thunderbird, do the characters appear?
Could you review your font selections here:
(1) In a new tab, type or paste about:config in the address bar and press Enter/Return. Click the button promising to be careful.
(2) In the search box above the list, type or paste zh and pause while the list is filtered (for example, to show font.name-list.serif.zh-CN).
Does anything here raise a red flag about a possibly non-working font? Any that have been customized should be bolded.
Ndryshuar
cor-el said
If that is a bitmap font then it may not work anymore in current releases as we have seen more reports about font issues. Try to set this pref to false on the about:config page:You can open the about:config page via the location/address bar. You can accept the warning and click "I'll be careful" to continue.
- gfx.font_rendering.fontconfig.fontlist.enabled = false
- Bug 1180383 - bitmap fonts no longer working
This solved the issue, but created the reversed issue. Now on Facebook for example in the chat the characters are displayed as they should, but for example on mdbg.net they're now hidden entirely.
jscher2000 said
Thunderbird and Firefox work very similarly with respect to rendering HTML, so it is puzzling. If you select and copy text in Firefox containing the invisible characters and paste into a new message in Thunderbird, do the characters appear? Could you review your font selections here: (1) In a new tab, type or paste about:config in the address bar and press Enter/Return. Click the button promising to be careful. (2) In the search box above the list, type or paste zh and pause while the list is filtered (for example, to show font.name-list.serif.zh-CN). Does anything here raise a red flag about a possibly non-working font? Any that have been customized should be bolded.
From Firefox copied into Thunderbirds input fields the text becomes visible, so that works.
For (1) and (2): Yes user set are: font.language.group; = zh-CN font.name.monospace.zh-CN; = WenQuanYi Micro Hei Mono font.name.sans-serif.zh-CN; = WenQuanYi Micro Hei font.name.serif.zh-CN; = DejaVu Serif intl.accept_languages; = en,de,en-us,zh
EDIT: I now changed it back again to DejaVu Sans and DejaVu Sans Mono for monospaced, but it doesn't help.
Ndryshuar
Too bad there seems to be no solution for such a simple problem of displaying characters : / How could this even happen? Did no one ever test display of Chinese characters?
Hi ZelphirKaltstahl, I think there are millions of Chinese Firefox users testing every release in real time...
You've tried most of the logical things. Have you tested with hardware acceleration disabled?
"3-bar" menu button (or Edit menu) > Preferences > Advanced
On the "General" mini-tab, uncheck the box for "Use hardware acceleration when available"
This takes effect the next time you exit Firefox and start it up again. Any difference?
On Windows, I often recommend a "clean reinstall" which involves removing the Firefox program folder (but not your personal data) before re-running the Firefox installer. I have not tested the following steps on Linux:
To do a clean reinstall of Firefox, please follow these steps: Note: You might want to print these steps or view them in another browser.
- Download the latest Desktop version of Firefox from mozilla.org (or choose the download for your operating system and language from this page) and save the setup file to your computer.
- After the download finishes, close all Firefox windows (or open the Firefox menu and click the close button ).
- Delete the Firefox installation folder, which is located in one of these locations, by default:
- Windows:
- C:\Program Files\Mozilla Firefox
- C:\Program Files (x86)\Mozilla Firefox
- Mac: Delete Firefox from the Applications folder.
- Linux: If you installed Firefox with the distro-based package manager, you should use the same way to uninstall it - see Install Firefox on Linux. If you downloaded and installed the binary package from the Firefox download page, simply remove the folder firefox in your home directory.
- Windows:
- Now, go ahead and reinstall Firefox:
- Double-click the downloaded installation file and go through the steps of the installation wizard.
- Once the wizard is finished, choose to directly open Firefox after clicking the Finish button.
WARNING: Do not use a third party uninstaller as part of this process. Doing so could permanently delete your Firefox profile data, including but not limited to, extensions, cache, cookies, bookmarks, personal settings and saved passwords. These cannot be easily recovered unless they have been backed up to an external device! See Back up and restore information in Firefox profiles.
I deactivated hardware acceleration and restarted FF. Still no improvement. Same characters missing as before.
Before I uninstall my FF, which I've probably done once or twice since the issue started anyway (I think I remember even doing it for solving exactly this issue, but it didn't help), I'd like to know, if there is any difference, between reinstalling FF and simply using a completely new profile (command line firefox -P) and not installing any addons or anything and then checking whether the issue still persists. The new profile thing is what I've already done and also told about in this thread.
I am familiar with a Clean Reinstall on Windows. Physically renaming or removing the program folder (not the profile folder) can clean up problems that uninstall/reinstall or update can leave behind. It is meant to address different issues than testing in a new profile, such as corrupted, conflicting, or obsolete files in the program folder.
So a reinstall + new profile, in case FF finds my old profile is the next step? Or do you advice to search the profile folder and move that one, then reinstalling?
I am not on m$ windows, but I think when I created the question I mentioned it and added that debug data.
I know you're not on Windows, and that's why I feel there may be things going on with your system that I don't understand.
No need to create another new profile since you already tried that. The goal is simply to cleanly replace the program folder and see whether that works with your existing profile. One intervention at a time.
Removing the whole project folder didn't help. Reinstalling FF, then running it using `firefox -P` didn't help. I saw that there was no profile in the startup dialog when using `firefox -P`, from which it might have taken any old stuff.
So even the freshest of the fresh installs doesn't fix it.
If Firefox doesn't recognize the font and you don't see it in Preferences > Content : Fonts & Colors then reinstalling Firefox or a new profile won't work.
Did you check what font Firefox is using in cases that (still) give issues?
If your preferred fonts aren't working then you will have to search for other fonts that covers all needed Unicode code points.
Do you mean:
ZelphirKaltstahl said
cor-el saidIf that is a bitmap font then it may not work anymore in current releases as we have seen more reports about font issues. Try to set this pref to false on the about:config page:You can open the about:config page via the location/address bar. You can accept the warning and click "I'll be careful" to continue.
- gfx.font_rendering.fontconfig.fontlist.enabled = false
- Bug 1180383 - bitmap fonts no longer working
This solved the issue, but created the reversed issue. Now on Facebook for example in the chat the characters are displayed as they should, but for example on mdbg.net they're now hidden entirely.
jscher2000 said
Thunderbird and Firefox work very similarly with respect to rendering HTML, so it is puzzling. If you select and copy text in Firefox containing the invisible characters and paste into a new message in Thunderbird, do the characters appear? Could you review your font selections here: (1) In a new tab, type or paste about:config in the address bar and press Enter/Return. Click the button promising to be careful. (2) In the search box above the list, type or paste zh and pause while the list is filtered (for example, to show font.name-list.serif.zh-CN). Does anything here raise a red flag about a possibly non-working font? Any that have been customized should be bolded.From Firefox copied into Thunderbirds input fields the text becomes visible, so that works.
For (1) and (2): Yes user set are: font.language.group; = zh-CN font.name.monospace.zh-CN; = WenQuanYi Micro Hei Mono font.name.sans-serif.zh-CN; = WenQuanYi Micro Hei font.name.serif.zh-CN; = DejaVu Serif intl.accept_languages; = en,de,en-us,zh
EDIT: I now changed it back again to DejaVu Sans and DejaVu Sans Mono for monospaced, but it doesn't help.
?
This is how I checked my settings, but is there a way of checking what FF really does, independently from its settings? If so, how can that be done?
(However I doubt that FF can't handle DejaVu Sans or DejaVu Serif, which were even suggested here. It would rather be that they're somehow not used, although they're set.)
To see what font is being used for a particular element on the page, you can use the Inspector. Right-click the element and choose Inspect Element (Q) to open the Inspector in the lower part of the tab. By default, the left side will show an HTML tree diagram and the right side will show style rules. One of the little tabs above the style rules will be Fonts, and you can click that to see what font is being used.
You mentioned that some forms are affected and some others are not. Does this break down along the lines of plain textarea controls (like the ones on this site) versus editable areas of a document (like in webmail rich text editors)?
Example: https://duckduckgo.com Element: search term field
When I inspect an `<input type="text">`, thr font tab of the inspector is empty. I then have the button at the bottom `See all fonts used in the page`. When I click it, I see the following:
So there are definitely fonts, which can render the characters, but they're not specifically assigned to the input element.
Now the question where does it work?
I am short of an example at the moment. I think it only worked on some websites for example facebook, when I set:
gfx.font_rendering.fontconfig.fontlist.enabled = false
But I know no characters where visible on mdbg.net when doing that, so it's unfortunately not a solution.
That page shows this font-family rule:
body, input, textarea, select { font-family: Helvetica, Arial, "华文细黑", STXihei, STHeiti, SimSun, PMingLiU, SimHei, "Arial Unicode MS", "TITUS Cyberbit Basic", "Bitstream Cyberbit", "Lucida Sans Unicode", Sans-Serif; z-index: 0; }
On DuckDuckGo, I get this list of fonts for the input box, using the Computed Style tab (screen shot attached):
"DDG_ProximaNova","DDG_ProximaNova_UI_0", "DDG_ProximaNova_UI_1","DDG_ProximaNova_UI_2", "DDG_ProximaNova_UI_3","DDG_ProximaNova_UI_4", "DDG_ProximaNova_UI_5","DDG_ProximaNova_UI_6", "Proxima Nova","Helvetica Neue","Helvetica","Segoe UI","Nimbus Sans L","Liberation Sans","Open Sans",FreeSans,Arial,sans-serif;
Unfortunately, I can't tell which one is being used, but probably one of the downloadable fonts, or one of the ones assigned to a "zh" preference. (If I override it with a rule specifying Arial, which is my default sans-serif font, the text moves upwards a bit, which is why I think it is one of the others.)
I noticed "Helvetica Neue" on that list, which often creates problems for Windows users if they ever installed an old version of Safari for Windows. Probably not relevant to you.
I get that one can see the fonts there , but I am not sure what to make of this. Do you mean to say to remove Helvetica, and test again?
I don't know if the websites changed their fonts, but I think it's unlikely to happen on every site I use Chinese characters on. Also some month back my FF didn't have that problem.
SimSun is like *the* default serif font for Chinese characters anyway and it's also in that list, as well as on my machine.
I don't really know what to do now, tbh.
(I actually know all this inspector stuff already, it's not like I use it for the first time, as I have done some web development. This character issue however simply doesn't want to make sense. In my other browsers every character renders without any issues. I'd still like to fix the issue, because I like FF's memory footprint and CPU usage in comparison. I like lightweight stuff, that works well.)