Emacs字体调整
目前我习惯的Emacs字体配置是12倍的Fixedsys显示英文和数字,16倍的微软雅黑显示中日韩即CJK文字. 在Surface Pro上面非常完美,但是并不是每个环境都能很好的支持这个配置.
elisp代码如下
(defun font-set-sp () (set-default-font "Fixedsys Excelsior 3.01 12") (dolist (charset '(kana han symbol cjk-misc bopomofo)) (set-fontset-font (frame-parameter nil 'font) charset (font-spec :family "Microsoft Yahei" :size 16))) )
最近在另一台PC上面试图建立Emacs环境,系统跑的是WIN7,虽然仍然是使用"Fixedsys Excelsior 3.01"这个第三方字体,但是每次试图设置默认字体的时候,实际显示效果会显得肥了一圈,无论怎么都调整不好.
试了其他几种字体,最后选择Consolas作为英文和数字字体,CJK仍然用雅黑,但是又出现另一个问题,即我需要一个CJK文字占据2个英文字符的宽度,这个对Emacs table非常重要.但是不同字体之间对字符宽度的定义不一样,如果用Consolas 12号字体显示英文,那么雅黑就不能用16号. 经过多次测试,最后确定的配置如下
(defun font-set-pc () (set-default-font "Consolas 12") (dolist (charset '(kana han symbol cjk-misc bopomofo)) (set-fontset-font (frame-parameter nil 'font) charset (font-spec :family "Microsoft Yahei UI" :size 22))) )
最后将原来的font-set函数改为:
(defun font-set () (font-set-sp) ;(font-set-pc) )
在不同的环境注释掉相应的行即可.