计算机文档中实现藏文自动规则排版的方法

文档序号:6561207阅读:418来源:国知局
专利名称:计算机文档中实现藏文自动规则排版的方法
技术领域
本发明涉及计算机办公软件信息处理领域,特别涉及文字处理文档排版领域,具体是指一种计算机文档中实现藏文自动规则排版的方法。
背景技术
在现代生活中,计算机越来越成为人们必不可少的工具,其中随着电子化进程的逐步加快,人们对办公软件的需求也越来越高,特别是对于文字处理文档中的排版自动化处理,更是需求和应用的非常广泛。
目前,传统的文档处理工具对于常用的语言都有对应的排版格式工具,而对于使用范围较为狭小的少数民族语言来说,比如藏语,就显得非常不够。而对于藏语的信息化电子化工程已经越来越提上了议事日程。
但是在现有技术中,并没有专门处理藏文的计算机文档排版技术,只能是依靠手工调整的方式来进行排版,请参阅图1所示,用目前市面上的Office等软件来编辑藏文文档时,当编辑到行尾时,剩余的空间有时不能放下整个藏文音节,就会出现一个音节部分显示在当前行,剩余音节显示在下一行,这样造成了音节因显示在两行而影响阅读,排版也不美观。即使有些嵌入的排版小工具能够做到藏文的排版效果,但是也是手工的,每次编辑文档都需要手工的去调用该工具来重新的对整个文档进行重新排版。如果需要拷贝排好版的内容,粘贴后的文字中会包含许多排版时补充的“字分符”,需要再次的进行重新排版。
总之,现有技术中存在如下缺陷(1)写藏文文档到行尾换行时,需要手工断字分行,手工补足字分符;(2)修改已写好的文档时,需要再次对修改处后面的所有行进行手工的来断字分行,添加或删除行尾的字分符;(3)拷贝一段多行的文字粘贴后,又需要删除手工的删除拷贝文字中的多余字分符,并再次手工进行段落的排版。
由于存在以上各种缺陷,在办公软件中编辑藏文文档非常的费时费力,文档格式的正确性大为降低,造成了编辑藏文文档的效率非常的低,给编辑藏文文档带来了很大的不便,阻碍了藏文的信息化进程。

发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种适合于藏文自动化规则排版、运行性能稳定可靠、系统处理效率较高、适用范围较为广泛的计算机文档中实现藏文自动规则排版的方法。
为了实现上述的目的,本发明的计算机文档中实现藏文自动规则排版的方法如下该计算机文档中实现藏文自动规则排版的方法,其主要特点是,所述的方法包括以下步骤(1)系统进行初始化操作;(2)扫描文档中的藏文段落字符信息;(3)以藏文字分符或者语句结束符对该藏文段落字符信息进行断字,并根据断字的结果计算确定当前行的开始藏文字符、能够排下的藏文字符数和行末的藏文字符;(4)判断该行末的藏文字符是否为段落结束字符;(5)如果是,则结束本藏文段落的排版;(6)如果否,则判断该行中的剩余宽度是否大于零;(7)如果否,则返回步骤(3);(8)如果是,则根据该行中的剩余宽度大小进行藏文行尾补齐操作,并返回步骤(3)。
该计算机文档中实现藏文自动规则排版的方法的扫描文档中的藏文段落字符信息包括以下步骤(1)系统获取藏文段落包含的文字串信息;(2)系统扫描该文字串信息,并记录每个字符的宽度。
该计算机文档中实现藏文自动规则排版的方法的根据断字的结果计算确定当前行的开始藏文字符、能够排下的藏文字符数和行末的藏文字符包括以下步骤(1)计算当前行的宽度;(2)如果当前行为第一行,则将该藏文段落文字串的第一个藏文字符作为当前行的开始藏文字符;如果当前行不是第一行,则将上一行的行末的藏文字符的下一个字符作为当前行的开始藏文字符;(3)根据当前行的宽度,计算当前行能够排下的从当前行的开始藏文字符的字符数;(4)若行末的藏文字符为字分符、语句结束符或者该藏文段落的最后字符,保持该行末的藏文字符;(5)否则,从该行末的藏文字符向前扫描,直至遇到藏文字分符或藏文语句结束符为止,并将该藏文字分符或藏文语句结束符记录为该行末的藏文字符。
该计算机文档中实现藏文自动规则排版的方法的得到该行的剩余宽度为根据当前行的宽度和该行末的藏文字符计算出该行的剩余宽度。
该计算机文档中实现藏文自动规则排版的方法的进行藏文行尾补齐操作包括以下步骤(1)获取该行末的藏文字符的宽度;(2)根据该行的剩余宽度计算出该行需要补足的字分符的个数;(3)采用虚拟插入方式将这些需要补足的字分符插入到该行的行末位置。
采用了该发明的计算机文档中实现藏文自动规则排版的方法,由于使用者在书写藏文文档到行尾换行时,系统能够自动断字分行,并补足字分符至行的宽度为止,完全不用手工干预;同时修改已写好的文档时,自动对从修改处到本段落的段尾进行排版,自动的增加或删除字分符,使每一行都保持对齐;而且在拷贝一段多行的文字时,由于插入字分符采用的是虚拟插入技术,这些字分符可以显示、打印,拷贝时不会放入粘贴板中,粘贴时不会在文档的非行末处插入多余的字分符,粘贴后再自动地对自粘贴处到段尾进行排版,从而很好的解决了藏文信息处理中的藏文断字和分行的问题,而且这些操作无需人工干预,能够做到完全的自动处理,同时使得做出来的文档非常美观大方;不仅如此,该方法的运行性能稳定可靠,系统处理效率较高,适用范围较为广泛,不仅适合于藏文,而且还适合于其它类型的采用字分符进行文字分割的语言,为计算机信息化文档技术的广泛应用奠定了坚实的基础。


