华文终端机 版本0.1.0


照例, 这份文件是用a4c.tty做为中文输入制作出来的.
a4c.tty内含於华文系统套件版本0.1.0(All For Chinese Suite Version 0.1.0)里面.

华文系统套件内容有

版权: GNU General Public License/GPL, Copyleft.
下载处: ftp://ftp.okstation.com/all4chinese/a4c.suite/a4c.suite-0.1.0.tgz ftp://ftp.okstation.com/all4chinese/a4c.suite/a4c.suite-0.1.0.star (Corona Star Package Format)
最後更新日期: 1999/1/1, 欢迎映射, 现有映射站请尽速更新.

All For Chinese Suite 0.1.0安装说明

解开套件

下载完成後, 将a4c.suite-0.1.0.tgz解开

gzip -dc a4c.suite-0.1.0.tgz | tar -xv
在此建议您使用a4c.suite-0.1.0.tgz档, 而不要用a4c.suite-0.1.0.star档. star档需要我所写的另外一套安装套件Corona, 目前没有使用说明, 功能也烦杂不完整. 因此虽然是比较理想的安装方式, 依然不建议您使用.

编译及安装

进入a4c.suite-0.1.0目录

cd a4c.suite-0.1.0
如果您要内定的设定, 那麽输入
make
便会编译并安装.

细部设定

在目录中有个Makefile.config档. 内容为

A4C.BIG5=y
#A4C.GB2312=y
A4C.IME=y
A4C.TTY=y
A4C.DICT=y

IOME的编译设定

进入iome-0.1.0

cd iome-0.1.0
在目录中, 有个Makefile.config, 其中INSTALL_xxx, 尽可能不要修改. 我不保证您修改过可以使用. INCLUDE_OME_xxx/INCLUDE_IME_xxx, 您可以选择您所需要的输入法/转换法即可. 不需要的加上#号去除.

繁星视窗管理系统

如果您预计a4c.tty只在某些特定模式下执行, 可以只选择特定的模式即可. 进入starwin-0.1.0

cd starwin-0.1.0
在目录中, 有个Makefile.config, 其中有几个选项: 接下来回到主目录, 输入
make
便会编译并安装. 如果您得到一大堆错误讯息, 那表示您一定是没有svgalib或X Window. svgalib可在ftp://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.tar.gz取得. X Window您应该要在安装系统时就安装进去了, 如果还没有, 应当进行补装. 安装完成後, 需要设定各套件, 请参考各套件的说明, a4c.tty在下面说明, a4c.ime另有网页说明.

华文终端机版本0.1.0说明

简介

a4c.tty是我对IOME提案的第二个支援的平台. 目前支援42种萤幕模式, 如果去除320x200的六种, 则为36种. 字型可支援16x16, 20x20, 24x24, 32x32...等等. 输入法使用IME/OME, 目前23种输入法, 2种转换法. 介面使用繁星视窗管理函数库, 介面是视窗化的.

萤幕模式支援及设定

目前支援的萤幕模式有以下: 在/etc/iome/tty.big5或/etc/iome/tty.gb2312中有一大排video.mode设定, 把您不想要的加上#号去除即可. 把您想要的模式排到第一顺位, a4c.tty会根据顺序侦测. 如果您的萤幕卡不在svgalib的支援内, 那就要辛苦一点用 640x480x16的模式了(很慢喔, :< ).

字型设定

字型设定有四项:

