分享
 
 
 

Chdrv_HOWTO

王朝other·作者佚名  2006-11-23
窄屏简体版  字體: |||超大  

版权声明 :

(1) 你可以在不涉及商业行为的情况下拷贝,储存本资料

(2) 你可以把它转为书面之形式, 但以一份为限. 且任何书面形式的传

播需取得作者的同意.

(3) 作者保留其它一切相关的权利

(4) 任何转载及加工的行为均不得将版权声明删除

对於任何和本文有关的事项请直接和twchiu2@phys.ntu.edu.tw连络

=====================================================================

chdrv是一套用绘图模式来模拟中文终端机的程式,对於惯於使用DOS 的人来说

我们可以叫它中文系统,而正式的名称为中文终端机模拟程式。本文即在描述如

何使用这套程式来使LINUX可以直接执行中文有关之动作。

一 如何取得CHDRV

CHDRV可由NCTUCCCA.EDU.TW:/Chinese/UNIX/Linux/Chinese-TTY取得,至本文完

成为止最新的版本为0.5pl3。本套程式可分source、binary、font三部份。你至

少需取得字型及source,binary二者之一。

二 如何安装

2-1 由原始程式安装

你必须先取得chdrv0.5-2.tar.gz及chdrvfont.tar.gz,然後在/tmp或程何一个

子目录下建一新的子目录,例如叫chdrv,然後用下面命令将它们解开。

gzip -dc chdrv0.5-2.tar.gz | tar xvf -

在成功的解开这二个档案後应该可以得到Makefile和许多其它的档案。接下来你

可以在正式安装前根据你的系统对Makefile做适当的修改。值得提醒的是,这个

动作通常是不需要的。但你可以经由这个动作指定你的原始程式,执行码及系统

档案会被放在那些地方。

接下来打入如下的命令使你的原始程式安装到正确的地方,

make unpack

你应该此时用ls命令确定档案已被拷贝到正确的地方,如果不对可能问题出在你

修改Makefile的时候,请仔细修正。确定无误後你就可以把原来的档案(在/tmp

下的)删除。然後切换到你的工作目录,如果你没有修改的话应该是/usr/local/

src/chinese/,再打入make install。接下来可能要经过一段相当时间的编译动

作(在我的486-33上要15分钟)。当make正确的完成後你应该已经得到一份可以工

作的系统了。如果有问题,你可以自已处理,或是直接和作者连络,作者的

email

是(twchiu2@phys.ntu.edu.tw)。

2-2 由二进位码安装

和上述过程比较,二进位码安装是比较简单的。你必须取得chdrvbin05-2.tar.

gz

和chdrvfont.tar.gz二档案,然後在把它们放在一空的目录中,打入

gzip -dc chdrvfont.tar.gz | tar xvf -

然後再打入

./installbin

应该就可以得到一份可工作的系统了。

三 如何启动CHDRV

CHDRV使用一种类似Client/Server的模式来启动系统,你必须在进入中文模式前先

启动ttyserver这支Server程式,在打入ttyserver後,你会见到系统闪二下,这二

下可能间隔很长。这要视你的机器而定,闪完之後,会回到shell 但没有任何改变

。(当然ttyserver已经在系统内做了很多看不见的动作)你这时可以切换到任何一

个萤幕然後打入ccc 就可以进入中文模式内了。你这时依然可以和平时一样使用

Alt-F#切换萤幕,你也可在其它的萤幕上打人ccc而使其它萤幕也进入中文模式内

但请不要在已进入中文模式的萤幕上再打入ccc,这虽然并不会造成伤害,但可以

会干扰至系统的连作。另外ccc也可加上 -wx## -wy##两个参数来设定萤幕的长宽

有些系统会假设你的VT100萤幕有25列,所以请在使用这种系统时加上ccc -wx80

-wy25

的参数,此时萤幕的最後四行永远是空白。但有时你会看到有些残留的字在最後四

行,此时按下ctrl-l就可以把它清除了。

四 如何设定CHDRV

CHDRV的大部份参数都是在ttyserver启动前被设定,而大部份可设定的参数都

被放在/etc/chinese.conf中,如果你已经安装过0.5pl2以後版本的chdrv,应该已

经在/etc/chinese.conf中有一份参数,安装程式在此时不会将套装程式中的新参

数档放入/etc中。所以如果在新版中你发现有你所需要的参数,请依套装程式中的

chinese.conf档自行加入您的参数档。

而这个参数档的格式如下,在参数档内依参数之种类分成许多区段,每一个区段由

BEGIN 区段名称

....

END 区段名称

包起来。以下分区说明,我们在说明中采用下列惯例

(1) ## 代表数字 如 80

(2) $$ 代表未用引号的字串 如 abcd

