APP下载

基于构件汉语拼音的湘西方块苗文输入法*

2014-09-05莫礼平尹楠佳

关键词:码表合体输入法

莫礼平,周 胜,尹楠佳

(吉首大学信息科学与工程学院,湖南 吉首 416000)

基于构件汉语拼音的湘西方块苗文输入法*

莫礼平,周 胜,尹楠佳

(吉首大学信息科学与工程学院,湖南 吉首 416000)

在分析湘西方块苗文的结构特点及其构件拆分方法的基础上,提出了一种基于构件汉语拼音全部字母的输入编码方案,设计了输入法编码映射表;并以多多输入软件生成器为工具,实现了基于Windows IMM-IME结构规范的湘西方块苗文输入法软件及其安装程序.测试结果表明,基于上述输入编码方案的苗文输入法易学易用,能够有效地解决湘西方块苗文的计算机输入问题.

湘西方块苗文;输入法;编码映射表;IMM-IME结构

湘西方块苗文是清朝末年以来,武陵山片区湘西苗族人民根据“取个人认为最易认易记的汉字作为代表符号”的原则自创的一种方块文字[1],是中国民间苗族文化的主要载体.目前,湘西方块苗文信息处理研究刚刚起步,见诸报导的仅有板塘苗文(湘西方块苗文的代表)的计算机编码和TrueType字库创建研究[2].由于缺乏输入法,长期以来,苗族文化研究人员进行学术研究和交流时都是依靠纸张笔墨等传统手段和图片扫描等机械方式处理湘西方块苗文,工作效率很低.

输入技术是文字信息处理研究的基础,为湘西方块苗文设计并实现一种易用快捷的输入法,对于弘扬苗族文化、保护苗族文化遗产、促进武陵山片区民族文化旅游产业的发展,都有重要的实际价值.

1 湘西方块苗文的结构特征及构件拆分

1.1结构特征

湘西方块苗文是一种仿汉字结构的文字,几乎都是由2~3个汉字(或偏旁)组成的合体字,其结构大致包括左右、上下、内外、侧围4种类型[3].实用的湘西方块苗文中,以左右结构和上下结构为主,侧围结构较少,内外结构极少.文中将能够作为湘西方块苗文的形符、声符或义符使用,且有音有义的汉字(或偏旁)称为成字构件;湘西方块苗文的构件中还包含了极少量有形但无音无义的符号单位(如“X”“~”),文中称之为不成字构件.

1.2构件拆分方法

仅由2个汉字(或偏旁)构成的湘西方块苗文合体字,可直接将其拆分为2个构件.当合体字由3个或更多个汉字(或偏旁)组成时,通常其中的某2个或3个部分可以组合成1个日常使用频率较高且含义明确的简单汉字.此时,宜将此组合视为一个整体,当成一个构件使用.若无法按照“日常使用频率较高且含义明确”的原则将某2个或3个部分组合成1个简单汉字,则将该湘西方块苗文合体字拆分为3个构件(最多也只拆分为3个构件).

据此原则,4种不同结构类型的合体字大部分都可拆分为2个构件,仅有极个别左右结构和上下结构的合体字需要拆分为3个构件.因此,可将湘西方块苗文分为2构件型合体字和3构件型合体字2类.

1.3构件拆分示例

图1为不同结构的湘西方块苗文的字例拆分示意图.按照前述构件拆分原则,图1a)中字例拆分为左构件“贫”和右构件“穷”;1b)中字例拆分为上构件“列”下构件“肉”;1c)中字例拆分为外构件“门”和内构件“得”;1d)中字例拆分为外包构件“冠”和内侧构件“子”即可,无须再拆分为虚线框内所含的多个部分;而1e)中字例却需要拆分为左构件“口”、中构件“目”和右构件“墨”,其中的“墨”不必再拆分为虚线框内的2个部分.

因此,图1a—d)中的字例都由2个构件组成,视为2构件型合体字,而图1e)中字例由3个构件组成,应视为3构件型合体字.

图1 不同结构的方块苗文字例的拆分

2 基于构件拼音的湘西方块苗文输入编码方案设计

2.1编码方案的基本思想

