让emacs23使用xft字体

Vim、Emacs配置和使用
回复
头像
karron
帖子: 6226
注册时间: 2005-06-11 14:03
来自: 不明真相的群众
联系:

让emacs23使用xft字体

#1

帖子 karron » 2006-09-24 21:24

最新的emacs23增加了xft字体支持,可以使用漂亮的字体了,并且可以AA,看起来圆滑,非常漂亮.我之前编译了一个,发现英文字体非常漂亮.可惜,中文字体是非常丑陋的粗体,让人不忍卒读.我再次发出了我为什么不是外国人的哀号.这种哀号,在我使用计算机的日子里面经常发出.唉.

日子就这样过去了几个月,我想再次编译一下最新的版本,结果发现至少在中文字体上面,没有任何改进.但是在水木的emacs版,看到 FlawZero@newsmth说有方法可以使用系统漂亮的中文字体.于是在他的方法下面,非常惊险地达到了这个目的.为什么说惊险呢,因为中途我差点绝望,因为最后连一个中文都显示不出来了....

不过最终还是好了,也用上了漂亮的中文字体.这里我把我的过程写在这里,供大家参考.

编译最新的emacs23

这里我就不详述了, 有很多的文章已经介绍了.这里推荐几篇. zhan@ubuntu-cn 的一篇,很详细. 注意的是,在执行 ./configure 的时候一定要用这样的参数 ./configure --prefix=/usr --enable-font-backend --with-xft --with-freetype --with-gtk ,加上xft等支持.

调试emacs23的中文字体

emacswiki 上的这篇文章讲述了如何让emacs支持xft. 编译完成之后我们用 emacs --enable-font-backend --font "Bitstream Vera Sans Mono-10" 来启动emacs,打开一个文件,就可以看到非常漂亮的英文了.可是中文会很丑.

好本文的重点来了,如何调教中文字体.

首先用下面的python脚本,把一些字体unlink掉.

代码: 全选

#!/usr/bin/env python

import os

FONTPATH = '/usr/share/X11/fonts/misc' #'/usr/share/fonts/X11/misc'

def process(line):
    tokens = line.split(' -')
    if len(tokens) > 1:
        parts = tokens[1].split('-')
        if len(parts) > 1 and not parts[-2].startswith('iso'):
            return os.path.join(FONTPATH, tokens[0])

fontlist = [process(line) for line in open(os.path.join(FONTPATH, 'fonts.dir'))]
fontlist = filter(None, fontlist)
for font in fontlist:
    os.unlink(font)
os.system('mkfontdir %s' % FONTPATH)
保存之后注意加上可执行的属性,然后用sudo执行.

接着我把 xorg里面的fontpath全部注释掉了,这步不知道是否有用. 然后在emacs选中一个字,用 M-x describe-char ,取得字体信息,比如 mincho什么的.然后 apt-cache search 这个字体,把这个字体卸载了,然后再打开emacs看看字体怎么样,如果不满意,就继续进行. 我卸载的字体有 ttf-kochi-gothic , ttf-kochi-mincho .

我现在是 ar pl shanheisun un ,在我的LCD上看起来还行.就没有继续尝试了.

下面是截图一张,可以看看效果.如果使用的是方正黑体,微软雅黑,效果可能会更好些.
附件
snapshot2.png
我的blog,关于技术,软件,linux,vim <---- 所有博客均被河蟹.
头像
karron
帖子: 6226
注册时间: 2005-06-11 14:03
来自: 不明真相的群众
联系:

#2

帖子 karron » 2006-09-24 21:40

我接下去继续删除字体,现在emacs使用的就是MS YaHei了,更漂亮了.我删除的字体列表

ttf-baekmuk
ttf-arphic-uming
ttf-kochi-mincho
ttf-kochi-gothic
我的blog,关于技术,软件,linux,vim <---- 所有博客均被河蟹.
头像
karron
帖子: 6226
注册时间: 2005-06-11 14:03
来自: 不明真相的群众
联系:

#3

帖子 karron » 2006-09-25 9:02

注意的是,一定要根据自己机器上的字体来一个个删除,配置.否则可能连一个中文都显示不出来. 删除字体的时候可能会把ubuntu-desktop,kubuntu-desktop删除,没有关系,这两个只是meta包,没有实际用途,只是用来方便升级等的依赖空包.

