首页> 中国专利> 蒙古文国际标准编码到形码转换方法、装置及计算机终端

蒙古文国际标准编码到形码转换方法、装置及计算机终端

摘要

本发明公开了一种蒙古文国际标准编码到形码转换方法、装置及计算机终端。该方法先枚举出每个蒙古文字母的所有可能的Unicode编码序列,再将按照位置属性“独”、“首”、“中”、“末”分为四份,并且每份中按照Unicode串长度的倒序进行排序,而后获取待转换蒙古文Unicode串,初始化转换结果序列,然后对各份进行遍历并分别判断,并且在遍历过程中利用转换结果序列进行存放,从而实现将蒙古文国际标准编码转换到形码,即能够实现多对多的关系转化,也可以对没有固定转换关系的转换,还可以对不是定长的编码进行转换,从而可以生成作为中间码的字形编码,便于蒙古文印刷体识别和手写识别,方便蒙古文Unicode编码表示和存储。

著录项

  • 公开/公告号CN112613274B

    专利类型发明专利

  • 公开/公告日2023.06.16

    原文格式PDF

  • 申请/专利权人 内蒙古大学;

    申请/专利号CN202011581644.6

  • 发明设计人 范道尔吉;武慧娟;

    申请日2020.12.28

  • 分类号G06F40/126(2020.01);G06F40/151(2020.01);

  • 代理机构合肥市泽信专利代理事务所(普通合伙) 34144;

  • 代理人方荣肖

  • 地址 010021 内蒙古自治区呼和浩特市赛罕区大学西路235号

  • 入库时间 2023-07-07 01:38:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-06-16

    授权

    发明专利权授予

说明书

技术领域

本发明涉及信息处理技术领域的一种转换方法,尤其涉及一种蒙古文国际标准编码到形码转换方法,还涉及一种蒙古文国际标准编码到形码转换装置,还涉及一种计算机终端。

背景技术

蒙古文信息处理的研究工作最先是在文字排版方面展开的,由于文字排版系统对文字而言比较关注的是文字的“形”,一个单词只要能够出现正确的形状即可。因此基于形码的蒙古文编码方案也应运而生。不同的研究单位在制定各自的形码方案时有的采用一个字符只定义一个编码,但可以表示多个不同发音的字母;有的采用一个字符定义多个编码,相同字形编码不同,可表示不同发音的字母;有的采用将多个字母中都会出现的部分结构,重新定义为一个“字符”或从文字书写的习惯和美观角度出发,将字母中的部分笔画进行了重组,并为每一个“字符”定义一个编码。

1993年国际标准化组织和Unicode技术委员会在ISO/IEC 10646国际标准字符集中发布了蒙古文国际标准编码。在该标准中,把从U+1800开始的一个“平面”作为蒙古文字符集编码码位。蒙古文字符实际占有码位区间是U+1800一U+18AF。蒙古文国际标准字符集包括传统蒙古文、托忒文、锡伯文、满文以及蒙、托、满三种文字用于转写藏文和梵文的阿礼嘎礼字符、标点符号、数字和控制符。传统蒙古文、托忒文、锡伯文、满文的大部分字母根据它们在词里的位置(词首、词中、词尾)等有不同的变体形式,有时一个字母能有十种以上的变体形式。

在目前的蒙古文印刷体识别和手写识别任务中有时需要字形编码作为中间码,而不直接使用Unicode编码。因为蒙古文Unicode编码不能直接表示字形信息。目前蒙古文资源都是用Unicode编码表示和存储。因此需要一种蒙古文Unicode编码到字形码的转换过程,以解决现有的蒙古文Unicode编码不能够直接使用在蒙古文印刷体识别和手写识别任务中,使用不便的问题。

发明内容

为解决现有的蒙古文Unicode编码不能够直接使用在蒙古文印刷体识别和手写识别任务中,使用不便的技术问题,本发明提供一种蒙古文国际标准编码到形码转换方法、装置及计算机终端。

本发明采用以下技术方案实现:一种蒙古文国际标准编码到形码转换方法,其包括以下步骤:

(1)枚举出生成每个蒙古文字母的所有可能Unicode编码序列,并记录各格式“Unicode串=字母ID”且记作UL;

(2)将UL按照位置属性分为四份,并分别记作UL_A、UL_S、UL_M、UL_E,且每份中按照Unicode串长度的倒序进行排序;其中,定义UL_X(i).uni为UL第i行“=”前的Unicode串,UL_X(i).scode为UL第i行“=”后的字母ID,X为字母A、S、M、E中的一种;

