(信号与信息处理专业论文)蒙古文信息处理系统基础研究.pdf_第1页
(信号与信息处理专业论文)蒙古文信息处理系统基础研究.pdf_第2页
(信号与信息处理专业论文)蒙古文信息处理系统基础研究.pdf_第3页
(信号与信息处理专业论文)蒙古文信息处理系统基础研究.pdf_第4页
(信号与信息处理专业论文)蒙古文信息处理系统基础研究.pdf_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

蒙古文信息处理系统基础研究 摘要 蒙古语言文字具有悠久的历史。近些年来,我国在蒙古文信息处理方 面取得了一系列成就,并先后在计算机上实现了蒙古文信息处理系统,蒙 文词类分析研究系统、词典编纂系统、传统蒙文转译系统等,为内蒙古自 治区及全国推广应用计算机处理蒙古文信息创造了良好的条件。但是在脱 离计算机的其它应用场所,蒙文的信息化程度还处在起步阶段。比如:蒙 古文的电子显示屏、标语牌、广告牌、消费类电子产品、蒙文短信等等领 域。本文想在这个方面做一些基础的研究和简单的应用,为以后的各类应 用做一下铺垫。 本文共六章,在第一章简要介绍了蒙古文的基本情况和蒙文字根的特 点;第二章介绍了我们自制的点阵字库,包括字库构成、点阵提取方法和 编码方案等;第三章介绍了一个适合小键盘上的简单蒙文输入法;第四章 主要介绍了蒙文处理系统软件上的实现,并给出一个最小的独立的蒙文系 统,进一步介绍了在l e d 屏幕上蒙文显示方案;第五章介绍蒙文在嵌入式 系统中使用方法;第六章探讨了几种蒙文、汉文和英文的混合编辑方案。 关键词:点阵字库, 字模,编码,l e d 显示屏,嵌入式,单片机 b a s i cr e s e a r c ho fm o n g o l l nl a n g u a g e i n f o r m l 棚o ns y s t e m a b s t r a c t t h em o n g o l i a nh a sl o n gh i s t o r y i nr e c e n ty e a r s ,as e r i e so fa c h i e v e m e n t h a sb e e no b t a i n e di nt h ef i e l do fm o n g o l i a ni n f o r m a t i o np r o c e s s i n g t h e m o n g o l i a nl a n g u a g ei n f o r m a t i o nm a n a g e m e n ts y s t e m , t h ed i c t i o n a r yc o m p i l i n g s y s t e m ,t h et r a d i t i o n a lm o n g o l i a nt r a n s l a t i o ns y s t e ma sw e l la st h em o n g o l i a n s p e e c hr e c o g n i t i o ns y s t e mh a ds u c c e s s i v e l yb e e nr e a l i z e do nt h ec o m p u t e r s y s t e m t h o s e a c h i e v e m e n t sh a v ec r e a t e dag o o dc o n d i t i o nf o rf u r t h e r a p p l i c a t i o no fc o m p m e ra s s i s t e dm o n g o l i a nl a n g u a g ei n f o r m a t i o np r o c e s s i n g h o w e v e r , t h er e s e a r c ha n da p p l i c a t i o no ft h em o n g o l i a ne l e c t r o n i ci n f o r m a t i o n a p a r tf r o mc o m p u t e ri so n l ya tt h es e n i o rs t a g e f o ri n s t a n c e ,i nt h er a n g eo f m o n g o l i a ne l e c t r o n i cd i s p l a ym o n i t o r , p o s t e r , b i l l b o a r d , e l e c t r o n i cp r o d u c t sf o r e x p e n s e ,m o n g o l i a ns h o r tm e s s a g ee t c 。i nt h i sa r t i c l e ,w ew i l ld os o m eb a s i c r e s e a r c hf o ras i m p l ea p p l i c a t i o n ;t h i sm a yb eab a s i cp r o p o s a lf o rf u r t h e r a p p l i c a t i o n s t h e s ea r t i c l ea l t o g e t h e rs i xc h a p t e r s f i r s t ,t h eb a s i cs i t u a t i o no fm o n g o l i a n l a n g u a g ea n dm o n g o l i a ns i b i l a n tc h a r a c t e r i s t i cw a sb r i e f l yi n t r o d u c e d t h e s e l f - d e v e l o p e dl a t t i c ef o n t s ,i n c l u d i n gt h ef o n t sc o n s t i t u t i o n ,t h em e t h o do f 3 l a t t i c ew i t h d r a wa n dt h ec o d es c h e m ew e r ep r e s e n t e di ns e c o n dc h a p t e r t h e t h i r dc h a p t e ri n t r o d u c e sas i m p l em o n g o l i a ni n p u tm e t h o dt h a ts u r f sf o rt h e s m a l lk e y b o a r d s o f t w a r ef o rm o n g o l i a nd i s p l a yi sd e v e l o p e da n dp r e s e n t e di n f o u r t h c h a p t e r ;i na d d i t i o n as m a l l e s t i n d e p e n d e n tm o n g o l i a ns y s t e m i s i n t r o d u c e d m o r e o v e r , ap l a nf o rm o n g o l i a nd e m o n s t r a t i o no nt h el e ds c r e e n s w a sd e s c r i b e d t h ea p p l i c a t i o nm e t h o do fm o n g o l i a nf o n ti nt h ee m b e d d e d s y s t e mw a sd i s c u s s e di nc h a p t e rf i v e t h es i x t hc h a p t e rh a sd i s c u s s e ds e v e r a l k i n d so f p l a n sf o rm i x e de d i t i o no fm o n g o l i a n ,c h i n e s ea n de n g l i s h k e y w o r d s :l a t t i c ef o n t s ,m a t r i x ,c o d e ,l e dp a n e l ,e m b e d d e ds y s t e m , s i n g l ec h i pm i c r o c o m p u t e r 4 ( 一) 蒙古文简介 蒙古文简介及蒙文字根 我国蒙古语言文字使用范围大致有三类:主要使用蒙古语言文字的地区蒙汉语言 文字兼用地区和主要使用汉语或兼用其他少数民族语言文字地区。蒙古文主要在蒙古 族聚居的广大农村牧区、各类学校和一些城镇的机关团体中使用,尤其在嘎查( 村) 、 苏木( 乡) 以下开会、传达文件、做报告、做记录、写汇报、写信、记账和填写统计 报表等均有使用蒙古文习惯。蒙古文在蒙古族聚居区已确立为教学用语文,一、二甚 至部分三类地区中小学普遍实行蒙古语文授课或加授蒙古语文课。内蒙古自治区已经 形成从幼儿园到大专院校以蒙古语文教学为主的民族教育体系,蒙古族自治地区的党 政机关的重要文件、布告、会议报告、法规、印章、牌匾、以及标语、路标、证件等 基本上采用蒙古文和汉文并用。全国新闻出版、文化艺术领域还比较广泛使用着蒙古 语言文字,全国蒙文图书出版社有1 1 家,报刊杂志8 0 多种。目前蒙古文信息处理已 经取得较好的成绩,并获得国际标准,很多相关项目处于继续研发之中 蒙古文的字符结构一般由辅音+ 元音、元音+ 辅音、辅音+ 元音+ 辅音等构成,上下 叠加行文时自左往右、自上而下书写;词不连写,音节间无空格,每个字母都有词 首、词中、词尾等变化体,行文中没有声调符号。蒙古文正字规则主要有4 种:语音 和谐规则及元音和谐和辅音和谐;连接元音规则;元音辅音相连规则;减音规则。虽 然具有较成熟的书写规则,但也存在违背普遍规则的习惯写法。 现行蒙古文是从阿拉美字母到粟特字母、到回鹘字母、回鹘式蒙古字母,再到蒙 古字母,递相演变而来的一种拼音文字因为它是一种超方言的文字,在漫长的历史 进程中对蒙古民族的语言文字的统一和方言土语以及文献材料的保留等诸方面起了很 重要的作用。该文在满文的创制和托忒文的改制等方面也起了很重要的作用。 蒙古文已有计算机信息处理系统。其中内蒙古大学的蒙古文国际标准编码在2 0 0 0 年获得了国际标准化组织的通过和u n i c o d e 技术委员会的认可。计算机上的蒙文处 理已经有了突破性的进展,但是在脱离计算机的其他应用场所蒙文的信息化程度还处 在起步阶段。比如:蒙古文的电子显示屏、标语牌、广告牌、消费类电子产品、蒙文 短信等等领域。本文想在这个方面做一些基础的研究和简单的应用,为以后的各类应 7 用做一下铺垫。 ( 二) 蒙文字根 英语是从2 6 个字母中选择若干字母连接而构成的语言,这一点,蒙文的构成与英 语非常类似。蒙文的构字基本单位是字根,与英文不同的是,蒙文字是将这些字根从 上到下、纵向无缝隙连接构成,见图1 。 图l 蒙文字构成 f i 9 1 s t r u c t u r eo fm o n g o li a n 本设计是在已有标准的蒙文编码的基础上,设计出能适合在液晶、l e d 屏等电子信 息处理终端上易于处理显示的字符编码形式。 本设计中使用的全部8 2 个蒙文字根见图2 所示。 图2 蒙文字根袁 f i g 2t a b l eo fm o n g o lf a nd y l d o n 由图2 所示的8 4 个字根可以构成所有的蒙文字,图l 中的字可以认为是由图2 中 的1 4 6 ,1 5 3 ,1 9 7 ,1 5 6 ,1 7 7 字根连接而成。蒙文字根集目前还没有固定的标准,不 同应用系统可以根据需求定义自己的字根集和编码。在本系统中我们注重考虑了字根 8 集的数量和容量,因为对一些便携式信息终端来说,无论体积、还是存储空间等都非 常有限,因而必须选择效率高,重码率低,可靠性高的字根集合和编码。 蒙文除了以上字根以外,还有一些特殊的标点符号,本系统中使用了1 6 个标点符 号( 包括一些蒙文专用的标点符号) :f ? ( ) e # $ 幸+ 。 ( 一) 点阵字库简介 二蒙文点阵字库 各种文字的显示都要依赖于字库,字库目前分两大类:点阵字库和矢量字库各种 字符在点阵显示屏上都是以一些点来表示的,因此也叫点阵。最早的字库就是直接把 这些点存储起来,形成点阵字库,如汉字点阵字库1 6 x1 6 ,2 4 x2 4 等。点阵字库也有 很多种,主要区别在于其中存储编码的方式不同。点阵字库应用范围很广,包括显示 屏、手机、掌上电脑和p d a 、机顶盒、个人电脑、m p 3 播放器、卡拉o k 点播机、i t v 等其它专用信息显示设备。点阵字库的最大缺点就是它是固定分辨率的,也就是每种 字库都有固定的大小尺寸。在原始尺寸下使用,效果很好,但如果将其放大或缩小使 用,就会出现我们通常说的锯齿现象,显示效果很差。每种文字的大小、字体组合有 无数种,我们也不可能为每种文字组合样式都定义一个点阵字库,于是就出现了矢量 字库。 矢量字库是把每个字符的笔划分解成各种直线和曲线,然后记下这些直线和曲线的 参数,在显示的时候,再根据具体的尺寸大小,画出这些线条,就还原了原来的字符。 它的好处就是可以随意放大缩小而不失真,且所需存储量和字符大小无关但针对不 同大小字体组合需要复杂的算法。 在点阵字库中,每个字符由一个二维位图表示,如图3 所示。把它用一个称为字符 掩膜的矩阵来表示,其中每个元素都是一位二进制数,如果该位为1 ,表示该像素置为 字符颜色;如果该位为0 ,该像素置为背景颜色。在把这些信息以二进制文件形式存储 在存储器中就构成点阵字库。 9 ( 二) 点阵字库的构成 本系统可以显示和编辑蒙文、英文、数字、字符和标点符号,所以字库里也必须有 相应的点阵信息。点阵字库由1 0 个数字、2 6 个小写英文字母、2 6 个大写英文字母、 2 8 个标点符号和8 2 个蒙文字根组成。点阵大小规定为1 6 x1 6 ,字符总数1 7 2 。每个点 0 0 o 0 o 0 o10 o o o o 000 00lillllli1lll00 o0l0 0 0 000 0 0 0 0i0 0 0l00 00 000000 100 0 0 o oll1llll10 00 0 0 0 o o 0 0 0 0 o0l0 o 0 0 0 o 0 0 0 000 0 010 00 0 0 0 0 0 0 0 0 0 0 0l0 0 0 0 0l0 0 111l1liilil1lll0 000 0 0 0 000 0 0 000 0 d 00o 00 o l00 0 0 00d o 0o 0 0 0 0 0 l0 0 0 0 0 0 0 0 u u u u u u ui0u u 0 u000 00 0 0010l0 0 0 00 000 n0 0 0 001 000 0 00 0 00 图3 点阵示意图 f i g 3 s c h e m a t i cr e p r e s e n t a t i o no f t h el a t t i c e 阵占用3 2 个字节,字库总大小3 2 x1 7 2 - - 5 5 0 4 b y t c 。由于蒙文是从上到下书写,因此数 字和字符都要顺时针旋转9 0 。显示。 ( 三) 点阵字库的编码 因为字根是自定义的,所以没有一个统一的编码。本系统中用一个字节长度来进行 编码,编码范围从0 - 2 5 5 ,可以编2 5 6 个字符。本设计中字库的字符总数是1 7 2 个,所 以一个字节长度编码正好够用。这个编码和a s c h 码的编码范围重叠,所以点阵字库 中的数字和字母保留了a c s h 原有的编码表示,而蒙文字根和标点符号的编码则穿插 在剩余的空间中。编码表如图4 所示,表中编码用十进制数表示。 数字 小写字母 l 符号 写 必q l 编码1 1 61 1 71 1 81 1 91 2 01 2 11 2 2 大写字母 i 符号 寻 ,一 i 编码1 9 92 0 02 0 12 0 22 0 32 0 4 图4 字根和编码 f i g 4t h om a t r i xa n d t h ec o d e 编码范围从3 3 - 2 0 4 其中蒙文字根编码从1 2 3 - 2 0 4 顺序编码,这样有助于点阵信息 的提取。字符和数字采用了a s c i i 码原有的编码,标点符号用了3 3 - 2 0 4 中间剩余的编 1 1 码空间。 ( 四) 点阵字库的存取 字库按编码顺序线性存储,每个字符占用3 2 个字节,如图5 所示。点阵字库可以 看作是一个一维数组,字符在字库中起始位置的计算方法是:起始位置= ( 编码3 3 ) 3 2 。例如:“! ”的编码是3 3 ,则它的起始位置是( 3 3 - 3 3 ) 3 2 - - 0 ,从这个位置连续取 3 2 个字节数据就是“! 一的点阵信息。又比如,蒙文字根“:搴”的编码是1 8 9 ,则起 始位置是( 1 8 9 - 3 3 ) 3 - 2 = 4 9 9 2 。 0000 | 00 10 00 00 010 0 01 0 0 0 00l 0 001 0 001 编码 3 33 43 5 图5 点阵字库结构 f i g 5t h es t r u c t u r eo fl a t t i c ef o n t s 字库数据字节高位( m s b ) 对应字符的最左侧的点,低位( l s b ) 对应最右侧点; 低序号字节对应字符上部,高序号的字节对应字符下部,从上到下,从左到右排列构 成一个完整的字符。 二连制 l1 0 0 0 0 0 0 0 0 0 0 0 1 1 l l l i l 0 0 0 0 0 0 0 0 0 0 ll 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 l 1 0 0 0 0 0 0 0 避 o x 2 0 o x 0 0 o x c o 0 2 0 t o x f 0 0 x 0 3 o z s o o x 0 1 o x s o 图6 字符和点阵对应演示图 f i g 6t h ec h a r a c t e ra n dl a t t i c ec o r r e s p o n d e n c ed e m o n s t r a t i o nc h a r t 1 2 ( 五) 具体点阵字库制作方法 1 字符、数字和部分标点符号的点阵信息提取方法 本系统的数字和字母的点阵信息是从a s c l 6 点阵字库中提取的。a s c l 6 是8 x1 6 的a s c i i 点阵字库,每个字根占用1 6 个字节。字根起始位置的计算方法是:f i r s t l n d e x = 编码x1 6 ,把a s c l 6 看作是一维数组,然后从这个起始位置开始顺序取1 6 个字节数据 就对应字母的点阵信息了。比如:“a ”的编码是9 7 ,那么在a s c l 6 中的起始位置- - 9 7 1 6 = 1 5 5 2 。从1 5 5 2 开始顺序取1 6 个字节就是“a ”的点阵信息了点阵字节是从上 到下,从左到右的顺序排序的。但是本设计中的字库是1 6 x1 6 的,所以在每读一个字 节后都要加上一个“0 ”。还有按照蒙文的习惯,字母和数字要按横向书写,比如“p ”。 但是直接从字库中提取的点阵信息是“a ”这个方向的,所以我们需要把点阵字节数据 顺时针旋转9 0 。旋转的方法是把竖方向字根的第一列变成横向字根的第一个行,而 且高低位调换。 为此,用d e l p h i 做了一个字母和数字点阵提取程序,把8 x1 6 的软字库a s c l 6 作 为资源编译到程序中 记事本里写如下一行文字:2 0 2a s c l 6d i s c a r d a b l e ”a s c l 6 ”,然后保存成 a s c r c 文件。 说明:2 0 2 一代表资源编号,自己规定; a s c l 6 一资源名称,自己规定; d i s c a r d a b l e 一关键字: a s c l 6 一软字库的文件的名称 将a s c r c 和字库文件a s c 拷到b r c c 3 2 e x e ( d e l p h i 自带的资源编译程序,一般 在d e l p h i 安装目录的b i n 目录下) 所在目录,执行d o s 命令,格式为:b r c c 3 2 脚本文 件( 回车) ,例如b r c c 3 2a s c r c ( 回车) 即可。如果编译成功,则会生成一个结尾为r e $ 的文件,这个文件就是我们需要的资源文件。 将生成的r e s 资源文件复制到相应程序所在的目录中,在单元文件中的“ $ r + d f m ”后面加上“ $ rf i l e n a m e r e s ”,编译后,资源文件就被包含在可执行文件中 了。 资源文件加载代码: 字符字库的句柄 h a s c :h g l o b a l ; p a s o :p b y t e : h r e s := f i n d r e s o u r c c ( 0 ,p c h a r ( 2 0 2 ) , a s c l 6 ) ; i f h r e s 0 t h e n b e g i n h a s c := l o a d r e s o u r c c ( 0 ,h r c s ) ; i f h a s c 0 t h e n p a s c := l o c k r e s o u r c c ( b a s c ) ; e n d ; 加载成功后,字库文件就在以p a s c 为开始位置的内存中了,因而可将其看作名称 为p a s c 的一维数组来处理。 点阵信息的读取: 1 6 x1 6 点阵信息存储数组 d i a n z h e n :a r r a y 【1 1 6 ,12 】o fb y t e ; c h :c h a r :, ( m - a ? : 。 o f f s e t := o r d ( c h ) 1 6 ;o h 是要提取点阵的字母变量 f o r i := 1t o1 6 d 0 b e g i n d i a u z h c n i 1 := p a s c o f f s e t + ( i 一1 ) 】点阵信息 d i a n z h e n 【i 】【2 】:= o 鹏h 空白位置1 6 。8 变成1 6 + 1 6 e n d ; 再进行旋转处理,最后把所有字母和数字的点阵信息以二进制的形式存在一个文件 里。 2 蒙文点阵字库制作 计算机上已经有了非常成熟的蒙文输入和编辑环境了制作蒙文点阵的时候,用 现有的蒙文编辑环境输入我们制定的所有字根,设置特定的字体、大小,并调整到最 大字根能包含在1 6 x 1 6 大的点阵内就可以了。调整时候可以通过抓屏键( 键盘上的 p r t s c r 的键) 把屏幕抓成一个位图,然后粘贴到画图板里,再通过画图板的放大功能放 大整个位图,然后查看目前每个字根占用的点数。当达到合适的大小以后,就把整个 字根通过抓屏功能转换成一张位图,用于以后的点阵生成生成的位图文件需要进行 一次二值化处理,可以采用p h o t o s h o p 之类的图片处理软件来处理。二值化的目的是把 图片变成只有纯黑和纯白两色的图片,这样转换点阵信息时就好处理一些。 由于蒙文的特点,所有的字根必须在一条线上排列,不能左右分开,中心线占用2 个点,在8 ,9 位置上,前面留7 个点( 1 到7 ) ,后留7 个点( 1 0 - - 1 6 ) ,如图7 所示。 l- 图7 蒙文字根 f i g 7t h em o n g o ! j a nl a t t i c e 上下位置由具体字符的特点来决定,大部分字根顶头开始排列就可以,个别字根 必须要在上面保留一些空间。一般蒙文字根的长度都不一致,最长的1 6 点,很多都小 于1 6 点,如上图字根长度就9 点。 按上述位置,从抓屏的字根图片中人工的截取每个字根,然后保存成单独b m p 文 件,文件名是对应的编码,比如把上图保存成1 8 7 b m p 。长度不够1 6 的也要截取成1 6 x 1 6 的位图,用空白填充就可以把所有的字根都放到一个文件夹里以便处理。 本课题中,用d e l p h i 开发了一个把位图文件批量转换成位点阵信息的工具软件。 下面的代码是查找所有文件,然后把路径保存到l i s t b o x l 里,为以后的批量处理做 准备。因为蒙文字根有8 2 个,手工一个一个转换非常繁琐。 p r o c e d u r et f o r m 3 b u t t o n l c l i c k ( s e n d e r :t o b j e c t ) ; v a r s t :t s e 缸c h r e e ; b e g i n o l d i n d e x := - 1 ; ,用一个打开对话框定位方所有字根图片的文件夹 i fo p e n p i c t u r e d i a l 0 9 1 e x e c u t et h e n b e g i n p a t h := e x t r a e t f i l e p a t h ( o p e n p i c t u r e d i a l 0 9 1 f f l e n a m c ) ; ,用w i n d o w s a p i 函数f m d f i r s t 函数查找文件夹中的所有文件。 i ff i n d f i r s t ( p a t h + ”,f a a n y f f l e ,s r ) = 0t h e n b e g i n r e p e a t 如果是位图文件的话把它的名称( 也包括路径) 保存到l i s t b o x l 中 i f ( p o s ( b m p ,s r n a m e ) o ) o r0 0 b m p f ,s r n a m e ) 0 ) t h e n l i s t b o x l i t e m s a d d ( s r n a m e ) ; 循环查找下一个文件 u n t i lf i n d n e x t ( s r ) o : 疗失闭查找功能 f i n d c l o s c ( s r ) ; e n d ; e n d ; e n d ; 下面的代码是完成图片字根转换成蒙文字库文件m g l z i k u 的功能: 却:t f i l e s t r e a m ; f p := t f i l e s t r e a m c r e a t e ( 。m g l z i k u , f m c r e a t e ) ;仓j 建文件m g l z i k u f o rk :- - ot ol i s t b o x l i t e m s c o t m t - 1d o 遍历所有图片,并按名称排序,即编码从小 到大的顺序 b e g i n i m a g e l p i c t u r e l o a d f r o m f i l e ( 1 i s t b o x l i t e m s s t r i n g s k ) ;力 1 载位图 f o ri := ot oi m a g e l h e i g h t 一1d o 位图行扫描 b e a m f o r j := o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论