在删除的时候最好把自己的操作都记录下来,方便还原. 如果想回到原来的状态,可以直接 sudo apt-get install kubuntu-desktop 或者ubuntu-desktop ,这个时候基本上会把你删除的字体又重新安装回来.
我的blog,关于技术,软件,linux,vim <---- 所有博客均被河蟹.
头像
zhan
帖子: 1880
注册时间: 2005-08-15 0:04
来自: 南7技校

#4

帖子 zhan » 2006-09-25 12:36

unlink 之后再用 xft 字体的时候就发现中文一个都没有了...
诡异。查看字体的时候显示是 WenQuanYi 的。
飞得高,飞得低,学习再学习,多少大秘密!
http://zhan.blog.ubuntu.org.cn
头像
karron
帖子: 6226
注册时间: 2005-06-11 14:03
来自: 不明真相的群众
联系:

#5

帖子 karron » 2006-09-25 13:16

要用启动参数启动.我中途也遇到过这样的情况,我差点放弃了.
我的blog,关于技术,软件,linux,vim <---- 所有博客均被河蟹.
头像
zhan
帖子: 1880
注册时间: 2005-08-15 0:04
来自: 南7技校

#6

帖子 zhan » 2006-09-25 13:25

是这样启动的,更诡异的来了..
我删除文泉驿,然后按照步骤删除了两个字体,效果是有了,发现很淡,一看是 simsun..
不爽他的英文,同时发现系统中的字体几乎都用的是文泉驿,于是把文泉驿装回来,一看,好了。
真奇怪...
附件
emacs 使用 wqy 字体
emacs 使用 wqy 字体
emacs.png (10.32 KiB) 查看 3251 次
上次由 zhan 在 2006-09-25 13:36,总共编辑 1 次。
飞得高,飞得低,学习再学习,多少大秘密!
http://zhan.blog.ubuntu.org.cn
头像
zhan
帖子: 1880
注册时间: 2005-08-15 0:04
来自: 南7技校

#7

帖子 zhan » 2006-09-25 13:27

晕,附图怎么这样了...

对了 karron 知不知道如何配置自动使用 xft 字体。我是说不是每回都要通过命令行 --enable-font-backend 把...
怎么设置一下直接 emacs 启动..
飞得高,飞得低,学习再学习,多少大秘密!
http://zhan.blog.ubuntu.org.cn
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#8

帖子 eexpress » 2006-09-25 13:51

我觉得一个软件,需要删除系统的其他配置,比如字体,是不正常的。说明软件不成熟。或者不规范。
应该找出一个设置字体的方法。
● 鸣学
头像
karron
帖子: 6226
注册时间: 2005-06-11 14:03
来自: 不明真相的群众
联系:

#9

帖子 karron » 2006-09-25 14:20

zhan, 你关注一下这篇文章 http://www.emacswiki.org/cgi-bin/wiki/XftGnuEmacs ,里面也有人在问. 我是做的一个快捷方式. 我这边的英文字体就是启动参数里面传递的字体,中文现在是 微软雅黑. 感觉不错.

eex,这个是emacs23的问题.目前这个方法只是一个权宜的方法而已.
我的blog,关于技术,软件,linux,vim <---- 所有博客均被河蟹.
头像
zhan
帖子: 1880
注册时间: 2005-08-15 0:04
来自: 南7技校

#10

帖子 zhan » 2006-09-25 15:02

效果不是很理想,貌似英文必须要 等宽字体,否则有些显示不正常..
还是不弄了,关注...
飞得高,飞得低,学习再学习,多少大秘密!
http://zhan.blog.ubuntu.org.cn
头像
karron
帖子: 6226
注册时间: 2005-06-11 14:03
来自: 不明真相的群众
联系:

#11

帖子 karron » 2006-09-25 16:09

Bitstream Vera Sans Mono 这个字体很好啊.我的terminal,vim,emacs什么的都是用的这个字体,等宽的.wqy现在还没有等宽字体.以后据说会有.
我的blog,关于技术,软件,linux,vim <---- 所有博客均被河蟹.
zhwxie
帖子: 1
注册时间: 2007-06-11 11:07

#12

帖子 zhwxie » 2007-06-11 11:09

:oops: 为什么我看不到图啊?
回复