font.path /usr/fonts
font.chinese et24.hbf
font.english 12x24
english.fontsize (12,24)
这部份可能是最简单却也最难的. 因为您要先安装中文字型档. font.path指定字型目录, 内定为/usr/fonts, 如果您已经安装过yact或bcs16, 您可以用
ln -s /usr/local/lib/yact /usr/fonts
font.chinese是用HBF档格式, 其档案格式为文字档. 实际需要倚天字型, ascfont.24/spcfont.24/spcfsupp.24/stdfont.24x或 ascfont.15/spcfont.15/spcfsupp.15/stdfont.15, 您可以购买倚天字型, 或是其它免费的字型. (在ftp://ftp.okstation.com/linux/chinese/et/里面的字型, 您不能下载, 下载是违法的, 其次这里频宽太低, 也受不了让您下载. 听懂了嘛?)

取得字型後, 将之放到/usr/fonts里面. 8x16, 12x24的英文字型可在ftp://ftp.okstation.com/linux/chinese/et目录中取得. HBF档也可在相同目录中取得. HBF档格式很简单, 您可以打开来看一看, 自行修改(用猜的就可以猜对了).

记得12x24英文字型要配合24x24中文字型, 8x16要配合16x16, 否则显示不正确我不负责.

滑鼠

如果您没有滑鼠, 可在mouse.enable一项中, 换成disable.
mouse.enable disable
其次, svgalib需要设定, /etc/vga/libvga.config中有滑鼠的设定. 选用您的滑鼠种类, 如果滑鼠速度诡异, 关闭加速功能可能会好一点.

颜色 在tty.big5/tty.gb2312结尾有一些颜色的设定, 格式是(r,g,b), 可以玩看看, 调整自己喜欢的颜色.

如何在开机时就进入中文系统

a4c.tty可以在一开机就进入.
先找到/etc/inittab, 在inittab中有getty的一段
1:12345:respawn:/sbin/mingetty tty1(Red Hat)
2:2345:respawn:/sbin/agetty tty2(Slackware)
.
.
.
您可以加入
7:2345:respawn:/sbin/a4c.tty login
记得一定要加入login, 否则就会变成安全漏洞了喔. 下一次开机时, 您就会有中文系统, 加入适当的软体, 可以使用中文做为使用者名称及密码.

如何将狐狸头换成自己的头

当您执行a4c.tty时, 会发现左下角那个我的头. 那是选单按钮. 您可以自行制作一个fox-logo.xpm档(用gimp存成xpm格式), 大小约40x40. 将a4c.tty-0.1.0/fox-logo.xpm档换掉, 重新编译即可. 做一个让您的朋友惊讶的中文系统.

使用说明

a4c.tty建议安装在/sbin中, 因此要启动, 输入
a4c.tty
即可.

输入法的使用, 因为与a4c.ime共用iome, 因此一样. 可参考 a4c.ime, 设定均共用.

如果您没有滑鼠, 那麽使用上稍微吃亏一点. 目前CTRL+ALT+BACKSPACE可以结束程式.

整个程式是视窗化的, 大概滑鼠点来点去就可以了. 许多功能都尚未完成, 不过事实上这些功能都是外加的, 因此与a4c.tty本身中文功能, 关系不算很大. 只是增加方便性及功能而已. 例如, CTRL+ALT+~应该是抓萤幕, 储存成xpm档, 不过, 还没有完成. 右边的那一条杠是Scroll Bar, 用来卷页用, 也还没有完成. 选单中的几个功能, 像Add/Remove IME/OME, Module Loader, 都还没有做.

目前, 因为History的功能尚未实作出来, 因此, 显示时会有中文字被切掉的问题. 这个问题在History功能做出来之後, 便可解决.

可移植性问题

a4c.tty的设计上, 本身就要求要可以很容易移植到其它平台. 因此, 使用了Star Window Manager, 使图形的操作都在starwin上, 要移植时, 仅须置换starwin底层驱动程式即可. 相关说明请见StarWin一部份.

另外, 按键是各平台均不同的, 因此, 要移植时, 需要稍加修改 keymap.h/keymap.c, 例如, FreeBSD应可修改keymap.c里面几行程式即可使用. (keymap.c的程式码几乎是个位数的, 大部份都是键盘对照表).


IOME

IOME是Input/Output MEthods的缩写. 分成两种, IME - 输入法, OME - 转换法. IME大家应该都很熟了, 目前有23种IME. OME的威力则大家还没见识过. OME目前仅有两个, 大五码转换法及国标码转换法, OME的功能不止於此. OME的设计可以让"汉英字典法"可行, 可以让"词音输入"配合所有的输入法等等, 还可以转换语言. OME可算是新创的中文输入系统了. 我将在0.1.1释放出"汉英字典法".

有关IOME的使用说明, 可看a4c.ime. 有关IOME提案可见 IOME. 这个版本, 将IOME的一些函数库安装在

/usr/include/a4c/iome.h
/usr/include/a4c/a4c.tk.h
/usr/lib/libiome.a
有兴趣的可以看一看.

繁星视窗管理系统

Star Window Manager - StarWin, 目前是一套基於svgalib的视窗管理程式. 除了在a4c.tty中用到以外, 我还有好几个程式用到它. 包含了Corona Packager(日冕 - 套件安装软体), Virgo Installer(处女座 - Star Linux安装程式, Star Linux是我正在制作的Desktop Linux Distribution).

基本上, a4c.tty主要使用StarWin的功能, a4c.tty本身只是将StarWin/IOME/Keymap整合起来而已, 并且处理一些实际的人机介面. a4c.tty使用StarWin中的Term功能, 作为中文终端机. 因此, 如果终端机显示有问题, 应当要找StarWin中的term.c, 而不是a4c.tty里面的东西.

StarWin的设计是为了Desktop Linux热热身. 在Star Linux中会大量运用到. 毕竟, 不是所有程式都需要X Window才能工作. 目前来说, 如果您要使用StarWin来开发程式, 最好跟我连络一下, 因为StarWin的功能还会大量增加. 最终目地是将svgalib取代掉, 提供一套较高品质的svga驱动程式.

因为StarWin尚在开发中, 因此还没有开发文件. 您可以看看starwin.h, 整个函数库安装在

/usr/include/a4c/starwin.h
/usr/lib/libstarwin.a

StarWin目前支援bpp4, bpp8, bpp15, bpp16, bpp24, bpp32. 单色模式尚未支援. Message Queue尚未实作, 目前以土法练钢式的写法来完成.

目前已经将1024x768x256做i386的最佳化(均以组合语言写). 使用组合语言的部份, 原有C语言程式码, bpp8在starwin-0.1.0/bpp8_src内. bpp32在bpp32_src内. 每个组合语言程式都附有C语言程式码在内, 以方便移殖到其它平台时的工作.

卷页功能使用软体卷页(因为不是所有萤幕卡都支援硬体卷页), 非16色者速度均可接受, 16色卷页慢得难以忍受.

此外, bpp4的最佳化支援很重要, 因为svgalib不支援的萤幕卡, 至少还可以用 16色模式来执行, 可是我已经忘记16色驱动程式的正确写法了. (只记得要切四页,选bit, 其它都忘光了). 如果有人还记得这个古董怎麽写, 麻烦把相关详细资料寄一份给我, 或者您可以看bpp4.c来进行修改, 需要修改的函数只有四五个而已, 整个程式也很简短, 没有您想像的复杂. (这是我的程式风格, 强调简单. 尽可能简单, 尽可能不用复杂的技巧. 简单的部份加起来, 就变成大型的软体.)


That's all, folks. Enjoy!
Brian Lin, OK STATION, Webmaster, 狐仙, foxman@okstation.com

Q: foxman为什麽是"狐仙"?

A: 又是狐狸, 又是人, 非妖则仙, 狐狸精或狐仙 :P