Unicode symbols displaying as boxes


I have a fancy prompt that e.g. displays the Unicode lock symbol (U+1F512) if I’m in an SSH session. When I edit the file that sets the prompt using Vim in an iTerm2 that is using the Monaco font, the symbol is displayed graphically. However, when I open the file in Atom, I only get a box standing in for the symbol, even when I manually set the font family for the editor.

This is unfortunate, how could this be fixed?


Okay so I don’t know anything about fonts apparently :smiley: Of course it can’t be from the font since it’s a multicolored icon, so it’s iTerm2 that’s drawing that by itself.

That being said, it’d be way cool if Atom could do this too.


It’s actually OS X that renders the emoji for iTerm, but I think Chrome uses its own font rendering, so Atom can’t display it easily without using images.


You don’t need any images to render Unicode.

Actually, if your OS doesn’t suck, you’ll see the lock right here: :lock:
(if it does suck though, you’ll see a box or some other replacement crap). That is called a glyph.

There are also emoji.

Notice that there are two issues confused here:

  1. proper rendering of text symbols beyond BMP,
  2. bonus eye candy of colorful emoji for some of the above symbols.

For an editor, not having 2 is OK; not having 1 is complete suckage. Especially if the editor in question is pretending to be “for the 21st century”.


Ok, after some hunting I conclude that Atom doesn’t suck that much with Unicode.

The issue can be worked around by explicitly configuring a list of fallback fonts in SettingsFont Family. My first try on a Linux reads:

DeJavu sans mono, Droid Sans Fallback, Symbola

Head of the list is the “primary” coding font determining how my Ascii looks like; the latter ones are backup fonts for weird characters from supplementary planes.

It’d be nice if Atom did some kind of intelligent font fallback though (works out of the box™-class).


Atom uses Chromium’s rendering engine for the UI. The font fallback selection is done by Chromium (and possibly the OS), not Atom. I’ve never run into a glyph that I can’t display running Atom on OS X and I don’t have to manually configure fallback fonts, it’s done for me automatically.

For example, I just pasted this Devanagari text रृ रॄ ल लृ लॄ ऌ ॡ (taken from an old Issue) into Atom. My font is configured as:

And it was rendered without boxes, with automatic fallback fonts:

Is it possible that Chromium is relying on the OS to supply fallback fonts and something is not working for you?