(3)将待转换蒙古文Unicode串记作mgl,初始化转换结果序列glist=[];

(4)遍历UL_A并判断mgl是否存在于UL_A中,如果存在且行号为i时,则glist=[UL_A(i).scode]并结束遍历UL_A,否则继续遍历UL_A;

(5)遍历UL_S,判断UL_S(i).uni是否与mgl开头匹配,如果有匹配行时则glist=[UL_A(i).scode]且mgl=mgl-UL_A(i).uni,并继续遍历UL_S,否则中止遍历UL_S;

(6)遍历UL_E,判断mgl是否存在于UL_E中,如果存在且行号为i时,则glist=glist+[UL_A(i).scode]并结束遍历UL_E,否则继续遍历UL_E;

(7)遍历UL_M,判断UL_M(i).uni是否与mgl开头匹配,如果有匹配行时则glist=glist+[UL_A(i).scode]且mgl=mgl-UL_A(i).uni,并当mgl==空则结束遍历UL_M,否则继续遍历UL_M,如果没有匹配行则中止遍历UL_M。

本发明通过先枚举出每个蒙古文字母的所有可能的Unicode编码序列,再将按照位置属性分为四份,并且每份中按照Unicode串长度的倒序进行排序,然后对各份进行遍历并分别判断,并且在遍历过程中利用转换结果序列进行存放,从而实现将蒙古文国际标准编码转换到形码,即能够实现多对多的关系转化,也可以对没有固定转换关系的转换,还可以对不是定长的编码进行转换,从而可以生成作为中间码的字形编码,便于蒙古文印刷体识别和手写识别,方便蒙古文Unicode编码表示和存储,从而解决现有的蒙古文Unicode编码不能够直接使用在蒙古文印刷体识别和手写识别任务中,使用不便的技术问题。

作为上述方案的进一步改进,所述位置属性包括“独”、“首”、“中”、“末”;其中,位置属性“独”用于表示没有连接符的独立词,位置属性“首”用于表示存在所述连接符且所述连接符必须出现在词开头的串,位置属性“中”用于表示存在所述连接符且所述连接符必须出现在词中间的串,位置属性“末”用于表示存在所述连接符且所述连接符必须出现在词结尾处的串。

作为上述方案的进一步改进,所述蒙古文字母的数量为382个;其中,所述蒙古文字母按照先行后列的顺序依此按三位数字给每个字母编码。

作为上述方案的进一步改进,蒙古文字母

1833 180B 1823 180B=001

1833 1826 180C=001

1833 180B 1823 200D=001

1833 180B 1824 200D=001

1833 180B 1825 180B 200D=001

1833 180B 1826 180B 200D=001

200D 1832 1823 180B=001

200D 1832 1824 180B=001

200D 1833 1823 180B=001

200D 1833 1824 180B=001

200D 1832 1823 200D=001

200D 1832 1824 200D=001

200D 1832 1825 200D=001

200D 1832 1826 200D=001

200D 1833 1823 200D=001

200D 1833 1824 200D=001

200D 1833 1825 200D=001

200D 1833 1826 200D=001

202F 1833 1824 200D=001

202F 1833 1826 200D=001

其中,“200D”表示连接符。

作为上述方案的进一步改进,在步骤(5)中,中止遍历UL_S后发出错误代码1;在步骤(7)中,中止遍历UL_M后发出错误代码2。

本发明还提供一种蒙古文国际标准编码到形码转换方法,其包括以下步骤:

(1)定义蒙古文字母集合,所述蒙古文字母集合包括多个蒙古文字母;其中,每个蒙古文字母按照先行后列的顺序依此按三位数字给每个蒙古文字母编码,获得每个蒙古文字母的字母ID;

(2)枚举出生成每个蒙古文字母的所有可能Unicode编码序列,且定义每个蒙古文字母的格式“Unicode串=字母ID”且为无序列表;

(3)按照位置属性“独”、“首”、“中”、“末”将所述无序列表分为独性部分、首性部分、中性部分以及末性部分,且每份中按照Unicode串长度的倒序进行排序;其中,位置属性“独”用于表示没有连接符的独立词,位置属性“首”用于表示存在所述连接符且所述连接符必须出现在词开头的串,位置属性“中”用于表示存在所述连接符且所述连接符必须出现在词中间的串,位置属性“末”用于表示存在所述连接符且所述连接符必须出现在词结尾处的串;