由于目前会读湘西方块苗文的人极少,按照湘西方块苗文的读音来实现输入法不太可行.考虑到湘西方块苗文是由汉字(或偏旁)组成的合体字,借助其构件的汉语读音来设计并实现输入法是可行的.因此,在设计湘西方块苗文输入编码方案时,直接利用构件对应汉字(或偏旁)的汉语拼音的全体字母作为输入编码.由于所有湘西方块苗文都可当作2构件型和3构件型合体字处理,因此只需按一定次序敲击键盘上对应这2~3个构件的全部汉语拼音字母键位,即可达到将该湘西方块苗文输入到计算机中的目的.

注意,为了缩短输入编码的长度,当构件是汉字偏旁时,只取其读音第1个部分的汉语拼音字母.例如,“氵”读音为“三点水”,拼音组合为“sandianshui”,只取“san”3个字母;“忄”读音为“竖心旁”,拼音组合为“shuxinpang”,只取“shu”3个字母;“扌”读音为“提手旁”,拼音组合为“tishoupang”,只取“ti”2个字母.

2.2合体字拆分取码原则

输入湘西方块苗文时,按照从上到下、从左到右、从外到内的顺序对苗文字形进行拆分取码.侧围结构型苗文遵循从左到右的取码原则.若内侧构件位于合体字左下方,则先左取内侧构件,再右取外包构件;若内侧构件位于合体字右上方,则先左取外包构件,再右取内侧构件.对于任意一个苗文,按构件拆分方法取出构件,并根据上述编码思想和取码原则,依次取出各个构件的汉语拼音字母,即得出供输入该苗文用的输入编码序列.

根据上述方法,图1中5个字例的输入编码序列分别为“pinqiong”、“lierou”、“mende”、“guanzi”、“koumumo”.

3 湘西方块苗文输入法的实现

3.1IMM-IME结构规范及输入法生成器

Windows平台下的键盘输入法大部分都基于微软公司提供的输入法接口IMM-IME结构[4-5].该结构由IMM(输入法管理器)、IME(输入法编辑器)、IMP(输入法分析器)3大部分构成.IMM负责管理当前系统中活动的每个IME,维护其与应用程序进程之间的通信.IMP对系统注册表中注册的各个输入法程序进行维护.IME就是开发者要编程实现的输入法程序,主要包括CI (转换接口)和UI (用户界面)2个部分.CI通常以供IMM调用的函数集形式出现,由开发者按照IME 接口规范添加详细函数代码,用以实现将用户按键转换成文字字符的转换功能.UI通常以可见或不可见的窗口形式出现,主要负责接收和处理由 IMM 和应用程序发来的输入消息,提供同用户交互的界面,让用户随时了解输入法的当前状态.UI窗口由缺省IME窗口、用户界面窗口和用户界面组件窗口(如输入法状态的显示窗口、编码信息输入窗口、重码选择窗口等)等部分构成.

按照IMM-IME规范实现输入法软件的核心工作是,以DLL结构形式,采用IME-API编写UI和CI函数代码,实现用户界面及转换算法,并编程实现UI和CI通过IMC(输入法上下文)结构进行通信的功能.目前,该核心工作可直接交给Windows提供的IMEGEN之类的输入法生成器来完成.

湘西方块苗文输入法软件采用多多输入法生成器[6]实现.多多输入法生成器是一个基于IMM-IME规范的输入法软件及其安装程序的制作工具,它能够根据用户提供的文本码表和编码规则自动生成独立的输入法安装程序打包文件,以方便用户发布输入法.该工具在具备IMEGEN所有功能的基础上,完善了各类编码方案的实际需求,可以自动生成脚本文件,并且支持32位和64位操作系统,开放接口,允许用户依据SDK开发第三方插件.

3.2输入法内码映射表及多多格式码表的生成

初步建成的方块苗文字库使用了Unicode字符集基本多文种平面BMP (Basic Multilingual Plane)[7]中的用户自定义区域E000—F8FF,每个字形对应1个唯一的Unicode编码.为了让输入法程序能够根据键盘输入编码到字库中查找对应的字形,需要建立字形Unicode编码与输入编码之间的映射关系,形成输入法内码映射表.按照前述输入编码方案,湘西方块苗文输入法内码映射表按以下格式设计:

<输入编码> < Tab键 > < 字形Unicode编码[ < Tab键>字形Unicode编码…] >

其中,Tab键为分隔符,方括号为可选项,表示重码情况.图2给出了湘西方块苗文输入法内码映射表的部分截图.

使用多多输入法生成器生成输入法软件还需要有多多文本格式的码表.图3给出了使用多多码表编辑器MBEditer生成的湘西方块苗文输入法码表截图.