图1为采用普通计算机文档编辑工具进行藏文排版的效果图。
图2为本发明的计算机文档中实现藏文自动规则排版的方法中进行文档排版全过程的示意图。
图3为本发明的计算机文档中实现藏文自动规则排版的方法的流程图。
图4为本发明的计算机文档中实现藏文自动规则排版的方法中藏文行尾补足操作的流程图。
图5为采用本发明的计算机文档中实现藏文自动规则排版的方法进行藏文排版后的效果图。
具体实施例方式
为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。
请参阅图2至图5所示,该计算机文档中实现藏文自动规则排版的方法,包括以下步骤(1)系统进行初始化操作;(2)扫描文档中的藏文段落字符信息,包括以下步骤(a)系统获取藏文段落包含的文字串信息;(b)系统扫描该文字串信息,并记录每个字符的宽度;(3)以藏文字分符或者语句结束符对该藏文段落字符信息进行断字,并根据断字的结果计算确定当前行的开始藏文字符、能够排下的藏文字符数和行末的藏文字符,包括以下步骤(a)计算当前行的宽度;(b)如果当前行为第一行,则将该藏文段落文字串的第一个藏文字符作为当前行的开始藏文字符;如果当前行不是第一行,则将上一行的行末的藏文字符的下一个字符作为当前行的开始藏文字符;(c)根据当前行的宽度,计算当前行能够排下的从当前行的开始藏文字符的字符数;(d)若行末的藏文字符为字分符、语句结束符或者该藏文段落的最后字符,保持该行末的藏文字符;(e)否则,从该行末的藏文字符向前扫描,直至遇到藏文字分符或藏文语句结束符为止,并将该藏文字分符或藏文语句结束符记录为该行末的藏文字符;(4)判断该行末的藏文字符是否为段落结束字符;(5)如果是,则结束本藏文段落的排版;(6)如果否,则判断该行中的剩余宽度是否大于零,该得到该行的剩余宽度为根据当前行的宽度和该行末的藏文字符计算出该行的剩余宽度;(7)如果否,则返回步骤(3);(8)如果是,则根据该行中的剩余宽度大小进行藏文行尾补齐操作,并返回步骤(3),该进行藏文行尾补齐操作包括以下步骤(a)获取该行末的藏文字符的宽度;(b)根据该行的剩余宽度计算出该行需要补足的字分符的个数;(c)采用虚拟插入方式将这些需要补足的字分符插入到该行的行末位置。
在实际使用当中,这里所说的办公软件中的藏文排版就是将一串藏文字符排成符合藏文排版习惯的电子文档的过程。
本发明的具体实现过程中,文档的排版过程是以段落(函数Format_Para)为单位新建一篇文档,在编辑的时,对所编辑的段落进行排版(Format_Para);打开一篇已有文档,在获取文档的内容后,从文档的第一段落起依次排版(Format_Para),直至所有段落排版完成为止。
函数Format_Para运行的过程即为本发明的藏文排版流程,其中包括以下函数●ReadChars——该函数获取即将排版的段落所包含的所有字符。
●SaveCharsWidth——该函数计算本段落中每个字符的宽度并记录在指定数组中。
●GetLineWidth——该函数计算正在排版中的行的宽度。
●GetLineFirstChar——该函数获取行的起始字符。
●GuessCharNum——该函数计算本行能够排下的字符数目,从数组中获得每个字符的宽度向后累加,到累加值接近行宽为止。
●IsEndOfPara——该函数判断本行的最后一个字符是否为该段的最后一个字符。
●IsEndCharRight——该函数判断此时行末的字符是否为字分符或者语句结束符。
●SearchTibetEndChar——该函数从本行中自后向前查找字分符或语句结束符。
●CompleteLineEnd——该函数用字分符补足本行剩余的空间。
所述的办公软件中藏文排版操作的过程如下(1)系统获取待排版段落包含的文字串;(2)扫描该文字串,记录每个字符的宽度;(3)计算当前行的宽度,记录本行的开始字符为文字串的第一个字符;(4)根据当前行的宽度,计算当前行能够排下的自行开始字符的字符数;(5)若行末字符为本段落最后字符,则结束本段落的排版;(6)若行末藏文字符是字分符或语句结束符,则转步骤(8);反之,则从该字符向前扫描,直至获得字分符或语句结束符为止,并记录为本行的行的结束字符;(7)进行藏文行尾补齐操作CompleteLineEnd,该行尾补齐操作包括以下步骤●根据行宽和本行的结束处的藏文字符得出本行剩余的宽度;●获取本行结束处的字符的宽度;●计算本行需补足字分符的个数;●将这些字分符插入到本行的行末;(8)记录下一行的开始字符为(5)中得到的字符的下一个字符;(9)重复步骤(4)到步骤(8),至段落排版结束。
采用了上述的计算机文档中实现藏文自动规则排版的方法,由于使用者在书写藏文文档到行尾换行时,系统能够自动断字分行,并补足字分符至行的宽度为止,完全不用手工干预;同时修改已写好的文档时,自动对从修改处到本段落的段尾进行排版,自动的增加或删除字分符,使每一行都保持对齐;而且在拷贝一段多行的文字时,由于插入字分符采用的是虚拟插入技术,这些字分符可以显示、打印,拷贝时不会放入粘贴板中,粘贴时不会在文档的非行末处插入多余的字分符,粘贴后再自动地对自粘贴处到段尾进行排版,从而很好的解决了藏文信息处理中的藏文断字和分行的问题,而且这些操作无需人工干预,能够做到完全的自动处理,同时使得做出来的文档非常美观大方;不仅如此,该方法的运行性能稳定可靠,系统处理效率较高,适用范围较为广泛,不仅适合于藏文,而且还适合于其它类型的采用字分符进行文字分割的语言,为计算机信息化文档技术的广泛应用奠定了坚实的基础。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
权利要求
1.一种计算机文档中实现藏文自动规则排版的方法,其特征在于,所述的方法包括以下步骤(1)系统进行初始化操作;(2)扫描文档中的藏文段落字符信息;(3)以藏文字分符或者语句结束符对该藏文段落字符信息进行断字,并根据断字的结果计算确定当前行的开始藏文字符、能够排下的藏文字符数和行末的藏文字符;(4)判断该行末的藏文字符是否为段落结束字符;(5)如果是,则结束本藏文段落的排版;(6)如果否,则判断该行中的剩余宽度是否大于零;(7)如果否,则返回步骤(3);(8)如果是,则根据该行中的剩余宽度大小进行藏文行尾补齐操作,并返回步骤(3)。
2.根据权利要求1所述的计算机文档中实现藏文自动规则排版的方法,其特征在于,所述的扫描文档中的藏文段落字符信息包括以下步骤(1)系统获取藏文段落包含的文字串信息;(2)系统扫描该文字串信息,并记录每个字符的宽度。
3.根据权利要求2所述的计算机文档中实现藏文自动规则排版的方法,其特征在于,所述的根据断字的结果计算确定当前行的开始藏文字符、能够排下的藏文字符数和行末的藏文字符包括以下步骤(1)计算当前行的宽度;(2)如果当前行为第一行,则将该藏文段落文字串的第一个藏文字符作为当前行的开始藏文字符;如果当前行不是第一行,则将上一行的行末的藏文字符的下一个字符作为当前行的开始藏文字符;(3)根据当前行的宽度,计算当前行能够排下的从当前行的开始藏文字符的字符数;(4)若行末的藏文字符为字分符、语句结束符或者该藏文段落的最后字符,保持该行末的藏文字符;(5)否则,从该行末的藏文字符向前扫描,直至遇到藏文字分符或藏文语句结束符为止,并将该藏文字分符或藏文语句结束符记录为该行末的藏文字符。
4.根据权利要求3所述的计算机文档中实现藏文自动规则排版的方法,其特征在于,所述的得到该行的剩余宽度为根据当前行的宽度和该行末的藏文字符计算出该行的剩余宽度。
5.根据权利要求1至4中任一项所述的计算机文档中实现藏文自动规则排版的方法,其特征在于,所述的进行藏文行尾补齐操作包括以下步骤(1)获取该行末的藏文字符的宽度;(2)根据该行的剩余宽度计算出该行需要补足的字分符的个数;(3)采用虚拟插入方式将这些需要补足的字分符插入到该行的行末位置。
全文摘要
本发明涉及一种计算机文档中实现藏文自动规则排版的方法,包括扫描文档中的藏文段落字符信息、对该藏文段落字符信息进行断字并计算确定当前行的开始藏文字符、能够排下的藏文字符数和行末的藏文字符、判断该藏文字符是否为段落结束字符、根据结果结束本藏文段落的排版或判断该行中的剩余宽度是否大于零、根据该行中的剩余宽度大小进行藏文行尾补齐操作。采用该种计算机文档中实现藏文自动规则排版的方法,解决了藏文信息处理中的断字和分行的问题,无需人工干预,自动处理,文档美观大方,性能稳定可靠,处理效率高,适用范围较为广泛,广泛适合于其它类型的采用字分符进行文字分割的语言,为计算机信息化文档技术的广泛应用奠定了坚实的基础。
文档编号G06F17/25GK1949210SQ200610117990
公开日2007年4月18日 申请日期2006年11月3日 优先权日2006年11月3日
发明者韩乃平 申请人:上海中标软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1