HomeMathComputingArtsWordsLiteratureMusictwitter facebook webfeed

Best Fonts for Unicode

Advertise Here For Profit

Xah Lee, 2010-04-10, 2010, 2011-04-03, 2011-06-11

This page shows you some of the best fonts for displaying Unicode characters. Unicode is used for all of the world's languages, Asian languages, Arabics, or math symbols, even dead languages such as hieroglyph. (See: UNICODE Basics: What's Character Encoding, UTF-8, and All That?)

Today, Unicode is very popular and is a standard in many computer languages (e.g. XML, Java, C#, Python 3). (see this report: Unicode Popularity On Web.) Even if English is your only language, Unicode provide many useful symbols. Here's some example of common chars in Unicode: ← → ↑ ↓ ⇒ £ € © ® ™ — … ¶ † ● α β ° π ⊕ ⊗ “ ” « » 『 』 ✓ ▶ ★ ◇ ♠ ♣ ♥ ♦ ♪ ☺ .

To see how well your system displays unicode right now, see: Sample Unicode Characters.

The choices made on this page focuses fonts that can display math/computing symbols, not fonts that support the most number of languages.

Best Variable-width Font for Unicode

Two best proportional font for unicode are DejaVu Sans and Arial Unicode MS. Both are sans serif.

DejaVu Sans

DejaVu fonts is a suite of fonts containing both fixed-width (monospace) and variable-width fonts. It is bundled with Ubuntu Linux. It is a free. Download at dejavu-fonts.org.

Arial Unicode MS

On Microsoft Windows, you should try Arial Unicode MS. It comes with Microsoft Office, and is also in Mac OS X 10.5. If you don't have it, you can download the trial version just to get this font then uninstall Office, at http://office.microsoft.com/en-us/. (the font is in TrueType (ttf) format)

emacs Arial Unicode MS font

Arial Unicode MS in emacs displaying Unicode chars.

Note that Arial Unicode MS is not suitable for computer coding. The blank space between lines are too big, and the strokes are too thin.

For a comparison of these 2 fonts for reading, see: Unicode Font Comparison: Arial Unicode MS vs DejaVu Sans.

Best Fixed-Width Fonts for Unicode

DejaVu Sans Mono

The DejaVu Sans Mono from the DejaVu font suite is excellent. However, it does not contain some less used unicode chars. For example, the following chars it shows blank: ′ ″ ‴ ℵ ∎ ℓ ∡ ∢ ∥ ∦ ∶ ∷ ∀ ∃ ⊦ ∵ ∴ ⋂ ⋃ ≫ ≪ ℕ ℤ ℚ ℝ ₠ ※ ➀ ➁ ➂ ➃ ➄ ➅ ➆ ➇ ➈ ➉ ☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷. (some of these are added in version 2.33 as of 2011-04).

Many other fixed-width fonts also works well for unicode, if you don't require rare symbols. For example, there are: Courier New, Sans Mono, Miriam Fixed, Lucida Console, Lucida Sans Typewriter.

GNU Unifont

GNU Unifont also contains most unicode chars. This is the standard font in most linuxes.

You can download here: unifont-5.1.20080907.ttf.zip. Its home page is here: http://unifoundry.com/unifont.html.

GNU Unifont is Bitmapped

GNU Unifont is a bitmapped font (converted to scalable format (TrueType) in 2008 by Paul Hardy). This means, if youmake the font size large, you'll see a lot little squares.

emacs GNU Unifont

GNU Unifont when enlarged.

Fixedsys and Code2000

If want to play with fonts, you can also try the following font. Their quality is not very good. (very ugly)

What About Mac?

Apple has very good font technology with many beautiful fonts. My experience is that it works out of the box for all your unicode symbol needs. But if you are on a old version of Mac OS X and many unicode chars on this page shows up as squares, you can install the fonts recommended on this page.

Math Fonts, STIX font

Most fontsets support unicode char in the Basic Multilingual Plane (BMP). Some math symbols, such as gothic styled variant of the full set of A to z, or Double Struck variants, are not in the BMP and are not widely supported in even so-called unicode fonts. For font that support all math symbols, get STIX fonts. However, STIX is designed for typesetting math formulas, it's not suitable font for displaying normal text. For detail, see: Math Font, Unicode, Gothic Letters, Double Struck.

Which Font Has All Unicode Chars?

No single font has ALL unicode chars. At best, they contain all chars in the Basic Multilingual Plane (BMP). The BMP contains the most common 65.536 k chars. (Unicode has 16 other “planes”, but these are rarely used.)

I think it might be inefficient to have a font set to contain all unicode chars. Both Windows and Mac OS X have Font substitution technology. When a char in the current font doesn't have a glyph, the system search for the glyph in other font set. So, this way, each font can be specially designed for a particular language or purpose, while you can still display many unicode symbols in the same page.

Stackoverflow answers: “How does a Unicode character get mapped to a glyph in a font?”: Source stackoverflow.com.

Thanks to Pete Forman who commented and mentioned the font DejaVu. Also, there's a list of Unicode fonts by Alan Wood at Source www.alanwood.net

blog comments powered by Disqus