(4)获取待转换蒙古文Unicode串,初始化转换结果序列;

(5)遍历所述独性部分,并判断所述待转换蒙古文Unicode串是否存在于所述独性部分中,如果存在则将相应行“=”后的字母ID存于所述转换结果序列中,否则继续遍历所述独性部分;

(6)遍历所述首性部分,并判断所述首性部分的各行的Unicode串是否与所述待转换蒙古文Unicode串开头匹配,如果有匹配行时则相应行“=”后的字母ID存于所述转换结果序列中并从所述待转换蒙古文Unicode串中删除相应的匹配部分,并继续遍历所述首性部分,如果没有匹配行则中止遍历所述首性部分;

(7)遍历所述中性部分,并判断所述待转换蒙古文Unicode串是否存在于所述中性部分中,如果存在则将相应行“=”后的字母ID累加在所述转换结果序列中,否则继续遍历所述中性部分;

(8)遍历所述末性部分,并判断所述末性部分的Unicode串是否与所述待转换蒙古文Unicode串开头匹配,如果有匹配行时则相应行“=”后的字母ID累加在所述转换结果序列中并从所述待转换蒙古文Unicode串中删除相应的匹配部分,并继续遍历所述末性部分,如果没有匹配行则中止遍历所述末性部分。

作为上述方案的进一步改进,在步骤(1)中,所述蒙古文字母的数量为382个;

在步骤(6)中,中止遍历所述首性部分后发出错误代码1;

在步骤(8)中,中止遍历所述末性部分后发出错误代码2。

本发明还提供一种蒙古文国际标准编码到形码转换装置,其应用上述任意所述的蒙古文国际标准编码到形码转换方法,其包括:

枚举模块,其用于枚举出生成每个蒙古文字母的所有可能Unicode编码序列,并记录各格式“Unicode串=字母ID”且记作UL;

划分模块,其用于将UL按照位置属性分为四份,并分别记作UL_A、UL_S、UL_M、UL_E,且每份中按照Unicode串长度的倒序进行排序;其中,定义UL_X(i).uni为UL第i行“=”前的Unicode串,UL_X(i).scode为UL第i行“=”后的字母ID,X为字母A、S、M、E中的一种;

初始化模块,其用于将待转换蒙古文Unicode串记作mgl,初始化转换结果序列glist=[];

遍历模块一,其用于遍历UL_A并判断mgl是否存在于UL_A中,如果存在且行号为i时,则glist=[UL_A(i).scode]并结束遍历UL_A,否则继续遍历UL_A;

遍历模块二,其用于遍历UL_S,判断UL_S(i).uni是否与mgl开头匹配,如果有匹配行时则glist=[UL_A(i).scode]且mgl=mgl-UL_A(i).uni,并继续遍历UL_S,否则中止遍历UL_S;

遍历模块三,其用于遍历UL_E,判断mgl是否存在于UL_E中,如果存在且行号为i时,则glist=glist+[UL_A(i).scode]并结束遍历UL_E,否则继续遍历UL_E;

遍历模块四,其用于遍历UL_M,判断UL_M(i).uni是否与mgl开头匹配,如果有匹配行时则glist=glist+[UL_A(i).scode]且mgl=mgl-UL_A(i).uni,并当mgl==空则结束遍历UL_M,否则继续遍历UL_M,如果没有匹配行则中止遍历UL_M。

本发明还提供一种蒙古文国际标准编码到形码转换装置,其应用上述任意所述的蒙古文国际标准编码到形码转换方法,其包括:

定义模块,其用于定义蒙古文字母集合,所述蒙古文字母集合包括多个蒙古文字母;其中,每个蒙古文字母按照先行后列的顺序依此按三位数字给每个蒙古文字母编码,获得每个蒙古文字母的字母ID;

枚举模块,其用于枚举出生成每个蒙古文字母的所有可能Unicode编码序列,且定义每个蒙古文字母的格式“Unicode串=字母ID”且为无序列表;

划分模块,其用于按照位置属性“独”、“首”、“中”、“末”将所述无序列表分为独性部分、首性部分、中性部分以及末性部分,且每份中按照Unicode串长度的倒序进行排序;其中,位置属性“独”用于表示没有连接符的独立词,位置属性“首”用于表示存在所述连接符且所述连接符必须出现在词开头的串,位置属性“中”用于表示存在所述连接符且所述连接符必须出现在词中间的串,位置属性“末”用于表示存在所述连接符且所述连接符必须出现在词结尾处的串;

