专利名称:文本格式化装置的制作方法
技术领域:
本发明是关于文本格式化的装置,适合于用格式限定的方法获得文本的格式化输出。
在准备用一种西方语言写的文本时,通常的做法是,把它格式化成为所希望的式样,诸如使文本符合打印纸的尺寸要求、进行填补和版面调整,如此打印出该文本。此种格式化程序的功能、作用和实际执行,对于本专业的技术人员是众所周知的,并且有不少参考文献可供利用。因此,对于格式器本身的进一步说明在此省略。作为参考文献之一,可参阅“软件工具”一书(“SoftwareTools”)第335至386页,第七章“文本格式化”(该书由BrianW.Kernighan、P.J.Plauger著,IzumiKimura翻译,KyouritsuShuppan公司出版)。
先有技术的格式化程序只用于对西方语言写的文本进行格式化。但是近年来日文文本的处理一直被认为是重要的,因而人们对于格式化程序不仅希望它能适应西文文本,而且希望对包含汉字字符的文本能以同样方式良好工作。此外,对于格式化程序还希望输出用非西文语言,除日语外还包括汉语和朝鲜语在内的格式化文本。在实施一种支持多种语言的文本格式化装置过程中,产生了一些新问题。
有关格式限定处理的问题是其中之一。如所周知,格式限定处理是要使某些特定字符不放在文本一行的起始或末尾。例如,当标点符号“。”来到一行的开头时,通过从前一行挤出一个字符到这一行来,将迫使该符号不位于该行的开头。
在先有技术用于日文文本处理的各格式化程序中,禁止位于一行开头或一行末尾的各字符集是固定的,而它们的字符代码则隐匿于它的程序代码中。这样,对于用户来说,日后修改这些字符集是不可能的。但是,当需要使用不仅适合日语,而且适合汉语、朝鲜语等等的这种程序时,涉及到格式限定处理的一个新问题产生了,这就是,适用于格式限定处理的各字符集在这些语言中是各不相同的,即使有一个共同的字符用于其中,它的字符代码表示法也可能是不同的。此外,即使用一种语言,其诸多要作格式限定的字符,也会在各别人之间而有所不同。从而,先有的文本格式化装置不能处理这种情况。
本发明的一个目的就是要解决上述先有技术的这个问题,和要处置在几种语言之间以及在各别人之间存在的格式限定处理中的各种差异。
根据本发明一个实施例的文本格式化装置的原理,对于用户来说,如有需要,更改格式限定处理所适用的各字符集是可能的。为做到这点,本实施例允许用户为起动填补操作而规定此类字符集,作为隐匿子文本中的一条命令的各参数。
图1是用于表示根据本发明的一个实施例的文本格式化装置结构的框图。其中12输入段;
14字生成段;
16.填补命令处理段;
18第一缓冲器;
20第二缓冲器;
24填补段。
图1是功能方框图。图中,要格式化的文本通过输入段12续入。用于控制文本格式化装置的格式化操作以及要格式化的文本正文的一些命令藏匿于该文本中。本实施例中,在这些命令中,有一条用于指示起动填补操作的命令。该命令可以任选地拥有若干参数,以规定不得位于一行起始的字符集(以下称作为排头限定字符集)和规定不得位子一行末尾的字符集(以下称作为排尾限定字符集),如下所示.fip′「(〔′S′。、.,」)〕′也就是说,上述该例指明要就该条命令下的文本部分执行填补操作。同时,它也规定那些包含在紧跟p后面的一对撇号内的各字符(本例中它们是「(和〔)作为排尾限定字符集以及那些包含在紧跟S后面一对撇号内的各字符(本例中它们是。、.,」)和〕)作为排头限定字符集。
图1中,当输入段12检测出这条命令时,就把它送往填补命令处理段16,以便分析。接着,填补命令处理段16控制转接段22,使字生成段14的输出通过填补段24。填补命令处理段16进一步从所给出的为把它们分别贮存在第一缓冲器18和第二缓冲器20中的填补命令中析取排尾限定字符集和排头限定字符集。当一个或它们中的任一个没有在该命令中给出时,相应缓冲器的内容就不被重写。这样,如果填补操作一旦暂停并接着又对不具有上述各参数的.fi命令敏感而重新起动,那么该格式限定处理将如前一样完成。
另方面,当输入段12接收任何并非是命令的目标时(即当它接收文本正文时),后者被送给字生成段14。该段把所给文本分为许多字,并把它们逐个地送往填补段24。当该段装有用非西文语言例如日语写的文本时,则把它分为例如汉字或假名众多字符的同时便对它们象对一种西文语言的词汇一样予以处理。用这种方法,本文本格式化装置可以对西文和非西文的文本一样处理。因为本说明书的所剩部分只讲述非西文文本的处理,因而所作的解释将假设字生成段14是逐个地输出各字符的。(当然,以下说明的填补段24可以对任何包含西文句子的文本起作用而不出问题,因为非西文文本的“字符”是被当作西文文本的“字”来处理的。)填补段24从字发生段14接收字符序列,逐个字符地把它们加到当前正在产生的一行的末尾。当检测出该行的末尾已越出右边限界时,填补段24把最后加上的那个字符移到下一行作为它的开头字符。
此时位于当前行末尾的字符和位于下一行开头的字符要分别同排尾和排头限定字符集的内容进行比较,如果在这些比较期间,没有检测出相一致的地方,那么该当前行就如它现在那样定下了。如果这些比较中至少有一个显示一致性,那么该当前行最后一个字符将被挤出而放到下一行的开头。以后,继续进行上述的这些比较,并且,如果必要的话,将重复挤出这些最后的字符。
填补段24接着调整刚定下的该当前行,以便使该当前行的最后一个字符同右边限界对齐。如所周知,施行均衡间隔打印或在该行一些适当的地方插入一个或几个空格就可以做到这点。
填补段24最终将如上所准备好的当前行传到作其他处理的段26。该行将由输出段28在收到需在那里处理的信息后予以打印。
不遵守日文格式限定规则的日文文本的一个例子是これは日本语の禁则处理にっぃこの、ひとっの例です。
改进后遵守日文格式限定规则的该文本成为これは日本语の禁则处理にっぃての、ひとっの例です。
本发明不局限于上述该实施例,当然可以根据需要广为修改。例如,可以为贮存排尾或排头限定字符集设置多个缓冲器,以便在它们中间选择。而且,填补段24的内部操作可以和以上说明不同。此外,输出设备不局限于是一台打印机,例如可以使用显示器。也可能在句号或问号之后选定空格(要在一个单间隔字符或两个单间隔字符之间作出抉择),因为该空格方案在各个国家中是不同的。
如上所述,因为根据本发明用户可以自由地设定和更改各限定字符集,因而就可能提供能够适应各种语言格式限定中的差异的文本格式化装置。
权利要求
一台具有为输入文本、使每一行都格式化以及执行格式化限定处理以提供用格式化形式输出所述文本的填补设备的文本格式化装置,其特征在于,包括用于为所述格式化限定处理贮备一个符号集的设备,所述设备能够响应所给出的命令,以更改用于所述格式化限定处理的所述符号集的内容。
全文摘要
本发明通过设置一条命令规定那些不得位于被格式化文本一行开头或位于一行末尾的各知号集,使所述文本格式器能适应这些不同的限定规则。
文档编号G06K17/00GK1030988SQ8710538
公开日1989年2月8日 申请日期1987年7月31日 优先权日1987年7月31日
发明者青木俊久, 渡边外治 申请人:惠普公司