(3) '$$'代表有引号的字串 如 'abcd'

(4) *表示该参数目前无作用

4-1 萤幕模式设定

格式:

BEGIN WINDOW

END WINDOW

其中可用的参数有

SIZE ## ## 定义萤幕上可见区域的宽度及长度

*FORECOLOR ## 定义前景的颜色

*BACKCOLOR ## 定义背景的颜色

STSTEMCOLOR ## 定义状态列的颜色

4-2 输入法表格

格式:

BEGIN INPUT

END INPUT

其中可用的参数有

PHONETIC $$ 定义注音输入法的表格,此参数只能出现一次。

MULTI $$ 定义万能输入法所需的表格,此参数可以出现至

多六次,所对应的表格将依序放在第三到八号输

入法。

4-3 系统使用字型

格式:

BEGIN FONT

STYLE {INTERNAL|HBF}

END FONT

系统字型可分二种,一种是系统内定格式,一种是HBF(Hanzi Bitmap Font)格

式,以下分别说明之。

4-3-1 内定格式字型

当字型区的第一行为STYLE INTERNAL时,系统使用内定字型格式。此时你必须

指定中文和英文(ASCII)所需的字型档及该档的格式。举个例说,在系统内定的

国乔字型之英文字型档为kctext16.f00,而该档有256bytes的档头且档内每个

字是8x16故需使用下列参数

ASCII kctext16.f00 256 16

而其中文字型档的格式较奇怪,刚开始的765字是图型码,所以为16x16的字型,

但其後的中文字为16x14的点阵字。所以应用下列参数

CFONT kcchin16.f00 256 16

1023 411 0 354 0 0

此处1023代表从字型档的第一字到第411字应放在顺序码1023-->1023+411的地

方。而字型档第412到765(=411+354)字应在顺序码0-354的地方。这边的顺序码

是将0-0x800保留为图型字码,而0x800以後则依序将所有big5的字码排入。故

下一个参数应该为

CFONT kcchin16.f00 24736 14

2047 13094 0 0

最後一对 0 0是表式本列结束,你可以在其後至行末加入一些注解。

所以总结来说,描述一个KC FONT的参数为

ASCII kctext16.f00 256 16

CFONT kcchin16.f00 256 16

1023 411 0 354 0 0

CFONT kcchin16.f00 24736 14

2047 13094 0 0

4-3-2 HBF字型

4-3-2 HBF字型

HBF字型的定义和实作请参考HBF_std_v1.0这份文件,你可以在NCTUCCCA.EDU.TW

的/Chinese/ifcss/software/fonts/HBF中找到它,而在同一个地方也可以找到

所有的HBF字型的定义档和相对应的字型档。但在设定字型时你只要拿到正确的

字型档和定义档即可,也就是说,如果你用倚天的字型你必须有倚天的定义档。

而当你用cclib16这个简体字字型时你必须拿到cclib16.hbf这个定义义档。

由於HBF中只规定了中文字型档而没有规定如何取用ASCII码的字型档,所以我们

仍沿用内定格式的字型档。要使用HBF字型在字型区的第一行必须为

STYLE HBF

而下一行应为ASCII字型定义。然後以HBF为关□字,

HBF $$

$$为HBF定义档(如前述cclib16.hbf)的完整路径及档名。如

HBF /usr/local/lib/chinese/cclib16.hbf

如此便可。但由於HBF格式的档名均无路径在内,我们必须告诉系统到那去取得字

型档。故需加入一参数以告诉系统字型档的位置

HBF /usr/local/lib/chinese/cclib16.hbf /usr/local/lib/chinese/

如此可以完整设定一个中文HBF字型。

4-3-3 列印字型

列印字型全采HBF格式,无论系统字型是内定或是HBF。你必须先给定印列字型的

路径

路径

PFONTPATH $$

然後给定各种字体的字型

PFONTL 隶书

PFONTK 楷书

PFONTM 明体

PFONTD 内定

即可。这些字型档和HBF定义档都可在上述的位置上找到。本系统是用cnprint来

将输入转成postscript显示,所以你须还有一个postscript印表机或是

postscript

的转译器。

五 环境设定

本区中可以让你设定当你进入中文时在shell将控制权交给你前所执行的一些命令

在本区中的所有字都会被逐一抄到这个命令档中。所以你可以用它来初始一些环境

变数。是有点类似sh中profile的功能。你也可以指定一个~/.chrc的档让每个使用

者可以做自已的初始化工作。

六 如何设定一个使用简体字的环境

这个问题应分二方面来说,首先你必须确定你要用那一种内码,目前有GB和BIG5二

种可能性。如果你使用BIG5码,你应该用国乔的kcchin16.f15和kcchin24.f15这二

个字型档来做列印和显示的工作。如果你使用GB码,那应用cclib.16和cclib.24这

