LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 15131|回复: 45

en_US.utf8环境下显示输入中文(包括GTK1程序)

[复制链接]
发表于 2005-4-30 12:28:11 | 显示全部楼层 |阅读模式
我一直用en_US.utf8环境,有人喜欢将LANG设为en_US.utf8,而将LC_CTYPE设为zh_CN.utf8,其实这样会使程序优先使用simsun的英文字体来替代sans,不太好看,而用LC_CTYPE=en_US.utf8,就可优先使用其他好看一点的英文字体。我最终的locale为:
  1. [kevin ~]$ locale
  2. LANG=en_US.utf8
  3. LC_CTYPE="en_US.utf8"
  4. LC_NUMERIC="en_US.utf8"
  5. LC_TIME="en_US.utf8"
  6. LC_COLLATE=C
  7. LC_MONETARY="en_US.utf8"
  8. LC_MESSAGES="en_US.utf8"
  9. LC_PAPER="en_US.utf8"
  10. LC_NAME="en_US.utf8"
  11. LC_ADDRESS="en_US.utf8"
  12. LC_TELEPHONE="en_US.utf8"
  13. LC_MEASUREMENT="en_US.utf8"
  14. LC_IDENTIFICATION="en_US.utf8"
  15. LC_ALL=
复制代码

那么,这样一来,输入法是不是会成为问题呢?答案是否定的。fcitx和scim似乎均与locale无关,也就是说它们在en_US.utf8下都可输入中文,只需要做一点点改动:
在/etc/gtk-2.0/gtk.immodules中xim那一行后面的"ko:ja:th:zh“前加上en即可,如下:
  1. "xim" "X Input Method" "gtk20" "/usr/share/locale" "en:ko:ja:th:zh"
复制代码

然而scim的兼容性实在让人头大,所以我选用了fcitx,fcitx在en_US.utf8下输入没问题,不过有一个小问题,就是输入的时候输入条的中文看不出。这个容易解决:
不管你是用startx还是用KDM+Autostart方式启动fcitx,均只需在fcitx启动命令前加上环境变量设定。比如,我用startx方式,~/.xinitrc中相关条目如下:
  1. # Start fcitx:
  2. export XMODIFIERS=@im=fcitx
  3. env LC_CTYPE=zh_CN.utf8 fcitx&
复制代码


[具体实现方式]
1. 添加simsun,tahoma字体(这个方面的帖子太多了,搜索论坛)
注:为了让tahoma+simsun有更好的显示效果,我用了firefly的xft补丁,是从cle下的arch包。
2. 此时,gtk2和kde/qt程序都能很好的显示输入中文,而gtk1程序还是有问题。尽管gtk1不大用了,但还是有相当多兄弟在用xmms(当然可以用BMP代替),gtk1程序在en_US.utf8的中文支持可以作如下处理:
在你放置tahoma和simsun的目录里建立fonts.dir文件,内容为:
  1. 65
  2. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-ascii-0
  3. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-cns11643-1
  4. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-cns11643-2
  5. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-cns11643-3
  6. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
  7. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0
  8. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1
  9. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-iso8859-1
  10. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
  11. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-jisx0208.1990-0
  12. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-koi8-r
  13. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-c-0-ascii-0
  14. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-c-0-cns11643-1
  15. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-c-0-cns11643-2
  16. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-c-0-cns11643-3
  17. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-c-0-gb18030.2000-0
  18. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
  19. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-c-0-iso10646-1
  20. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-c-0-iso8859-1
  21. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
  22. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-c-0-jisx0208.1990-0
  23. simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-c-0-koi8-r
  24. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-adobe-standard
  25. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-ascii-0
  26. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-iso10646-1
  27. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-iso8859-1
  28. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-iso8859-10
  29. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-iso8859-11
  30. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-iso8859-13
  31. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-iso8859-15
  32. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-iso8859-16
  33. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-iso8859-2
  34. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-iso8859-3
  35. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-iso8859-4
  36. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-iso8859-5
  37. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-iso8859-8
  38. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-iso8859-9
  39. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-koi8-e
  40. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-koi8-ru
  41. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-koi8-r
  42. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-koi8-u
  43. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-koi8-uni
  44. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-microsoft-cp1252
  45. tahoma.ttf -microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-tis620-2
  46. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-adobe-standard
  47. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-ascii-0
  48. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-iso10646-1
  49. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-iso8859-1
  50. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-iso8859-10
  51. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-iso8859-11
  52. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-iso8859-13
  53. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-iso8859-15
  54. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-iso8859-16
  55. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-iso8859-2
  56. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-iso8859-3
  57. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-iso8859-4
  58. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-iso8859-5
  59. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-iso8859-8
  60. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-iso8859-9
  61. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-koi8-e
  62. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-koi8-ru
  63. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-koi8-r
  64. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-koi8-uni
  65. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-koi8-u
  66. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-microsoft-cp1252
  67. tahomabd.ttf -microsoft-tahoma-bold-r-normal--0-0-0-0-p-0-tis620-2
复制代码

然后再将其拷贝为fonts.scale.

最后建立~/.gtkrc:
  1. style "gtk-default" {
  2.        fontset = "-*-tahoma-medium-r-normal--11-*-*-*-*-*-iso8859-1,\
  3.                   -*-SimSun-medium-r-normal--12-*-*-*-*-*-iso10646-1,*-r-*"
  4. }
  5. class "GtkWidget" style "gtk-default"
复制代码


重启X,就可看到gtk1支持中文了,由于locale是en_US.utf8,所以界面是tahoma,而且可以显示输入中文。关于XMMS中字体设定,可以将playlist和main window都设成这样:

  1. -microsoft-tahoma-medium-r-normal-*-11-*-*-*-p-*-iso8859-1,-misc-simsun-medium-r-normal-*-12-*-*-*-p-*-iso10646-1
复制代码
 楼主| 发表于 2005-4-30 12:50:52 | 显示全部楼层
贴几张图看看效果:
KDE去掉AA

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-30 12:52:22 | 显示全部楼层
firefox浏览btchina:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-30 12:53:51 | 显示全部楼层
firefox-->sina:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-30 12:54:58 | 显示全部楼层
XMMS播放列表及文件打开对话框中文支持:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-30 12:57:11 | 显示全部楼层
官方的bittorrent,挺好的,就是不能选择文件,不过在资源占用方面的确比azureus好一点,速度不比其他的慢。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-30 13:03:29 | 显示全部楼层
konsole终端字体选用lucida console(windows下考来的),截图中是pacman -S kdegraphics的情况(为了使用ksnapshot, ;) ),这个镜像真快! :thank 呵呵!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2005-4-30 13:17:26 | 显示全部楼层
请教一下,这样的话,gtk1程序是用什么方式描绘字体?freetype?
xmms等程序启动时会不会有什么延迟?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-30 13:26:42 | 显示全部楼层
Post by diony
请教一下,这样的话,gtk1程序是用什么方式描绘字体?freetype?
xmms等程序启动时会不会有什么延迟?


应该是freetype,xorg.conf中不需要启用xtt.
xmms启动没有延迟。
BTW: 我以前在slackware中使用zh_CN.gbk,并load "xtt"后,xmms确实有延迟现象。
回复 支持 反对

使用道具 举报

发表于 2005-5-1 13:24:03 | 显示全部楼层
so good
佩服。。
下半年等我有钱配自己的时候,我也装一个Arch来玩玩
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表