图2 湘西方块苗文输入法内码映射表

图3 湘西方块苗文多多格式输入法码表

3.3输入法安装程序的生成

多多输入法生成器DDImegen可依据码表(*.txt)文档或生成配置脚本文件(*.ddconfig),通过“向导”和“命令直通车”2种方式来生成输入法安装程序(*setup.exe).通过“向导”方式依据脚本生成湘西方块苗文输入法安装程序“miaowensetup.exe”的步骤如下:

Step1 创建对应于多多格式湘西方块苗文输入法码表的生成配置脚本文件“miaowen.ddconfig”,设置脚本文件的保存路径及文件名称.

Step2 设置输入法运行时需要用到或显示的相关信息.包括湘西方块苗文输入法文件名(即在目标计算机的system32中创建的IME文件名)、安装目录名称、输入法显示在开始菜单中的名称、发布者及软件版本、帮助链接等信息.

Step3 IME驱动选项设置.为湘西方块苗文输入法指定txt码表文件路径、软件皮肤ico文件路径、帮助文档路径、输入法显示在任务栏右下角系统输入法列表中的名称、IME驱动名称、语言标识、安装程序保存路径等.注意,在“语言标识”列表中必须选择“自定义”,并参照“常见Windows语言标识数值参照表”填写为湘西方块苗文区域的十进制区域代码值.

Step4 生成选项设置.设置湘西方块苗文输入法软件的可选功能 (如是否包含联想库、英文输入、词典功能,是否支持简繁转换、用户造词、临时造词等),以及构词规则定义、按键功能自定义、标点符号定义等.

Step5 特性设定.针对湘西方块苗文输入法运行时的输入系统行为、无候选字出现时的空格行为、嵌入窗口行为、初始化转换状态等方面特性进行设置.

Step6 IME默认设置.针对湘西方块苗文输入法运行时的默认值进行设置,包括候选列表排序依据、候选列表显示个数、词频调整、输入方案、习惯设定、界面控制等方面的默认值设定.

Step7 DME驱动默认设置.设置湘西方块苗文输入法码表驱动程序common驱动的默认值.common驱动是多多输入系统的核心部分,能够满足码长在128以内的编码需要,并能依据配置实现“智能上屏”,可实现“精确匹配候选列表获取”、“联想匹配候选列表获取”、“查询模式候选列表获取”操作.DME驱动默认设置包括后续编码显示 (编码逐渐提示) 规则设定、码长设定、查询选项设定、上屏引导键和截止键(编码截止键)设定等.

Step8 SKIN驱动设置.针对Classicskin驱动和colourful驱动,做湘西方块苗文输入法软件的皮肤(界面)设置.使用Classicskin驱动可实现经典的windows输入法界面,可针对窗口背景、按钮、文字样式及颜色方案自定义进行设置.使用colourful驱动可实现丰富多彩的输入法界面,当计算机上安装了2个或2个以上皮肤文件时,可通过设定皮肤文件和文件夹的方法实现输入法的换肤功能.

Step9 软件安装设置.生成湘西方块苗文输入法软件的GUID唯一标识符,并可设置码表密码以控制系统主码表导入导出操作.同时,还可以设置注册码密钥以支持输入法软件注册功能.

Step10 软件内容设置.针对湘西方块苗文输入法软件,进行开始菜单项、包含字体目录、配置程序项、嵌入图标项设置.

完成以上步骤操作后,单击“生成”按钮,DDImegen将依据脚本文件“miaowen.ddconfig”自动生成湘西方块苗文输入法安装程序.

4 输入法软件的安装和测试

4.1安装

为了方便管理并保证输入法能正常工作,可按以下步骤安装湘西方块苗文输入法软件:

Step1 建立安装程序及相关文件的存储目录,并将湘西方块苗文TrueType字库文件“miaowen.ttf”、输入法生成时的初始化配置脚本文件“miaowen.ddconfig”、输入法码表文件“miaowenmb.txt”和输入法安装程序“miaowensetup.exe”等4个文件复制到该目录.

Step2 将字库文件“miaowen.ttf”复制到“C:/WINDOWS/fonts”目录下,完成字体的安装.

Step3 运行安装程序“miaowensetup.exe”,进入“安装向导”界面,按提示设置好安装目录及其他相关参数,然后点击“安装”按钮,开始自动安装工作.

