[分享]zh_CN.utf-8下emacs21中文输入解决方案

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
jackie214
帖子: 5
注册时间: 2006-06-19 13:12

[分享]zh_CN.utf-8下emacs21中文输入解决方案

#1

帖子 jackie214 » 2006-06-27 10:33

适用情况:ubuntu6.06,zh_CN.utf-8下,emacs用scim作为输入法,C-SPC调用输入法。
很多朋友问说emacs用C-SPC调不出输入法,然后很多解决方法说要改locale,其实不用,主要是X下面中文字体字号和英文字体字号不匹配所致。
本人经过实践,以下方式可以解决问题,在emacs中调用scim输入法。
1、安装文泉驿字体(不安装也可以,文泉字体中文有小字体,系统默认的Fangsong ti只有16号,太大了)
安装过程可以参考文泉驿本身的文档INSTALL.zh.gb2312,下面做部分引用
== PCF/BDF格式字体的安装方法 ==

1.下载

您首先需要从下面的我们在sourceforge站点地址下载安装包,下载页面为:

http://sf.net/project/showfiles.php?gro ... _id=156288

选择最新发布的版本和您所想要的格式,然后把您的安装包保存到一个临时的目录,比如
/tmp

2.解压缩

下载的包一般是用tar和gzip所压缩的,使用下面的命令来解压缩

gunzip wqy-bitmapfont*.tar.gz
tar xvf wqy-bitmapfont*.tar

或者

tar zxvf wqy-bitmapfont*.tar.gz

3.移动 (可选项)

所有的文件都将被解压缩到目录一个叫作wqy-bitmapfont的子目录,
您可以把把这个目录移动到您想安装字体的目录,一个比较好的建议是
/usr/share/fonts/Chinese/wqy-bitmapfont

为了移动目录,您需要使用"su"或者"sudo"来获取root权限。(如果您
没有root权限,请查看下面的第六小节)

4.设置字体路径

现在您需要告诉X窗口系统去找所安装的字体,假设您把字体安装到了这个目录
/usr/share/fonts/Chinese/wqy-bitmapfont/
您需要运行如下的命令:
cd /usr/share/fonts/Chinese/wqy-bitmapfont/
rm fonts*
mkfontdir .
cp fonts.dir fonts.scale
xset +fp /usr/share/fonts/Chinese/wqy-bitmapfont/

最后一个命令是把字体目录添加到X窗口字体路径列表。为了永久性的
添加这个目录,您需要把下面一行

"/usr/share/fonts/Chinese/wqy-bitmapfont,"

添加到/etc/X11/fs/config这个文件中,添加的位置是
"catalogue =/usr/lib/X11/fonts/misc/"这一行的下面。

如果您的系统中没有这个文件,您可能需要通过修改/etc/X11/xorg.conf
或者/etc/X11/XF86Config-4来添加这个目录

......
Section "Files"
......
FontPath "unix/:7100"
......
FontPath "/usr/share/fonts/Chinese/wqy-bitmapfont"
EndSection
......

到这里为止,您已经完成了对X核心字体的配置工作。大多数不太老版本
的Linux图形程序都支持fontconfig。为了让fontconfig使用这个
点阵字体,您需要执行

fc-cache -f -v

现在重新启动一下您的X窗口,您应该可以在字体选择框中看到文泉驿
点阵宋体的名字了。

5.测试

为了检测字体是否成功安装,可以使用下面的命令

/usr/X11R6/bin/xlsfonts | grep wenquanyi

