views:

2680

answers:

7

I'm looking for a good programming font that lets me add comments and string literals in Unicode, usually Japanese and Chinese along with some Latin and Cyrillic languages.

So far the situation seems to be "complete, monospace, free, pick 2" and Google is failing me with this (maybe because there are no good ones?).

The best I found is Arial Unicode but it's not monospace, which is a big nuisance for me and the editors I use. Not to mention Python indentation when I'm coding Python.


(Links, edits are welcome)

+7  A: 

How about Consolas? Should be lying around on most windows boxes by now.

If not it can be downloaded here:

http://www.microsoft.com/down...lang=en

It does look ugly without ClearType enabled though.

Iain M Norman
Another vote on this one. It doesn't look all that bad without CT.And there is also a unix-pandan, Inconsolas or something like it (I never remember font names).
ldigas
Consolas covers only Latin, Greek and Cyrillic. It's a beautiful font but it doesn't cut it for me. Forces me to use multiple fonts, which is no-go for some editors.
nachik
Inconsolata: http://www.levien.com/type/myfonts/inconsolata.html
Constantin
+6  A: 

The best I've found is DejaVu Sans Mono which is a Unicode expansion of Bitstream's Vera Sans Mono.

I'm not sure there are any 'complete' fonts, so I think you'll have to deal with a patchwork of fonts.

Douglas Leeder
+8  A: 

Unicode is big. Really big. You just won't believe how vastly hugely mind-bogglingly big it is. I mean, you might think it's a long way down the codepage to ü, but that's just peanuts to Unicode.

I really doubt there's any font in the world (monospaced or not) that has "complete" Unicode. The best you can do is find a few monospaced fonts that, together, cover the space you're interested in, and make sure your editor is set up to use them.

Ken
"You just won't believe how vastly hugely mind-bogglingly big it is..." - been reading the Guide, have we ? :)) (I've never seen the word "mind-bogglingly" except in that book) :))
ldigas
I believe it's big and I don't mind it being big :)I'd settle for something as complete as Arial but monospace.
nachik
+1, you won't find a font that covers *all* of Unicode including the weird non-BMP stuff. The best you'll find are Japanese fonts, which tend to contain things like Cyrillic that are also in Shift-JIS. See eg. Microsoft's default Japanese UI font ‘Gothic’.
bobince
However, this can be a real compromise in practice as Latin letters made to fit the kanji square can be much too large and ugly. Do you *really* need monospace even for non-Latin characters? You'll be able to get a much prettier display by compromising on this.
bobince
I reckon monospace is hard for Arabic and some others, but my main needs are Latin subsets, Cyrillic, CJK (Chinese-Japanese-Korean).Arial Unicode covers all this then some. I'd like something like that but monospace. Gothic, Mincho are not Chinese-complete. Simsun, Mingliu etc are not jp-complete.
nachik
There can't be any font that covers all of Unicode, since Unicode has onepointsomething possible code points (400k assigned or so) and OpenType only supports 65k glyphs per font :)
Joey
A: 

Actually I find monospaced fonts to be a nuisance when I have to read them so I use Tahoma or even Georgia for my source code. I have a very verbose coding style (an instance of type AstractModemConnector is named abstractModemConnector) so my source code looks almost like English and is perfectly readable with a proportional font.

Bombe
I take it you don't ever use Python? ;)Even when coding other stuff, I just like having my stuff aligned.I use vim mostly, or gvim. I also use Komodo and Eclipse every now and then.
nachik
The language doesn’t matter, indenting with four space characters takes up a certain amount of space, eight characters use double that amount. Unless of course you are implying that Python is very cryptic and having a proportional font is of no use because you can’t read Python fluently anyway. :)
Bombe
Well I find having to read Chinese a nuisance but that's what the question asked for. :-)
Ken
I use proportional fonts for Python coding all the time, don't see any problem with it. You'd need spaces to line up if you were doing that style of line-breaking where you try to align with the above opening bracket (or whatever), but that has a whole bunch of other problems too, so best avoided...
bobince
+2  A: 

Before Consolas, I always used Andale Mono as my programmer font. There's a free download available.

GvS
A: 

I'm trying to answer this question for myself, for use in Eclipse editor.

MS ゴシック (MS Gothic) is what I'm currently trying, and that seems to be pretty good for the Japanese characters I'm dealing with. Included in Windows since 2000.

Craig McQueen
+2  A: 

GNU Unifont is a monospaced, bitmapped font with complete coverage of the Basic Multilingual Plane as defined in Unicode 5.1. It is also avaiable in True Type format.