January 25, 2014

Ugly Japanese fonts in Emacs on OSX

At some point, when I started to use Japanese in Emacs on my Mac (currently emacs verison 24.3.1) Japanese text turned childlike. It is annoying.

I tracked down the problem: if I do something like M-x list-fontsets and the M-x describe-fontset with a likely candidate, I see something like:

...
  .. 〿 (#x3000 .. #x303F)
    -*-*-*-*-*-*-*-*-*-*-*-*-gb2312.1980-0
        [-apple-Wawati_SC-medium-normal-normal-*-22-*-*-*-p-0-iso10646-1]
    -*-*-*-*-*-*-*-*-*-*-*-*-jisx0208*-*
...
㈀ .. 龯 (#x3200 .. #x9FAF)
    -*-*-*-*-*-*-*-*-*-*-*-*-gb2312.1980-0
        [-apple-Wawati_SC-medium-normal-normal-*-22-*-*-*-p-0-iso10646-1]
    -*-*-*-*-*-*-*-*-*-*-*-*-jisx0208*-*
...

You can also do something similar by placing the cursor on an ugly font, and do a M-x describe-char and it will show the font that displays the character. In general, the fonts that are used to actually display something is set by the fontset, since not every font can cover every possible character that can be in a buffer.

What is this Wawati? Open up Font Book on the Mac, and take a look. It is some ugly Chinese children's font or something.

Why does that get added as the default font to display characters in the ranges x3000 - x303F and x3200 - x9FAF? That is a lot of characters.

Based on unicode-fonts.el it sounds like the default font you get for an unknown symbol that is non-ascii is pretty random. So this unicode-fonts.el package tries to set some default mappings based on unicode character ranges. I installed some of the recommended fonts from there. I also had to install font-utils. And also ucs-utils. And also list-utils.

Once all of those were installed, Japanese fonts now look a lot better.




Comments

Provide your email address when commenting and Gravatar will provide general portable avatars, and if you haven't signed up with them, a cute procedural avatar with their implementation of Shamus Young's Wavatars.

Comments have now been turned off for this post