初始化模块,其用于获取待转换蒙古文Unicode串,初始化转换结果序列;

遍历模块一,其用于遍历所述独性部分,并判断所述待转换蒙古文Unicode串是否存在于所述独性部分中,如果存在则将相应行“=”后的字母ID存于所述转换结果序列中,否则继续遍历所述独性部分;

遍历模块二,其用于遍历所述首性部分,并判断所述首性部分的各行的Unicode串是否与所述待转换蒙古文Unicode串开头匹配,如果有匹配行时则相应行“=”后的字母ID存于所述转换结果序列中并从所述待转换蒙古文Unicode串中删除相应的匹配部分,并继续遍历所述首性部分,如果没有匹配行则中止遍历所述首性部分;

遍历模块三,其用于遍历所述中性部分,并判断所述待转换蒙古文Unicode串是否存在于所述中性部分中,如果存在则将相应行“=”后的字母ID累加在所述转换结果序列中,否则继续遍历所述中性部分;

遍历模块四,其用于遍历所述末性部分,并判断所述末性部分的Unicode串是否与所述待转换蒙古文Unicode串开头匹配,如果有匹配行时则相应行“=”后的字母ID累加在所述转换结果序列中并从所述待转换蒙古文Unicode串中删除相应的匹配部分,并继续遍历所述末性部分,如果没有匹配行则中止遍历所述末性部分。

本发明还提供一种计算机终端,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行程序时实现上述任意所述的蒙古文国际标准编码到形码转换方法的步骤。

相较于现有的蒙古文Unicode编码,本发明的蒙古文国际标准编码到形码转换方法、装置及计算机终端具有以下有益效果:

1、该蒙古文国际标准编码到形码转换方法,其通过先枚举出每个蒙古文字母的所有可能的Unicode编码序列,再将按照位置属性分为四份,并且每份中按照Unicode串长度的倒序进行排序,然后对各份进行遍历并分别判断,并且在遍历过程中利用转换结果序列进行存放,从而实现将蒙古文国际标准编码转换到形码,即能够实现多对多的关系转化,也可以对没有固定转换关系的转换,还可以对不是定长的编码进行转换,从而可以生成作为中间码的字形编码,便于蒙古文印刷体识别和手写识别,方便蒙古文Unicode编码表示和存储。

2、该蒙古文国际标准编码到形码转换装置,其有益效果与上述蒙古文国际标准编码到形码转换方法的有益效果相同,在此不再做赘述。

3、该计算机终端,其有益效果与上述蒙古文国际标准编码到形码转换方法的有益效果相同,在此不再做赘述。

附图说明

图1为本发明实施例1中蒙古文Unicode编码的示意图。

图2为本发明实施例1中的382个蒙古文字母的统计图。

图3为本发明实施例1的蒙古文国际标准编码到形码转换方法的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

实施例1

本实施例提供了一种蒙古文国际标准编码到形码转换方法,该转换方法用于将蒙古文国际标准编码转换到形码。请参阅图1,本案发明人通过研究发现,根据ISO/IEC 10646的有关规则,只对这些变体形式中的一个进行编码,称为“名义字符”。“名义字符”选取的一般原则是:对于元音,采用它们的独立形式:对辅音,采用出现在元音“A”前面的词首形式。所有其它形式称为“变形显现形式”。如果不同文种的一些字母在词首时有相同的形式。而在词中或词尾有不同的形式时,应采用不同字形,以区分文种。如发音为BA的字母,传统蒙古文用

传统蒙古文中有四个特殊的元音O、U、OE和UE,前两个字符的变形显现字符形状一样,后两个字符的变形显现字符形状也一样,但它们是形同音不同的四个字母。在字符集中取。的独立形式

在每个文种中,名义字符所对应的变形显现字符的选择,一般情况下都可以根据其在单词中的位置或词性确定。但有少数变形无法确定,需要通过字符集中的控制符才能确定。蒙古文国际标准编码字符集用到的控制符包括:U+180B、U+180C、U+180D、U+180E、U+202F、U+200C、U+200D。其中后3个编码来自通用符号区。在目前的蒙古文印刷体识别和手写识别任务中有时需要字形编码作为中间码,而不直接使用Unicode编码。因为蒙古文Unicode编码不能直接表示字形信息,而目前蒙古文资源都是用Unicode编码表示和存储。从字形角度看,蒙古文不像英文那样有固定独立的26个字母,而可以从不同角度定义不同的字母集合。

