如何为Emacs中的一组特定Unicode代码点选择要显示的特定字体?

时间:2013-07-04 03:51:49

标签: emacs fonts

我正在使用: GNU Emacs 24.3.50.1 (i386-apple-darwin11.4.2, NS apple-appkit-1138.51) of 2013-05-27 on Celestra.local

我可以显示中文字符,但它们使用的是“Song”字体,其字体难以阅读(类似于serif字体)。 如何告诉Emacs选择要显示中文字符的特定面?所有ASCII字符都显示在Inconsolata中。

我查看了EmacsWiki:FontSets并将其添加到我的.emacs文件中:

(set-fontset-font "fontset-standard"
                  (cons (decode-char 'ucs #x4E00)
                        (decode-char 'ucs #x9FFF))
                  "-*-SimHei-*-*-*-*-14-*-*-*-*-*-iso10646-1")

但我的中文字符静止显示为默认的后备字体。

1 个答案:

答案 0 :(得分:1)

尝试使用“fontset-default”而不是“fontset-standard”,因为fontset-default将是所有未指定更具体内容的字体集的后备。

我也会使用脚本名称而不是字符范围,但两种方法都可以使用:

(set-fontset-font "fontset-default" 'han "SimHei-14")

您可能需要添加其他脚本,例如'cjk-misc以进行全面覆盖。