zhcon 一个快速地外挂式CJK(中文/日文/韩文)的多内码平台
下载源代码、编译、安装
最新版本的源代码可以访问软件下载。如果下载的是一个源码包,以v0.2为例,文件名为zhcon-0.2.tar.gz。
首先将源代码解开到一个临时目录:
tar zxf zhcon-0.2.tar.gz -C /tmp
cd /tmp/zhcon-0.2
然后运行configure脚本检查系统编译环境,创建Makefile。
./configure
这时屏幕上会出现很多检测信息,如果没有问题的话接着执行make开始编译源代码。
make
编译完成后切换到root用户执行make install安装可执行文件并删除临时目录。
su
make install
cd ..
rm -rf /tmp/zhcon-0.2
至此,zhcon已经成功安装到您的系统中。在控制台执行zhcon就能进入中文环境。
zhcon
如果您是第一次使用zhcon,可能还需要下载一些字体文件。详细的配置方法见后。
如果您想卸载zhcon请以root身份登陆并执行下面的命令,就能完成卸载。
make uninstall
如果您已经对zhcon的缺省设置很满意,就可以开始享受了。如果您还想对zhcon做个性化的设置,或做进一步的研究,那么,请继续阅读下面的内容。
设置显示模式
要显示中文,首先要使控制台进入图形状态。zhcon目前支持FrameBuffer,libggi,vga三种图形驱动。
FrameBuffer,可以译作“帧缓冲”,有时简称为fbdrv,基于fbdrv的console也被称之为fbcon。这是一种独立于硬件的抽象图形设备。FrameBuffer的优点在于其高度的可移植性、易使用性、稳定性。使用Linux内核的FrameBuffer驱动(vesafb),可以轻松支持到1024X768X32bpp以上的分辩率。而且目前可得到的绝大多数linux版本所发行的内核中,已经预编译了FrameBuffer支持,通常不需要重新编译内核就可以使用。所以FrameBuffer也是zhcon推荐使用的驱动方式。
进入FrameBuffer可以简单地在系统启动时向kernel传送vga=mode-number的参数来激活FrameBuffer设备,如:
lilo:linux vga=305
将会启动1024x768x8bpp模式。
色彩 |
640x400 |
640x480 |
800x600 |
1024x768 |
1280x1024 |
1600x1200 |
4bits |
? |
? |
0x302 |
? |
? |
? |
8bits |
0x300 |
0x301 |
0x303 |
0x305 |
0x307 |
0x31C |
15bits |
? |
0x310 |
0x313 |
0x316 |
0x319 |
0x31D |
16bits |
? |
0x311 |
0x314 |
0x317 |
0x31A |
0x31E |
24bits |
? |
0x312 |
0x315 |
0x318 |
0x31B |
0x31F |
32bits |
? |
? |
? |
? |
? |
? |
要使linux缺省进入FrameBuffer,可以修改/etc/lilo.conf,加入一下语句:
vga=0x303
退出编辑,执行:
lilo -v
重新启动linux,可以使其进入800x600的256色模式。
libggi,libggi是一个跨平台的绘图库。在Linux上,libggi是通过调用FrameBuffer或svgalib来完成图形操作的,可能速度速度比较慢。但在某些不支持FrameBuffer或是vga的系统上使用libggi仍然是一种不错的选择。
要使用libggi,需要设置GGI_DISPLAY环境变量,例如:
在.bash_profile中加入export GGI_DISPLAY=display-fbdev:-noinput
将使用libggi提供的接口来完成图形输出(使用FrameBuffer)。更详细的信息请参阅libggi的文档。
vga,如果您的内核并没有编译进对FrameBuffer的支持,那么可以使用内建的vga驱动来使显目工作在640x480x16色的模式下。因为vga驱动是直接对显卡上的寄存器操作,所以这种方式的移植性很差,速度也比较慢。
系统启动时会按以下顺序来选择图形驱动:libggi(如果设置了环境变量GGI_DISPLAY),framebuffer,vga.
多内码支持
多内码平台,zhcon目前支持GB2312,GBK,BIG5,JIS,KSCM等多种内码。在系统运行时可以通过热键CTRL-F1到CTRL-F5在以上几种编码方式间自由切换。
另外,还有一个内码自动转换的特性。zhcon可以在GB2312和BIG内码之间自动识别、转换。使用CTRL-F9可以在以下几种方式下切换:
manual,需要手工切换内码
auto,系统自动识别GB2312和BIG5码
auto-gb,系统自动识别GB2312和BIG5码,并使用简体字库来显示汉字
auto-big5,系统自动识别GB2312和BIG5码,并使用繁体字库来显示汉字
注意:内码自动识别功能仅适用于GB2312和BIG5之间的自动转换和识别。
多点阵字体支持
与其它的控制台中文平台一样,zhcon使用点阵字体显示汉字。目前,zhcon使用一种在标准的Linux PSF字体格式的基础上扩展了的BPSF格式来存放字库。对该格式的详细描述可参阅doc/bpsf.txt。
当前版本的zhcon支持12、14、16、24等多种点阵字体。在分辩率较低的情况下(640X480)可以考虑使用12点阵字体来显示汉字;在高分辩率的情况下(大于1024X768)则可以使用24点阵字体来优化显示效果。
所有字体文件都存放在$prefix/lib/zhcon/font/目录下。可以通过修改配置文件zhcon.conf或.zhconrc中的ascfont 和(gbkfont,big5font,jisfont,kscmfont )来选择不同的字体。
将使用16点阵字体。
ascfont = font/asc16.bpsf
gbfont = font/gb-16.bpsf
gbkfont = font/gbk-16.bpsf
big5font = font/big5-16.bpsf
jisfont = font/jis-16.bpsf
kscmfont = font/kscm-16.bpsf
将使用12点阵字体显示简体汉字。
ascfont = font/asc12.bpsf
gbfont = font/hzk12.bpsf
将使用24点阵楷体字显示简体汉字。
ascfont = font/asc24.bpsf
gbfont = font/gb-24-kai.bpsf