基于此,本实施例定义蒙古文字母的数量为382个,即形成个包含382个字母的蒙古文字母集合,并且这382个蒙古文字母如图2中所示。

其中,蒙古文字母按照先行后列的顺序依此按三位数字给每个字母编码,从左上角开始,如

转换过程就是将一个Unicode编码表示的蒙古文,转成用字母编号便是的蒙古文。例如:蒙古文“

(1)多对多关系。例如,上例子中“0x1837 0x1820”这俩个转换成”“196”;

(2)没有固定转换关系,例如“0x1820”上例中转换成了“244”,但其它文字中“0x1820”可能会被转成“307 310 329 357”等;

(3)不是定长转换,上例中“0x1820→244”“0x1837 0x1820→196”“0x1833→369”。

请参阅图3,本案发明人考虑到以上,提出一种转换方法,并且本实施例的蒙古文国际标准编码到形码转换方法就包括以下这些步骤。

(1)枚举出生成每个蒙古文字母的所有可能Unicode编码序列,并记录各格式“Unicode串=字母ID”且记作UL。其中,蒙古文字母

1833 180B 1823 180B=001

1833 1826 180C=001

1833 180B 1823 200D=001

1833 180B 1824 200D=001

1833 180B 1825 180B 200D=001

1833 180B 1826 180B 200D=001

200D 1832 1823 180B=001

200D 1832 1824 180B=001

200D 1833 1823 180B=001

200D 1833 1824 180B=001

200D 1832 1823 200D=001

200D 1832 1824 200D=001

200D 1832 1825 200D=001

200D 1832 1826 200D=001

200D 1833 1823 200D=001

200D 1833 1824 200D=001

200D 1833 1825 200D=001

200D 1833 1826 200D=001

202F 1833 1824 200D=001

202F 1833 1826 200D=001

其中,“200D”表示连接符。无“200D”时表示这个串是一个独立词,用位置属性“独”表示;“*200D”表示这个串必须出现在词开头,用位置属性“首”表示;“200D*200D”表示这个串必须出现在词中间,用位置属性“中”表示;“200D*”表示这个串必须出现在词结尾处,用位置属性“末”表示。

(2)将UL按照位置属性分为四份,并分别记作UL_A、UL_S、UL_M、UL_E,且每份中按照Unicode串长度的倒序进行排序;其中,定义UL_X(i).uni为UL第i行“=”前的Unicode串,UL_X(i).scode为UL第i行“=”后的字母ID,X为字母A、S、M、E中的一种。在本实施例中,位置属性包括“独”、“首”、“中”、“末”。其中,位置属性“独”用于表示没有连接符的独立词,位置属性“首”用于表示存在连接符且连接符必须出现在词开头的串,位置属性“中”用于表示存在连接符且连接符必须出现在词中间的串,位置属性“末”用于表示存在连接符且连接符必须出现在词结尾处的串。

(3)将待转换蒙古文Unicode串记作mgl,初始化转换结果序列glist=[]。glist=[]表示空,而mgl以“4位十六进制4位十六进制4位十六进制”格式保存。

(4)遍历UL_A并判断mgl是否存在于UL_A中,如果存在且行号为i时,则glist=[UL_A(i).scode]并结束遍历UL_A,否则继续遍历UL_A。

(5)遍历UL_S,判断UL_S(i).uni是否与mgl开头匹配,如果有匹配行时则glist=[UL_A(i).scode]且mgl=mgl-UL_A(i).uni,并继续遍历UL_S,否则中止遍历UL_S。在本步骤中,中止遍历UL_S后发出错误代码1。

(6)遍历UL_E,判断mgl是否存在于UL_E中,如果存在且行号为i时,则glist=glist+[UL_A(i).scode]并结束遍历UL_E,否则继续遍历UL_E。

(7)遍历UL_M,判断UL_M(i).uni是否与mgl开头匹配,如果有匹配行时则glist=glist+[UL_A(i).scode]且mgl=mgl-UL_A(i).uni,并当mgl==空则结束遍历UL_M,否则继续遍历UL_M,如果没有匹配行则中止遍历UL_M。在本步骤中,中止遍历UL_M后发出错误代码2。