您将会看到类似下面的输出:
-wenquanyi-wenquanyi bitmap song-bold-r-normal--0-0-75-75-p-0-iso10646-1
-wenquanyi-wenquanyi bitmap song-bold-r-normal--12-120-75-75-p-80-iso10646-1
-wenquanyi-wenquanyi bitmap song-bold-r-normal--13-130-75-75-p-80-iso10646-1
-wenquanyi-wenquanyi bitmap song-bold-r-normal--15-150-75-75-p-80-iso10646-1
-wenquanyi-wenquanyi bitmap song-bold-r-normal--16-160-75-75-p-80-iso10646-1
-wenquanyi-wenquanyi bitmap song-medium-r-normal--0-0-75-75-p-0-iso10646-1
-wenquanyi-wenquanyi bitmap song-medium-r-normal--12-120-75-75-p-80-iso10646-1
-wenquanyi-wenquanyi bitmap song-medium-r-normal--13-130-75-75-p-80-iso10646-1
-wenquanyi-wenquanyi bitmap song-medium-r-normal--15-150-75-75-p-80-iso10646-1
-wenquanyi-wenquanyi bitmap song-medium-r-normal--16-160-75-75-p-80-iso10646-1
2、配置~/.Xresources文件,让emacs用上刚才的字体。没有安装文泉的朋友可以把字体改成自己需要的字体。系统支持的字体可以用xlsfonts命令查看。在下面的设置中,除了中文之外的字体都被设置成fixed,需要修改的朋友请自行修改,如果觉得英文字体不好可以增加一个"ascii:"的项自己配置一个字体。
参考文章:
about18274.html

代码: 全选

Emacs.Font:fontset-chinese
   Emacs.Fontset-0:-*-fixed-medium-r-*-*-16-*-*-*-c-*-fontset-chinese,\
   chinese-gb2312:-*-wenquanyi bitmap song-medium-*-normal--16-*-*-*-*-*-iso10646-1,\
   chinese-big5-1:-*-wenquanyi bitmap song-medium-*-normal--16-*-*-*-*-*-iso10646-1,\
   chinese-big5-2:-*-wenquanyi bitmap song-medium-*-normal--16-*-*-*-*-*-iso10646-1 
写完后xrdb -load ~/.Xresources一下再运行emacs

关于字体格式的参考说明:
参考文章:
http://www.linuxfans.org/nuke/modules.p ... ic&t=82950
about1013.html

-制造商-字体名称-粗体-斜体-字符集宽度-附加说明-像素宽度-pt宽度-水平分辨率-垂直分辨率-间距-平均宽度-注册字符集-基本套
其中,内容支持用*?等匹配。
系统支持的所有字体可以用命令xlsfonts查看。
例子:
-cclib-song-medium-r-normal-jiantizi-16-160-75-75-c-160-gb2312.1980-0



这样设置完,emacs的字体好看多了,可以拿去看小说了;),祝大家玩得开心。
sybase2008
帖子: 109
注册时间: 2006-01-23 16:41

#2

帖子 sybase2008 » 2006-06-27 18:06

切换功能能用了,不过输入的是方框亚!
jackie214
帖子: 5
注册时间: 2006-06-19 13:12

#3

帖子 jackie214 » 2006-06-27 19:15

sybase2008 写了:切换功能能用了,不过输入的是方框亚!
看看是不是没有装文泉驿字体,例子里面的字体是文泉驿的。
sybase2008
帖子: 109
注册时间: 2006-01-23 16:41

#4

帖子 sybase2008 » 2006-06-27 19:19

装了亚,可是还是不行,不过可以切换中英文,实在让我佩服!!

温泉看起来不舒服亚,我又换回圆体了,还是这个看着舒服,不过换回圆体就又无法切换了
jackie214
帖子: 5
注册时间: 2006-06-19 13:12

#5

帖子 jackie214 » 2006-06-27 19:25

其实是这样的,估计scim的输入一定要字体像素宽度是16的字体,然后其他的字体(ascii等)也是用16的字体。在上面的.Xresource里面设置字体大小都是16就可以了。在emacs里面可以用M-x describe-fontset来查看当前的字体font设置。在xlsfonts可以找到的字体都可以用。
Magic_M
帖子: 8
注册时间: 2006-12-23 22:56

#6

帖子 Magic_M » 2007-01-22 23:05

在emacs21下确实可以调出scim,文泉字体也很漂亮,但在中文支持更好的,emacs23就不行了,ctr+space not define,这就奇怪了

看来我得21和23版一起用了
distar
帖子: 140
注册时间: 2006-08-06 16:33
来自: czz028@163.com
联系:

#7

帖子 distar » 2007-02-02 13:50

我看到的中文也是方框,真是郁闷!
回复