• 当前位置:首页>>FreeBSD系统教程>>FreeBSD中文环境>>FreeBSD 中文化实践
  • FreeBSD 中文化实践
  • FreeBSD 4.7 Release + Xfree86 4.2.1 + gnome 1.4 + OpenOffice 1.0.1 + Chinput3
    (本文中所涉及到的源码请参考 ftp://bsd.starhiway.net/pub/FreeBSD/ )
    经过二十天耐心的资料查询、反复测试,终于可以在FreeBSD上书写文档了,这篇文章就是完全在运行FreeBSD的系统上完成的,请大家与我共同分享使用FreeBSD的乐趣。
    1.让XFree86支持TrueType字体,安装SimSun字体
    即使不打算使用FreeBSD做文本编辑这样的工作,安装SimSun字体也是非常必要的,XFree86自带的中文字体看起来很不习惯。
    随 FreeBSD 4.7 Release 发行的 Xfree86 版本是 4.2.1 ,Xfree86 4.x已经内建支持 TrueType 字体。有两个不同的模块能够起动这个功能:freetype 和xtt。这里使用的是 xtt 模块。在 /etc/X11R6/lib/X11/XF86Config文件中加入:
    Load “xtt”
    安装TrueType字体管理软件ttfm,步骤如下:
    #cd /usr/ports/chinese/ttfm
    #make
    #make install
    为TrueType字体创建一个目录(/usr/X11R6/lib/X11/fonts/TrueType),把windows fonts 目录下的 simsun.ttf 文件拷贝到这个目录。
    进行以下步骤:
    #cd /usr/X11R6/lib/X11/fonts/TrueType
    #ttfm.sh –add xttfm simsun.ttf
    如果将simsun.ttf文件存放在其他目录下,执行ttfm.sh会自动创建 /usr/X11R6/lib/X11/fonts/TrueType 目录,并在这个目录下创建符号链接simsun.ttf,指向simsun.ttf的实际存储位置。执行完ttfm.sh后,在 /usr/X11R6/lib/X11/fonts/TrueType目录下创建了fonts.scale,fouts.dir和encodings.dir文件。
    在/etc/X11R6/lib/X11/XF86Config文件中加入:
    FontPath “/usr/X11R6/lib/X11/fonts/TrueType”
    重新起动X-windows,使用 xlsfonts -fn “*gb*” 列出系统中所有中文字体,如果包括有
    -misc-simsun-medium-r-normal—0-0-0-0-c-0-gb2312.1980-0 等则表明simsun字体安装完成。然后就可以在Mozilla中欣赏一下漂亮的SimSun字体。
    2.设定locale
    根据一些资料,FreeBSD系统对中文的locale支持为zh_CN.EUC,而XFree86只支持zh_CN.gbk,www.freebsdchina.org提供了让XFree86支持zh_CN.EUC的方法。根据这个方法
    下载Xfree86 4.2.0源码,包括X420src-1.tgz,X420src-2.tgz,X420-src3.tgz三个文件和升级到4.2.1的patch包4.2.0-4.2.1-1-freebsd.patch.gz。

    (该源码可从 ftp://bsd.starhiway.net/pub/FreeBSD/distfiles/xc/ 下载)

    使用 tar 解开压缩包。
    使用如下命令将源码升级到4.2.1。
    gzip -d < 4.2.0-4.2.1-1-freebsd.patch.gz | patch -p0 -E
    进入目录xc/nls/XI18N_OBJS,把zh文件复制一个名为zh_CN的文件,然后在这个目录中的Imakefile中加入一行:
    XI18NTarget(zh_CN)
    回到xc目录,重新编译安装整个X系统。
    设定locale为zh_CN.EUC
    c shell修改.cshrc 加入:
    setenv LC_ALL zh_CN.EUC
    setenv LANG zh_CN.EUC
    bash修改.profile 加入:
    export LC_ALL=zh_CN.EUC
    export LANG=zh_CN.EUC
    修改 /usr/X11R6/share/gnome/gtkrc.zh_CN
    将所有的fontset设置修改为:
    fontset = "-misc-SimSun-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0"
    修改 /usr/X11R6/share/themes/gtk/Default/gtkrc.zh_CN 如下:
    style "gtk-default-zh-cn" {
    fontset = "-adobe-helvetica-medium-r-normal--14-*-*-*-*-*-iso8859-1,
    -*-SimSun-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0,*-r-*"
    }
    class "GtkWidget" style "gtk-default-zh-cn"
    重新起动X-win,现在在菜单里应该可以看见中文的菜单了。
    3.安装chinput3
    从ftp://ftp.freebsdchina.org/pub/china-ports/下载 chinput302final.tgz,tar 解压后,进行编译。
    #make
    #make data
    #make install
    #make install-data
    这个版本的源代码还有一些错误。主要如下:
    src/ZWinControl/text目录下的文件zwincontrol_gb.po中有一个重复定义,删除。
    安装时提示/usr/share/locale/zh_TW.Big5/LC_MESSAGES存在,备份后删除再进行安装。
    需要将fonts目录下的字体安装到x-win系统中。创建/usr/X11R6/lib/X11/fonts/chgb目录,将fonts目录下的两个文件拷贝到创建的目录下,并在/usr/X11R6/lib/X11/XF86Config配置文件中加入:
    FontPath "/usr/X11R6/lib/X11/fonts/chgb/"
    在用户目录下的 .xinitrc目录中加入:
    export XMODIFIERS=@im=Chinput
    chinput
    exec gnome-session
    这样在x-win执行其他程序之前起动chinput,就可以在mozilla等可以编辑文件的软件中用Ctrl+Space叫出输入法了。
    将修正后的chinput3上载在 ftp://bsd.starhiway.net/pub/FreeBSD/chinput3/ 上。
    4.安装openoffice.zh_CN
    从ports安装openoffice.zh_CN,编译openoffice需要有足够的硬盘空间(约4G),进入目录/usr/ports/chinese/openoffice.zh_CN/
    #cd /usr/ports/chinese/openoffice.zh_CN
    #make
    由于openoffice倚赖很多其他软件包,ports能够自动下载所需软件包的原文件并进行安装,在他所倚赖的软件包安装完成后,会下载openoffice的源文件并开始编译。但openoffice所依赖的jdk的源代码由于有一些特殊的许可问题,需要手工到相应网站进行下载。openoffice使用了mozilla 1.0.1的源文件,在编译时会出错。将/usr/ports/www/mozilla/ 目录下的所有文件拷贝到/usr/ports/chinese/openoffice.zh_CN/work/mozilla下,再回到/usr/ports/chinese/openoffice.zh_CN下重新make,即可顺利完成编译,编译比较耗时,耐心等待编译完成吧。
    完成编译后,make install安装。
    然后在 x-win 环境下运行 openoffice, 按照提示一路下一步(Next), 就完成了设置。 注意这时的字体很模糊。
    完成了设置后,再次运行openoffice,OK,现在开始修正字体。在菜单工具->选项 里,Openoffice.org->字体替换 选中 使用替换表,在字体里写入 Andale Sans UI,在替换为一栏选择SimSun字体,然后按绿对勾按钮添加。再在前面两个选中框中选中,确定即可。现在菜单的字体完全正常了。
    在添加字体替换时,如果你找不到绿对勾按钮。可能是因为你的屏幕分辨率和字体设置问题,导致那个对话框拉的很长。可以通过设置虚拟屏幕的方式,将屏幕扩大,以便能够显示出那个按钮。
    在/usr/X11R6/lib/X11/XF86Config文件中,对应的显示模式下加入
    Virtual 1600 1200
    如:
    Section "Screen"
    Identifier "Screen0"
    Device "Card0"
    Monitor "Monitor0"
    DefaultColorDepth 16 /* 默认显示颜色深度为16位色 */
    SubSection "Display"
    Depth 1
    EndSubSection
    SubSection "Display"
    Depth 4
    EndSubSection
    SubSection "Display"
    Depth 8
    EndSubSection
    SubSection "Display"
    Depth 15
    EndSubSection
    SubSection "Display"
    Virtual 1600 1200 /* 设定虚拟屏幕大小为1600 * 1200 */
    Depth 16
    EndSubSection
    SubSection "Display"
    Depth 24
    EndSubSection
    EndSection
    附相关配置文件:
    /* XF86Config */
    Section "ServerLayout"
    Identifier "XFree86 Configured"
    Screen 0 "Screen0" 0 0
    InputDevice "Mouse0" "CorePointer"
    InputDevice "Keyboard0" "CoreKeyboard"
    EndSection
    Section "Files"
    RgbPath "/usr/X11R6/lib/X11/rgb"
    ModulePath "/usr/X11R6/lib/modules"
    FontPath "/usr/X11R6/lib/X11/fonts/TrueType/"
    FontPath "/usr/X11R6/lib/X11/fonts/URW/"
    FontPath "/usr/X11R6/lib/X11/fonts/TTF/"
    FontPath "/usr/X11R6/lib/X11/fonts/misc/"
    FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
    FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
    FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
    FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
    EndSection
    Section "Module"
    Load "xtt"
    Load "dbe"
    Load "dri"
    Load "extmod"
    Load "glx"
    Load "pex5"
    Load "record"
    Load "xie"
    Load "xtrap"
    Load "speedo"
    Load "type1"
    EndSection
    Section "
  • 上一篇:FreeBSD中文化全攻略
    下一篇:有关FreeBSD的汉化与使用