综上所述,相较于现有的蒙古文Unicode编码,本实施例的蒙古文国际标准编码到形码转换方法具有以下优点:

该蒙古文国际标准编码到形码转换方法,其通过先枚举出每个蒙古文字母的所有可能的Unicode编码序列,再将按照位置属性分为四份,并且每份中按照Unicode串长度的倒序进行排序,然后对各份进行遍历并分别判断,并且在遍历过程中利用转换结果序列进行存放,从而实现将蒙古文国际标准编码转换到形码,即能够实现多对多的关系转化,也可以对没有固定转换关系的转换,还可以对不是定长的编码进行转换,从而可以生成作为中间码的字形编码,便于蒙古文印刷体识别和手写识别,方便蒙古文Unicode编码表示和存储。

实施例2

本实施例提供了一种蒙古文国际标准编码到形码转换方法,该转换方法与实施例1的相似,在本实施例中,该方法具体包括以下这些步骤。

(1)定义蒙古文字母集合,蒙古文字母集合包括多个蒙古文字母。其中,每个蒙古文字母按照先行后列的顺序依此按三位数字给每个蒙古文字母编码,获得每个蒙古文字母的字母ID。其中,蒙古文字母的数量为382个,且382个蒙古文字母如实施例1中的图2中所示。

(2)枚举出生成每个蒙古文字母的所有可能Unicode编码序列,且定义每个蒙古文字母的格式“Unicode串=字母ID”且为无序列表。

(3)按照位置属性“独”、“首”、“中”、“末”将无序列表分为独性部分、首性部分、中性部分以及末性部分,且每份中按照Unicode串长度的倒序进行排序。其中,位置属性“独”用于表示没有连接符的独立词,位置属性“首”用于表示存在连接符且连接符必须出现在词开头的串,位置属性“中”用于表示存在连接符且连接符必须出现在词中间的串,位置属性“末”用于表示存在连接符且连接符必须出现在词结尾处的串。

(4)获取待转换蒙古文Unicode串,初始化转换结果序列。

(5)遍历独性部分,并判断待转换蒙古文Unicode串是否存在于独性部分中,如果存在则将相应行“=”后的字母ID存于转换结果序列中,否则继续遍历独性部分。

(6)遍历首性部分,并判断首性部分的各行的Unicode串是否与待转换蒙古文Unicode串开头匹配,如果有匹配行时则相应行“=”后的字母ID存于转换结果序列中并从待转换蒙古文Unicode串中删除相应的匹配部分,并继续遍历首性部分,如果没有匹配行则中止遍历首性部分,中止遍历首性部分后发出错误代码1。

(7)遍历中性部分,并判断待转换蒙古文Unicode串是否存在于中性部分中,如果存在则将相应行“=”后的字母ID累加在转换结果序列中,否则继续遍历中性部分。

(8)遍历末性部分,并判断末性部分的Unicode串是否与待转换蒙古文Unicode串开头匹配,如果有匹配行时则相应行“=”后的字母ID累加在转换结果序列中并从待转换蒙古文Unicode串中删除相应的匹配部分,并继续遍历末性部分,如果没有匹配行则中止遍历末性部分,中止遍历末性部分后发出错误代码2。

实施例3

本实施例提供了一种蒙古文国际标准编码到形码转换装置,其应用实施例1中的蒙古文国际标准编码到形码转换方法,并且包括枚举模块、划分模块、初始化模块、遍历模块一、遍历模块二、遍历模块三以及遍历模块四。

枚举模块用于枚举出生成每个蒙古文字母的所有可能Unicode编码序列,并记录各格式“Unicode串=字母ID”且记作UL。划分模块用于将UL按照位置属性分为四份,并分别记作UL_A、UL_S、UL_M、UL_E,且每份中按照Unicode串长度的倒序进行排序。其中,定义UL_X(i).uni为UL第i行“=”前的Unicode串,UL_X(i).scode为UL第i行“=”后的字母ID,X为字母A、S、M、E中的一种。初始化模块用于将待转换蒙古文Unicode串记作mgl,初始化转换结果序列glist=[]。

