Monospace Unicode font

Viewed 32442

Can anybody please tell me the monospace font that covers most of the unicode characters If not then a monospace font that contains most of the european language character set ?

10 Answers

Nearly every font nowadays covers at least Latin, Greek and Cyrillic. And enough of Latin to support most European languages.

However, there can't be a single font covering most of Unicode, as OpenType is limited to 65536 glyphs and there are more code points assigned so far. Also it's a common misconception that a single font for as many scripts as possible is a Good Thing™. It's not, actually. Remember that for the font to work other things must be in place as well: properly defined diacritics support (so combining accents actually appear above/below the base characters and not somewhere next to them), precomposed glyphs for some scripts so the rendering engine can use them properly, this includes Arabic and and Indic scripts, ...

It's a major undertaking and as such it's not surprising that pretty much the only fonts covering large portions of Unicode are last-resort fonts, intended to be used when no other font exists to display something. As a fallback mechanism, but never as a first choice. The preferred way is actually to let the rendering engine sort out script support for fonts and not try to cram it all into a single font. See also Michael Kaplan's take on this: Arial Unicode MS effectively [bites|sucks|blows] .

Still, if you're only looking for glyph support:

  • Fixedsys Excelsior
  • Everson Mono
  • DejaVu Sans Mono
  • Roboto Mono

Those fonts are pretty large already. But as noted above, don't count on correct workings of complex scripts or typography.

There's the GNU Unifont project, which more or less has this as its goal.

For those of you who were in need of an overview to make sense of many good suggestions here and elsewhere: here is something I made.

I downloaded 39 monospaced fonts I found on the internet and used Fontkit to get the number of supported Unicode points. I manually added the supported styles. I hope this helps!

Font #Supported Unicode Points Styles
GNU Unifont1 57087 Regular
Nanum Gothic Coding2 12478 Bold, Regular
JuliaMono 9800 Regular
Everson Mono3 9643 Bold, BoldOblique, Oblique, Regular
GNU Freefont 4160 Bold, BoldOblique, Oblique, Regular
Noto Sans Mono4 3367 Black, Bold, ExtraBold, ExtraLight, Light, Medium, Regular, SemiBold, Thin
DejaVu Sans Mono 3258 Bold, BoldOblique, Oblique, Regular
Monospace 2881 Bold, Oblique, Regular
Cousine 2275 Bold, BoldItalic, Italic, Regular
Overpass Mono 1642 Bold, Light, Medium, Regular, SemiBold
Fira Code 1586 Bold, Light, Medium, Regular, Retina, SemiBold
Hack 1549 Bold, BoldItalic, Italic, Regular
Fira Mono 1350 Bold, Medium, Regular
Source Code Pro 1334 Black, BlackItalic, Bold, BoldItalic, ExtraBold, ExtraBoldItalic, ExtraLight, ExtraLightItalic, Italic, Light, LightItalic, Medium, MediumItalic, Regular, SemiBold, SemiBoldItaliic
Nova Mono 1329 Regular
Ubuntu Mono 1225 Bold, BoldItalic, Italic, Regular
Jetbrains mono 1182 Bold, BoldItalic, ExtraBold, ExtraBoldItalic, ExtraLight, ExtraLightItalic, Italic, Light, LightItalic, Medium, MediumItalic, Regular, SemiBold, SemiBoldItaliic, Thin, ThinItalic
Input 923 Black, BlackItalic, Bold, BoldItalic, ExtraLight, ExtraLightItalic, Italic, Light, LightItalic, Medium, MediumItalic, Regular, Thin, ThinItalic
Inconsolata 883 Regular
Roboto Mono 877 Bold, BoldItalic, ExtraLight, ExtraLightItalic, Italic, Light, LightItalic, Medium, MediumItalic, Regular, SemiBold, SemiBoldItaliic, Thin, ThinItalic
Droid Sans Mono 872 Regular
PT Mono 806 Regular
IBM Plex Mono 751 BlackItalic, Bold, BoldItalic, ExtraLight, ExtraLightItalic, Italic, Light, LightItalic, Medium, MediumItalic, Regular, SemiBold, SemiBoldItaliic, Thin, ThinItalic
Anonyous Pro 624 Bold, BoldItalic, Italic, Regular
Monoid 619 Bold, Italic, Regular, Retina
Space Mono 614 Bold, BoldItalic, Italic, Regular
B612 Mono 590 Bold, BoldItalic, Italic, Regular
Major Mono Display 582 Regular
VT323 569 Regular
Xanh Mono 468 Italic, Regular
Cutive Mono 440 Regular
Azeret Mono 434 Black, BlackItalic, Bold, BoldItalic, ExtraBold, ExtraBoldItalic, ExtraLight, ExtraLightItalic, Italic, Light, LightItalic, Medium, MediumItalic, Regular, SemiBold, SemiBoldItaliic, Thin, ThinItalic
Spline Sans Mono 412 Bold, BoldItalic, Italic, Light, LightItalic, Medium, MediumItalic, Regular, SemiBold, SemiBoldItalic
Red Hat Mono 393 Bold, BoldItalic, Italic, Light, LightItalic, Medium, MediumItalic, Regular, SemiBold, SemiBoldItaliic
Courier Prime 384 Bold, BoldItalic, Italic, Regular
DM Mono 382 Italic, Light, LightItalic, Medium, MediumItalic, Regular
Syne Mono 380 Regular
Oxygen Mono 360 Regular
Share Tech Mono 268 Regular

