Anti-aliased emacs

Volume 9, Issue 80; 17 Aug 2006; last modified 08 Oct 2010

“I can see clearly now…”

Yesterday, Tim Bray compared his experiences with Ubuntu Linux and OS X. Among the points in OS X's favor was the fact that OS X's Emacs uses anti-aliased fonts which are an “optional extra” on Linux and that Tim “wasn't willing to do the sources.list wrangling to get the bleeding-edge allegedly-anti-aliased Emacs.”

Heh. I've never bothered to follow the instructions to get anti-aliased fonts in Emacs either. But could it really be that big a deal?

You know I had to find out, right?

Getting, building, and installing Emacs with Xft support was mostly a doddle (one line of the “further patch” that Edd points to needs to be applied by hand as the sources have drifted a bit since the patch).

The results are pretty dramatic.

Emacs “normal” and “anti-aliased”

There's no question that the anti-aliased version looks better, but I'm not sure I find the distinction all that significant. I'm trying it for a while and I'll let you know.

The tricky bit is going to be finding an ideal replacement for “-adobe-courier-medium-r-normal-*-14-100-*-*-*-*-iso10646-1”, which is what I used to use. “Bitstream Vera Sans Mono-10” isn't bad, but it's slightly narrower and taller which means I get fewer lines to the screen. It's also missing some Unicode characters that I'd prefer to have ("“", "”", and "…", at least). Anyone have a better suggestion for a monospace font? (I'm quite willing to buy one if necessary).

Also in the “reason to be concerned” column, this anti-aliased Emacs is version which clearly behaves in some slightly different ways from 21.x. I couldn't get Gnus to work at all because it wants a bunch of different font families and colors (ok, maybe that was to be expected), the on-screen font highlighting is a bit flakey, the Emacs XML parser seems to have a different internal data structure, and I've seen a couple of other weirdnesses.

But life on the bleeding edge is fun, right?

Off topic: Another point Tim put in OS X's favor was Flash support, which I found amusing. The first extension I install for Firefox is the one that turns off that irritating noise. In fairness though, it is necessary for some sites (which I think is a pity, but that's neither here nor there).


Unfortunately, the Unicode characters are not missing from Bitstream Vera, but (IIRC) there is no code to display anything except ASCII (Latin-1?) in the xft patch.

There's a new branch emacs-unicode-2 (or is it unicode-xft?) in CVS that might be better in this regard.

—Posted by Martin Kretzschmar on 17 Aug 2006 @ 08:48 UTC #

There's a better version of an Xft-enabled emacs available now.

You can get it by following the instructions on:


—Posted by Duncan Mak on 17 Aug 2006 @ 09:29 UTC #

The Flash limitation is architecture specific; there's no Flash plugin for amd64. The only thing I really miss here is Homestar Runner, but the kicker is there's no Web Start in Sun's 64 bit Linux VM offerings, either. There are two solutions I know of: one is to not install the 64-bit version of your Linux distribution in the first place, and the other of which is to use the linux32 wrapper utility in combination with a 32-bit browser and JRE (and Flash) installation (there's a howto on the Ubuntu forums that covers this in detail). The former is the fate that befell the mighty Ultra 20 I use to develop JWS apps (ok, app).

The linux32 route worked well enough for those specific applications when I tried it, but I eventually gave up on that arrangement because the 32 bit Firefox was unable to use the 64 bit plugins that come with the distribution (e.g. archive manager).

—Posted by Adam Constabaris on 17 Aug 2006 @ 09:43 UTC #

Right you are! The emacs-unicode-2 branch does display all the glyphs (some of them are damn ugly, but that's a different issue). And despite someone else's report that it's not doing subpixel rendering, it appears to be doing so for me. Sweet.

Now I'll have to look more closely at some of the other annoyances: emacs is using xml-mode instead of nxml-mode, despite my ~/.emacs configurations to the contrary and some underlying change has broken n3-mode. Ahh, the bleeding edge.

Thanks, guys!

—Posted by Norman Walsh on 17 Aug 2006 @ 09:56 UTC #

You might also want to have a look at the Deja Vu fonts, which are the Open Source community's continuing extensions to Bitstream (including better Unicode coverage and some glyph fixes). To my untrained (and not particularly discerning) eye, Deja Vu is a slight improvement on Bitstream, although it's standard weights are, if anything, a bit lighter again than Bitstream, so that may annoy you.

I'm not a Debian user nor an emacs user, so I'm not sure how smooth the integration will be (or whether it just ends up proving Tim's inadvertent point that Emacs users have to suffer more). Fedora has had Deja Vu packages available as an extra download for a few months now, so I wouldn't be surprised if it's just an apt-get away in Debian land, too.

—Posted by Malcolm Tredinnick on 18 Aug 2006 @ 01:15 UTC #

Take a look at the Monospace/Fixed Width Programmer’s Fonts. After Vera Sans Mono, which I consider the most gorgeous fixed width font of all time, I am also fond of Anonymous. Andale Mono runs a distant third – not because I don’t like it much, but simply because it just can’t compete in that pile.

May wanna take these on a spin.

—Posted by Aristotle Pagaltzis on 18 Aug 2006 @ 11:31 UTC #

Reading the full-text version of the feed in Opera, the image didn't appear (although it clearly appears on the Web page). I wonder if there is a relative path issue in the feed. Possible? Thanks, Cheers, Tony.

—Posted by Anthony B. Coates on 18 Aug 2006 @ 05:17 UTC #

Opera ignores xml:base on feed entries?

—Posted by Norman Walsh on 18 Aug 2006 @ 05:26 UTC #

For some reason I find anti-aliasing to be hard on the eyes with the smaller fonts I prefer. Maybe that'll change with an LCD and its subpixeling.

I always find myself going back to X's 'fixed' font, aka '6x13' and '-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1'.

—Posted by Ken MacLeod on 19 Aug 2006 @ 03:03 UTC #

Here's the package pre-built for Dapper (currently downloading, so I haven't tested it yet):

—Posted by david on 24 Aug 2006 @ 02:39 UTC #

For about four years I used Andale Mono inside emacs. I was mostly happy with it. I think it is vector based (not bitmapped), but I'm not sure. At small point sizes, YV is hard to distinguish.

A few months ago I switched to Dina. Bitmapped, but I like it better. If you try it, this might help:

(setq default-frame-alist (append default-frame-alist ; '((font . "-*-Andale Mono-normal-r-*-*-11-*-*-*-c-*-iso8859-2"))))) '((font . "-raster-Dina-normal-r-normal-normal-10-75-96-96-c-*-iso8859-1"))))

—Posted by Kevin Wright on 28 Aug 2006 @ 02:25 UTC #

I use very clean bitmap font "Fixed Etl 14pt" in emacs that looks cleaner than any antialised font, especially on LCD monitors. I would be glad to always have option to use this bitmap font.

See: screenshot

—Posted by Patrick Jakubowski on 16 May 2009 @ 11:20 UTC #