Solaris 8 如何创建代码表以使用新的输入法?

;;;;简体中文;Solaris;软件提供代码表界面用于添加新的输入法 。在一个纯文本文件里,可以创建一个列
表以表明中文字符或词组及其相应的键盘输入 。;

1.创建和编辑代码表源文件:

预备好代码表源文件以表述新的输入法 。必须列示字符、字或词组及其相应的用以创建它们的键盘输入 。每一行定义一个汉字和它的键盘输入之间的映射 。文件的格式是:


#
#;注释
#;<代码表>[汉字;;;键盘输入序列]


参看以下实例;


2.代码表的转换:
源代码表需要转换成二进制形式才可以为中文;Solaris;语言工具所接受 。这个过程可以通过称为;mkcodetab;的代码表转换器而实现 。该转换器可以接受若干个源代码表文件并将它们转换成一个二进制代码表文件 。如果没有采用;-o;选项,其结果将会被送到系统的标准输出装置 。

其命令语法是:


#;mkcodetab;源代码表文件;[-o;二进制代码表文件]


参见以下两个实例:


#;mkcodetab;wubi.txt;-o;wubi.ct
#;mkcodetab;<;wubi.txt;>;wubi.ct


两种指令形式产生相同的效果:将源代码表;wubi.txt;转换成二进制代码表;wubi.ct 。以下指令将多个源代码表文件转换成一个二进制代码表文件:


#;mkcodetab;wubi1.txt;wubi2.txt;wubi3.txt;>;wubi.ct


3.创建辞典文件;(任选项目) 。
指定一个辞典文件使您可以在输入法上加上连接或附加的功能 。从而,当用户键入一个中文字符,辞典中所有与它关联的字都会显示出供选用 。

辞典文件是纯文本文件,包含着用户想要关联的字 。关联字由空格被独立开 。例如:


第;1;个字;第;2;个字;第;3;个字
第;4;个字;第;5;个字
第;6;个字;第;7;个字;第;8;个字;第;9;个字
...;...;...


4.将代码表加进输入法说明文件 。
代码表准备好后,该输入法可以通过更新输入法文件加到系统上去:

/usr/lib/mle/zh/data/keybind.dat;

keybind.dat;文件需要以下信息:

输入法名字

打开输入法的功能键和控制键

代码表;(二进制);文件名

显示前一选择屏幕的键

显示后一选择屏幕的键

通配符定义

确选候选项的键

一旦更新;keybind.dat;后,简体中文;Solaris;操作环境即可以解释该输入法 。这一信息按以下格式加到;keybind.dat;中去:


%;input_method_name:;control_key:function_key:display_message
key_word;=;definition


参见以下实例:

keybind.dat;文件里的元素:

CT:
代码表文件名

PG:
显示上一选择组的键

NG:
显示下一选择组的键

FC:
确选第一;(相符的);字符的键

WC:
与任何键盘输入相匹配的通配符 。相符的选择会显示出来

DS:
显示所有选择的键;(如果已定义了WC,则无需定义);

DICT:
辞典文件名

PROPS:
如果;AUTO_POPUP;有定义,键入任何键时均会自动地显示可供选择的选项 。DS;无需定义) 。拼音输入法是这一应用的一个例子 。

如果要系统上所有的用户都可以使用这一新的输入法,可以编辑系统的;keybind;文件,/usr/lib/mle/zh/data/keybind.dat 。如果仅想在您自己的环境中这样做,可以设置;KEYBIND;环境变量:


%;setenv;KEYBIND;您的;keybind;文件


5.在;/usr/openwin/lib/locale/zh/xim/hotkey.dat;文件里加进一新的行,像下面的例子一样:
****;hotkey.dat;****
@BEGIN_USER
#Hot;Key engine_name method_table_name
#F8;for;NewPY,;the;default;IM
F8 cm cm
F11 shuangpy cm
@END_USER
@BEGIN_SYSTEM
#######;All;of;the;following;hotkeys;should;be;in;the;others.so.
#Hot;Key engine_name method_table_name

推荐阅读