1Although the Unicode support is superior, the font itself is quite 'blocky' because of its BMP origin.
2The Unicode support might seem high, but this is mostly due to the support of the Korean language.
3This font doesn't seem to handle the non-breaking spaces differently.
4Some characters use a double amount (basically 2 'normal' characters) of width.

The Unicode font called Monospace will cover pretty much all European characters, but lacks the Asian ones.

Consolas is a modern monospace font shipped with Micosoft's products.

An example of a font that covers a wide range of Unicode characters is Arial Unicode shipped with Microsoft Office products.

The ONLY standard install font I have ever found that works with a good range of unicode blocks encoded is...

FONT="-misc-fixed-medium-r-*-*-15-*-75-75-c-90-iso10646-1"
BFONT="-misc-fixed-bold-r-*-*-15-*-75-75-c-90-iso10646-1"

I set Xresources to...

XtDefaultFont:  -misc-fixed-bold-r-*-*-15-*-75-75-c-90-iso10646-1
XTerm*font:     -misc-fixed-medium-r-*-*-15-*-75-75-c-90-iso10646-1
XTerm*boldFont: -misc-fixed-bold-r-*-*-15-*-75-75-c-90-iso10646-1

This Font includes Glyphs for...

Arrows U+2190
Mathematical U+2200
Technical U+2300
Miscellaneous U+2400
Graphics U+2500
Miscellaneous Symbols U+2600
Dingbats U+2700
Braile U+2800

I have tried to use the newer, GTK and Truetype unicode fonts. And while they implement a larger range of glyphs, including he latest emoji. But they mostly suffer when you simply want a fixed-width font that really is FIXED-WIDTH!

The Graphics and Mathematical Blocks for example often do not work with character extensions across multiple lines. You often only have to look at Extended Braces, to see the font and application falling flat on its face, with symbol characters not lining up properly.

Add to that the applications often leave gaps between characters or between lines, making characters 'fuzzy' from over use of scaling and anti-aliasing in the rendering, or not implementing the combining properities for the unicode block "Combining Diacritical Marks for Symbols U+20D0 - U+20FF" and you see the newer fonts are basically a sorry mess!

Basically XTerms, and X-Window "fixed" font (as above) seemed to have put in the time and thought put into making the font work properly as a whole.

Big thanks to Markus Kuhn for such a great effort!

For my notes from researching this see... http://www.ict.griffith.edu.au/anthony/info/data/utf8-demo.txt

Related