简体中文 Solaris 用户指南

第 5 章 代码表输入法界面

介绍

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

创建代码表

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

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


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

    参看以下实例;

    Graphic
  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
    

    参见以下实例:

    Graphic

    表 5-1 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
    #Hot Key for "location" method.
    #Hot Key						engine_name								method_table_name 
    #Hot Key for "location" method. 
    F2						others								cm 
    #Hot Key for "py" method. 
    F3						others								cm 
    #Hot Key for "Stroke" method. 
    F4						others								cm 
    #Hot Key for "full py" method. F5						others								cm 
    #Hot Key for "Golden" method. 
    F6						others								cm 
    #Add a new IM 
    by user, Hot key for "Wubi" method. 
    F10						others								cm 
    #Hot Key for "Chinese Symbol" method. 
    F12						others								cm 
    @END_SYSTEM
  6. 重新启动输入法服务器 (htt) 以使新输入法得到识别。

    对于以上实例,F10 功能键可以启动新的输入法。

    您的新输入法已就绪可供使用。