遍历模块一用于遍历UL_A并判断mgl是否存在于UL_A中,如果存在且行号为i时,则glist=[UL_A(i).scode]并结束遍历UL_A,否则继续遍历UL_A。遍历模块二用于遍历UL_S,判断UL_S(i).uni是否与mgl开头匹配,如果有匹配行时则glist=[UL_A(i).scode]且mgl=mgl-UL_A(i).uni,并继续遍历UL_S,否则中止遍历UL_S。遍历模块三用于遍历UL_E,判断mgl是否存在于UL_E中,如果存在且行号为i时,则glist=glist+[UL_A(i).scode]并结束遍历UL_E,否则继续遍历UL_E。遍历模块四用于遍历UL_M,判断UL_M(i).uni是否与mgl开头匹配,如果有匹配行时则glist=glist+[UL_A(i).scode]且mgl=mgl-UL_A(i).uni,并当mgl==空则结束遍历UL_M,否则继续遍历UL_M,如果没有匹配行则中止遍历UL_M。这四个遍历模块分别用于遍历划分模块所划分的四部分,实现对蒙古文国际标准编码到形码的转换。

实施例4

本实施例提供了一种蒙古文国际标准编码到形码转换装置,该装置应用实施例2中的蒙古文国际标准编码到形码转换方法,并且包括定义模块、枚举模块、划分模块、初始化模块、遍历模块一、遍历模块二、遍历模块三以及遍历模块四。

定义模块用于定义蒙古文字母集合,蒙古文字母集合包括多个蒙古文字母。其中,每个蒙古文字母按照先行后列的顺序依此按三位数字给每个蒙古文字母编码,获得每个蒙古文字母的字母ID。枚举模块用于枚举出生成每个蒙古文字母的所有可能Unicode编码序列,且定义每个蒙古文字母的格式“Unicode串=字母ID”且为无序列表。划分模块用于按照位置属性“独”、“首”、“中”、“末”将无序列表分为独性部分、首性部分、中性部分以及末性部分,且每份中按照Unicode串长度的倒序进行排序。其中,位置属性“独”用于表示没有连接符的独立词,位置属性“首”用于表示存在连接符且连接符必须出现在词开头的串,位置属性“中”用于表示存在连接符且连接符必须出现在词中间的串,位置属性“末”用于表示存在连接符且连接符必须出现在词结尾处的串。初始化模块用于获取待转换蒙古文Unicode串,初始化转换结果序列。

遍历模块一用于遍历独性部分,并判断待转换蒙古文Unicode串是否存在于独性部分中,如果存在则将相应行“=”后的字母ID存于转换结果序列中,否则继续遍历独性部分。遍历模块二用于遍历首性部分,并判断首性部分的各行的Unicode串是否与待转换蒙古文Unicode串开头匹配,如果有匹配行时则相应行“=”后的字母ID存于转换结果序列中并从待转换蒙古文Unicode串中删除相应的匹配部分,并继续遍历首性部分,如果没有匹配行则中止遍历首性部分。遍历模块三用于遍历中性部分,并判断待转换蒙古文Unicode串是否存在于中性部分中,如果存在则将相应行“=”后的字母ID累加在转换结果序列中,否则继续遍历中性部分。遍历模块四用于遍历末性部分,并判断末性部分的Unicode串是否与待转换蒙古文Unicode串开头匹配,如果有匹配行时则相应行“=”后的字母ID累加在转换结果序列中并从待转换蒙古文Unicode串中删除相应的匹配部分,并继续遍历末性部分,如果没有匹配行则中止遍历末性部分。这四个遍历模块分别用于遍历划分模块所划分的四部分,实现对蒙古文国际标准编码到形码的转换。

实施例5

本实施例提供一种计算机终端,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序。处理器执行程序时实现实施例1或2的蒙古文国际标准编码到形码转换方法的步骤。

实施例1或2的方法在应用时,可以软件的形式进行应用,如设计成独立运行的程序,安装在计算机终端上,计算机终端可以是电脑、智能手机、控制系统以及其他物联网设备等。实施例1的方法也可以设计成嵌入式运行的程序,安装在计算机终端上,如安装在单片机上。

实施例6

本实施例提供一种计算机可读存储介质,其上存储有计算机程序。程序被处理器执行时,实现实施例1或2的蒙古文国际标准编码到形码转换方法的步骤。

实施例1或2的方法在应用时,可以软件的形式进行应用,如设计成计算机可读存储介质可独立运行的程序,计算机可读存储介质可以是U盘,设计成U盾,通过U盘设计成通过外在触发启动整个方法的程序。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号