For example in the dev tools I get something like:

Chrome dev tools

Some of these squares are at the end of lines, initially I thought they were carriage returns but it turns out they aren't.

Also, squares appear after = or > in many places where there is no newline, and looking at the file in a hex editor shows that there isn't any character at all between = and " (e.g. id=" is showing as id=? ")

This also turns up very occasionally in web pages, for example I saw:

Google search result

I copied that sentence, looked at it in a hex editor, and again there is no character between e and :. Nothing shows up in the source code either.

I have never seen this before, and its only since I re-installed arch a few days ago.

Chrome is: Version 19.0.1084.15 dev
Arch is: Kernel 3.3.1-1-ARCH, x86_64

locale.gen has en_GB locales uncommented (both UTF-8 and ISO-8859-1). The encoding in chrome defaults to ISO-8859-1, but switching it to UTF-8 makes no difference.

This is the html file I was using: test.html

A fix would be fantastic, an explanation would be great, confirming that this is (or isn't) just a problem with my setup would also be good.

Edit: After investigating fonts, I found that in both cases it was trying to use arial, which in arch is part of the ttf-ms-fonts package. Installing that resulted in the font changing, but the squares remained (although a different shape). In both cases the font does not adhere to the default fonts for the system.

Chrome dev tools - with arial

  • It works and display fines for me. I guess it should be a problem with your setup, maybe your font rendering system. – Coren Apr 12 '12 at 9:23
  • @Coren, I forgot about fonts :P I'll take a look now. – Mat Apr 12 '12 at 9:25

This fixed the problem for me. Install the dejavu fonts.

sudo pacman -S ttf-dejavu
| improve this answer | |
  • 2
    Beautiful - this solved my problem also. – Cody Reichert Apr 21 '15 at 17:20
  • This messed up my terminal fonts and removal by pacman -R ttf-dejavu has lot of chained dependencies, pacman -Rdd ttf-dejavu doesn't solve the removal and resetting of fonts – pshirishreddy May 17 '16 at 6:28
  • Installing any other font that has the problematic characters would also work – Dr. Nefario Sep 11 '16 at 11:00
  • still works in 2017 – user172354 May 3 '17 at 6:43
  • If you are getting squares with the flash plugin for Chromium, try this. – e18r Aug 19 '17 at 17:37

It's standard to print the Unicode replacement character in place of a character which does not exist in the current font.

A possible fix is simply to change the default font of either your OS (if the browser inherits the OS settings) or the browser. For example, my Firefox 11.0 on Ubuntu 11.10 is using the "serif" font (which might be a synonym for FreeSerif), which seems to support a lot of Unicode characters.

PS: The images seem to have disappeared.

| improve this answer | |
  • Thanks for the answer. After the comment from coren I did some investigating, and found that the square from the google result (second image) was trying to use arial. I installed ttf-ms-fonts which resulted in a change: the squares are now a different shape. I will try and find what the default fonts are. – Mat Apr 12 '12 at 14:35
  • 11
    which resulted in a change: the squares are now a different shape I'm sorry that I laughed so hard at that. – Rob Apr 12 '12 at 15:37

installing the noto font from google, did it for me.

yay -S noto-fonts

Now, reload the font cache:

fc-cache -vf
| improve this answer | |
  • And also install emojis yay -S noto-fonts-emojis – kayn Jan 3 at 23:15
  • Adding both the fonts worked for me, on Manjaro. – kiamlaluno Aug 6 at 16:50

There's a better way to determine what font you're missing instead of blindly installing font packages.

For example I did the following to resolve missing fonts:

  1. I received an email with two unknown Unicode characters (codepoints: U+1F44B, U+1F3FC)
  2. Paste them here: https://www.fontspace.com/unicode/analyzer#e=8J-Ri_Cfj7w
  3. Review the results which will show you fonts that have those emojis/characters
  4. Install only the needed font packages, for me pacman -S noto-fonts-emoji worked.
  5. Rebuild font cache fc-cache -vf
  6. Restart Chrome/Chromium

Alternatively you can lookup the Unicode name to aide in Google searches looking for fonts:

$ echo -e 👋🏼 | python -c 'import unicodedata, sys; s=sys.stdin.read().rstrip(); print([{ascii(c): unicodedata.name(c)} for c in s])'
[{"'\\U0001f44b'": 'WAVING HAND SIGN'}, {"'\\U0001f3fc'": 'EMOJI MODIFIER FITZPATRICK TYPE-3'}]

You can also can let Python read from stdin. To do that run the script without echo ... |, copy-paste the unknown Unicode character, hit enter and CTRL-D to close stdin, and python will return the result.

| improve this answer | |
  • For the Italian flag, which is made of the Regional Indicator Symbol Letter I and Regional Indicator Symbol Letter T Unicode characters, fontspace.com/unicode/analyzer#e=8J-Ri_Cfj7w was able to find only the latter character in the Noto Emoji font. I would have installed a different font, which had both the characters, when Noto Emoji had both the characters. – kiamlaluno Aug 6 at 16:49

I was having the same issue. This page, for example, was particularly unreadable, with squares appearing all throughout the text of the page. I was able to fix it by renaming all the arial*.ttf files in /usr/share/fonts/truetype/msttcorefonts to backup filenames and then setting Chrome's default sans-serif font to Droid Sans. I can't use Arial fonts at all now, but at least the pages look right.

| improve this answer | |

I had the same problem. Using the past posts as a guide, I downloaded and installed the Font Changer Chrome extension. Using FC to change to Arial fixed the problem. Other fonts may also work, but I haven't tried them yet.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.