Step4 点击“完成”按钮,结束安装过程.

安装完成后,湘西方块苗文输入法会出现在“语言栏”,按“Ctrl+Shift”键即从当前输入法切换到苗文输入法.此外,安装程序同时“开始”菜单中会增加“设置湘西苗文”功能项.通过该功能可以查看码表,还能针对输入法的界面及其他内容进行常规设置和高级设置.

4.2测试

图4 湘西方块苗文输入后与汉英数混排显示效果截图

在windows记事本中,对湘西方块苗文输入法软件进行多次测试的结果表明,该输入法易学易用,输入编码简单易记,能够实现已加到字库中的任意一个湘西方块苗文的正确输入.图4给出了使用该输入法输入的湘西方块苗文、汉字、英文、数字混编后以华文行楷字体显示的效果.

5 结语

湘西方块苗文输入法基于构件的音码输入方案,采用作为构件使用的汉字(或偏旁)汉语读音的全拼输入法来输入苗文.从键盘上依次敲击该苗文所有构件汉语拼音的全部字母键,即可达到输入该苗文合体字的目的.该输入法与汉字拼音输入法原理一致,用户只要按照构件拆分方法,记住苗文合体字拆分取码原则,就可以将湘西方块苗文输入到计算机中.然而,上述方法虽然能够解决湘西方块苗文的输入问题,但因没有限制码长,输入编的长度普遍较大,不利于提高输入速度;而且,该方法还会因构件不同但构件同音、构件相同但构件在合体字中所处位置不同而产生较高的重码率;此外,因用户对汉字(或偏旁)的汉语读音不准而出现取错输入码,导致无法输入苗文的情况也有可能发生:因此,下一步,笔者将以缩短码长、降低重码率和输入错误概率为目标,对湘西方块苗文的输入编码方案进行优化.

[1] 杨再彪,罗红源.湘西苗族民间苗文造字体系[J].吉首大学学报:社会科学版,2008,29(6):130-134.

[2] 莫礼平,周恺卿,蒋效会.板塘苗文的计算机编码及字库创建[J].吉首大学学报:自然科学版,2013,34(2):31-35.

[3] 赵丽明,刘自齐.湘西方块苗文[J].民族语文,1990(1):44-49.

[4] Microsoft Corporation.Win32 Multilingual IME Overview for IME Development[EB/OL].[2003-04].http://www.docin.com/p853168.html.

[5] Microsoft Corporation.Win32 Multilingual IME Application Programming Interface[EB/OL].[2003-04].http://www.docin.com/p3619562.html.

[6] 多多中文官方网站.多多输入系统用户手册v3.x[EB/OL].[2012-10-23].http://chinput.com/docs/ddimegen/index.htm.

(责任编辑 向阳洁)

InputMethodofXiangxiSquareHmongLanguageCharactersBasedontheChinesePinyinComponents

MO Liping,ZHOU Sheng,YIN Nanjia

(College of Information Science & Engineering,Jishou University,Jishou 416000,Hunan China)

An encoding scheme of inputting Xiangxi square Hmong language characters is put forward after the structure features and the method of compounds splitting are analyzed.This scheme is based on inputting the whole letters of Chinese pinyin components.The code mapping table is designed.Taking Duoduo input soft generator as a tool,the input soft based on IMM-IME architecture and setup program are implemented.Test result shows that the input method based on the above scheme is easy to learn and use,and can effectively solve the problem of inputting Xiangxi square Hmong language characters into computer.

Xiangxi square Hmong language characters;input method;code mapping table;IMM-IME architecture

1007-2985(2014)02-0030-05

2013-10-28

国家自然科学基金资助项目(61363033);吉首大学科研项目(13JDX008)

莫礼平(1972-),女,湖南安化人,吉首大学信息科学与工程学院高级实验师,工学硕士,主要从事中文信息处理、Petri网理论及应用、数据挖掘研究.

TP391

A

10.3969/j.issn.1007-2985.2014.02.008

猜你喜欢

码表合体输入法
硬汉合体
要命的输入法
为了定居火星,人类可与水熊虫“合体”?
iGPSPORTiGS618智能GPS码表测评
找回微软拼音输入法设置
输入法顺序听我使唤
皱皱眉头就是一首诗
廉价亲民黑鸟单车BB10 GPS码表评测
百度被诉侵犯商标权和不正当竞争
“止”字变合体