二个档。至於格式不管内定或HBF均可,当然用HBF你可以省去很多工作。在这边我

举二个例子说明如何设定

6-2 用BIG5码

如果你用BIG5码那问题比较简单,你唯一需要做的工作是取得kcchin15.f15这个档

案,然後把它拷贝到你的系统目录(通常是/usr/local/lib/chinese)中. 後设定

/etc/chinese.conf使它由kcchin16.f00改成kcchin16.f15. 然後执行

chconfig /usr/local/lib/chinese/

系统重新设定後再启动中文DAEMON ttyserver即可

6-3 用GB码

如果你使用GB码,则你必需使用HBF格式,首先取得cclib.16和cclib16.hbf. 然後

修改/etc/chinese.conf中使用HBF font如下

BEGIN FONT

ASCII /usr/local/lib/chinese/kctext16.f00 256 16

HBF /usr/local/lib/chinese/cclib16.hbf

...

END FONT

然後重新启动系统即可

七 如何设计自己的万能输入法表格

Chdrv中的万能输入法表格之格式是沿用DOS下一个中文系统格的格式

. 它的格式相当直接, 直接阅读系统的□例档dayi.def就可以了解了. 在

这边我提供一个概要使大家能较快了解其内容. 在表格上可区分为三段,

段与段间以%%区隔. 第一段为提供一些旗标的设定, 如在复选时要不要发

出声音来提醒使用者. 目前系统提供的功能相当少, 只有MARK和BELL二个

选项. MARK用来设定状态列上的代表符号, 如

MARK = [大易]

BELL

代表在这个表格生效时在状态列上显示"大易"二个字, 而常复选择时电脑

会出声提醒使用者.

第二段是用来设定当键盘被按下时状态列上所出现的符号. 在中文输

入中, 通常必须2-4 键才能代表一个字, 系统必须在实际送字前先在状态

列上显示一些符号. (我想用过中文系统的人应该知我在说什麽)本段即在

一一将这些符号和键盘上的符号相对应. 为了减少重复, 我们允许连续的

对印不必一一列出. 我用一个例子说明

a 日月星

代表当输入a时状态列显示'日' ,b显示'月', c 显示 '星' . 我们不必把

bc也写出来, 只要它们在ASCII码上是连续的.

第三段是实际的按键--字码对照表,按键和字码以空白分开. 字码只有

二个byte有效, 其後可加上任意的注解.对照表以行为单位一行一字.

CXTERM的TIT档和我们的格式差异不大, 可以半自动的转换. tit2def

便提供这样的功能. 但转完後我们还必须做一些人工的加工工作.

在系统内的注音表格的格式和上述并不相同, 它只有第三段, 且它的

键盘对印一定是四个字母

1 l3 保

四个字母依序为子音,介音,母音,声符.

十 如何使用和内建不同的注音输入法键盘对照表

本节暂时保留, 下一版将有比较简单的做法

九 如何在网路上使用中文

在LINUX中用

tel -8 xxx.xxx.xxx.xxx

就可以使用中文, 但目前因模拟上的缺失故画面有时会混乱. 但目前为

止作者在网路上使用时尚无严重的缺, 最多是按CTRL-L叫它重画而己.

十 如何让chdrv和x-windows共存

Chdrv理论上因为和x-window使用相同的技术, 所以可以和x-window完

全相容. 但为避免不必要的问题, 我们应避开x-window所使用的console.

在SLS和SLackware中x-windows的console设在console#7,CHDRV预设为1-6

故完全没有问题. 但在Debian中x-windows的console设在5, 故我们应

把它自己设到7去.

十一 如何读取HZ格式的文字档

待有心人提供资料

十二 如何使用mule(多语文版本的emacs)

Chdrv可以支援mule所需的EUC格式, F11是切换键, 不过若你原先不是

用mule,或你并不需要多语文的环境,建议你使用13节中的方法使用Emacs.

既简单又可未来版本的Emacs相容.

十三 如何在EMACS 19下直接使用中文

由Emacs 19版後Emacs已可在8-bit模式下运作, 所以想要用Emacs来编辑

中文未必一定要用Mule. 我们可以用Emacs的LISP程式达到我们想要的效果.

你应该把cemacs.el或cemacs.elc之一先拿回来, 它们可以在

NCTUCCCA.EDU.TW:/Chinese/UNIX/Linux/Chinese-TTY

中获得. 把它们放在emacs的lisp目录内, 通常我们把它们放在

/usr/lib/emacs/site-lisp中. 然後用

emacs -nw -l cemacs

来叫出Emacs就可直接使用中文. 我们通常在bashrc中用

alias cemacs='emacs -nw -l cemacs.elc'

以後用cemacs就可以编辑中文.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有