zhcon 一个快速地外挂式cjk(中文/日文/韩文)的多内码平台
下载源代码、编译、安装
xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
最新版本的源代码可以访问软件下载。如果下载的是一个源码包,以v0.2为例,文件名为zhcon-0.2.tar.gz。
首先将源代码解开到一个临时目录:
tar zxf zhcon-0.2.tar.gz -c /tmp
cd /tmp/zhcon-0.2
cd /tmp/zhcon-0.2
然后运行configure脚本检查系统编译环境,创建makefile。
./configure
./configure
这时屏幕上会出现很多检测信息,如果没有问题的话接着执行make开始编译源代码。
make
make
编译完成后切换到root用户执行make install安装可执行文件并删除临时目录。
su
make install
cd ..
rm -rf /tmp/zhcon-0.2
su
make install
cd ..
rm -rf /tmp/zhcon-0.2
至此,zhcon已经成功安装到您的系统中。在控制台执行zhcon就能进入中文环境。
zhcon
zhcon
如果您是第一次使用zhcon,可能还需要下载一些字体文件。详细的配置方法见后。
如果您想卸载zhcon请以root身份登陆并执行下面的命令,就能完成卸载。
make uninstall
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模式。
进入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
|
0x
xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />31c
|
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
vga=0x303
退出编辑,执行:
lilo -v
lilo -v
libggi
,libggi是一个跨平台的绘图库。在linux上,libggi是通过调用framebuffer或svgalib来完成图形操作的,可能速度速度比较慢。但在某些不支持framebuffer或是vga的系统上使用libggi仍然是一种不错的选择。
要使用libggi,需要设置ggi_display环境变量,例如:
在.bash_profile中加入export ggi_display=display-fbdev:-noinput
将使用libggi提供的接口来完成图形输出(使用framebuffer)。更详细的信息请参阅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可以在以下几种方式下切换:
xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />aspectratio="t" v:ext="edit">manual,需要手工切换内码
auto,系统自动识别gb2312和big5码
auto-gb,系统自动识别gb2312和big5码,并使用简体字库来显示汉字
auto-big5,系统自动识别gb2312和big5码,并使用繁体字库来显示汉字
注意:内码自动识别功能仅适用于gb2312和big5之间的自动转换和识别。
xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />aspectratio="t" v:ext="edit">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
将使用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
ascfont = font/asc12.bpsf
gbfont = font/hzk12.bpsf
将使用24点阵楷体字显示简体汉字。
ascfont = font/asc24.bpsf
gbfont = font/gb-24-kai.bpsf
ascfont = font/asc24.bpsf
gbfont = font/gb-24-kai.bpsf