计算机的排版方法,计算机编辑排版系统及其方法

图1所示为根据本发明的计算机编辑排版系统的示意性框图。其中,标号1表示输入装置(它可以是键盘或其他操作员可操作装置),2表示I/O接口电路,3是编辑排版处理装置,4是造字系统及字库,5是计算机,6表示显示器,7是驱动模块,8表示外部设备(它包括打印机、激光印字机和激光照排机等)。图1所示的计算机编辑排版系统的工作原理及操作过程如下所述。首先,操作人员借助于输入装置1,通过I/O接口2向编辑排版处理装置3输入所需要进行编辑排版的内容(文字、数理公式、化学式和符号等)以及为数很少的几条控制命令,然后编辑排版处理装置3由计算机5所控制,对需要进行编辑排版的输入内容进行编辑和排版处理,并同时在显示器6上直接显示版样,然后,操作人员可根据显示器6上显示的内容对其进行修改、删除、字形改变及放大、缩小等处理,而且在显示器6上最后显示的版式,内容,即为最终供输出印刷制版用的版式和内容。在显示器6上显示的版式和内容被确定之后,编辑排版处理装置3受输入装置1输入的命令所控制,产生一个信号到驱动模块7,然后驱动模块7控制计算机5使其通过I/O接口2驱动外部设备,当编辑排版处理装置3进行汉字排版时,将从造字系统和字库4中取字,而当如果字库中没有它所想调用的字时,造字系统将根据需要造出所要求的字形来。该字库中存有四种汉字字体,九种英文字体,一套数学符号和花边图案。

如图2所示,为输入装置1所包括的键盘盘面安排,它由如下部分组成:

1.英文字符ASCII码,由原键盘盘面安排,有数字0~9,A-Z,a~z以及!,.。等共94个字符。

2.希腊字母和数学符号,用“    ”键加一个ASCII码,如图3所示,有94个字符。

3.汉字方案选择控制键(CTRL)+功能键F.1~F.4,分别用于切换区位码、电报码、拼音码、五笔字型码四种汉字输入方法。

其中,区位码和电报码方法用0~9中的4位数字键作为外部代码,分别通过计算和查表方法转换为汉字代码(2个字节长度)。

拼音码和五笔字型码方案采用小写字母a~z共26个键码作为外部码,然后通过查表转换得到汉字代码。

4.如图2所示,四个键“↑↓→←”分别为字符指针控制键,即指向左、右字符或上、下字行;

“↑↓→←”分别为光标位置驱动键,可以半字、半行和逐点,逐线两种精度驱动光标在二维方向移动;

“”分别为排行位置命令键,可分别控制行居中,齐左、右齐与匀齐充满。

键可用于随意改变文字大小命令。

INS为行中插入字符命令键,DEL为行中删除字符命令键。

5.F11~F15和SHIFT+(F1~F15)分别表示求和式、积式、积分、极限、上下标、根式、分式、大根式、碳链、矢量式的功能开始命令。

F9是数理公式排版中,前段字符输入“切弧钡胶蠖巫址淙氲拿罴?

F8是结束公式排版,恢复到正文排版的命令键。

F6和F7是控制上标和下标的控制键。

6.“命令”键+(B、L、D、G、M、V、Z等)分别表示排版开始、置入栏宽、置入栏深、栏隙、栏数、行距、横竖排命令。

7.F1+(0~9)用于控制字体改变,F2+(0~9)为控制字号改变命令。

图3所示为ASCII码与数学符号的对照表。

图4所示为图1中编辑排版处理装置3的具体构成图。其中,301表示输入模块,用于将输入装置1通过I/O接口2输入的字符、图片和命令进行译码处理,从而根据要求将不同的处理对象区分开来,输入模块301的处理结果送往编辑模块302、显示模块304和排版模块303。显示模块304根据输入模块301的处理结果,从造字系统和字库4中调用有关的汉字并在显示器6上进行显示,与此同时,编辑模块302可由输入装置1所控制,对显示在显示器6上的内容进行实时增、删、移、放大缩小等多种处理,从而完成对显示内容的修改,并通过显示模块304驱动显示器6将处理的结果显示出来,而且排版模块303根据输入模块301的译码,确定排版的版式并在排版规则知识库305中查询要求的排版格式的规则及要求等,进而通过显示模块304对其进行有关处理并在显示器6上显示出该版式。

图5所示为图4中输入模块301,编辑模块302,排版模块303和显示模块304的框图,其中,输入模块301由图片输入子模块310,字符输入子模块311,位置输入子模块312,控制命令输入子模块313及译码处理子模块314组成。图片输入子模块310将由I/O接口2输入的图片扫描信号进行数字化处理并存储起来,字符输入子模块311接收键盘通过I/O接口2输入的键码并将其存储起来。而位置输入子模块312可以接收键盘、鼠标器、光笔、图形输入板及摇杆等通过I/O接口2的输入,从而得到当前操作点所在位置的数据(2维座标数据),控制命令输入子模块313也通过I/O接口2接收键盘、鼠标器、光笔或类似输入装置输入的、用于对排版进行控制的命令和参数,在译码处理子模块314中,对图片输入子模块310和字符输入子模块311中的内容进行处理,将它们转换成相应的内部数据代码和格式,并对位置输入子模块312和控制命令输入子模块313的控制命令进行解释,以对内部数据代码和不同的版式要求进行控制。例如,当字符输入子模块311接收并存贮的是五笔字形汉字输入方案时,译码处理总控模块314将由输入装置(如键盘)输入的控制命令所控制,对311接收到的外部代码(键码)按五笔字形的规则将其转换成内部文字代码。进而,经译码处理总控模块314处理而得到的内部数据代码和格式直接去往显示模块304驱动相应的显示子模块使之在显示器6上进行相应的显示。例如,如果输入装置1以五笔字形方案输入汉字,则经译码处理总控模块314进行译码处理后得到内部汉字代码,并经驱动显示模块304显示键入的汉字。然而,如果译码处理总控模块314处理的是控制命令,则应首先将其进行解释处理,然后驱动编辑模块302(或排版模块303)以及显示模块304中的相应子模块,从而在显示器6上直观的显示出所要求进行的控制处理,例如,当译码处理总控模块314从控制命令输入子模块313接收到要求改变字体的命令时,首先对该命令进行解释处理,然后驱动编辑模块302中的字体字号改变操作子模块320,并同时驱动显示模块304中的汉字文字显示子模块342,从而在显示器6上显示出改变了字体的文字。同样道理,如果译码处理总控模块314接收到的是文字排版的控制命令(如段长要求等),则在对该命令进行解释后,将驱动排版模块303中的文字页面排版子模块328和显示模块304中的汉字文字显示子模块342,从而在显示器6上显示出该排版控制命令要求进行的排版处理(如将段长限定为一定长度)。由图5可知,图4中的编辑模块302包括图片编辑操作子模块315,图片文本处理子模块321,图象搬移操作子模块316,搬移功能文本处理子模块322,图象考贝操作子模块317,考贝功能文本处理子模块322,图象删除操作子模块318,删除功能文本处理文本处理子模块24,图象插入操作子模块319,插入功能文本处理子模块325,字体字号改变操作子模块320以及字体字号改变处理子模块326。

当图片编辑操作子模块315被译码处理总控模块314驱动时,它将根据编辑控制命令,利用图象编辑的手段对图片的图象进行删除、缩放、裁剪,挪位等项操作,与此同时,图片文本处理子模块321将对存贮于其中的图片的文本记录进行相应处理,如删除该图片的纪录(删除操作),对缩放而言,就是同步地修改该图片记录中的大小,而且显示模块304中的网点图形显示子模块339由图片编辑操作子模块315所驱动,控制显示器6实时显示由图片编辑操作子模块315正在进行的操作处理以及操作处理后的结果.这样,操作者在显示器6上直接见到的是对图片直观的操作,而对图片进行的文本处理实际上并不与操作者见面。正是这样一种文本跟随处理的方法,避免了使操作者直接对文本进行烦杂的操作,取得了简洁、实用的直观效果,用户只要经过简单的了解,即可进行操作使用。

图5中的编辑模块的工作过程如下:

由译码处理总控制模块314进行处理后的编辑控制命令将对编辑模块302中的子模块进行选择驱动,被选中驱动的相应子模块将利用图象编辑手段根据编辑控制命令进行编辑操作,与此同时,在321~326中相应的文本处理子模块也将对存在其中,由10个参数和16个状态组成的记录文本进行相应的同步修改处理(各文本处理子模块中存贮的参数及状态值的内容将在后面叙述),并且,译码处理总控模块314在显示模块304中对选中的子模块进行驱动,从而直接在显示器6上实时地显示该操作子模块进行的操作及操作的结果,其中,图片编辑操作子模块315受译码处理总控模块314输出的控制命令所选择控制,完成对图片进行缩放,裁剪,挪位操作,同时,图片文本处理子模块321对它的文本记录中的有关参数,状态进行删除或修改处理,而且显示模块304中的网点图形显示子模块339受315的驱动,在显示器6上以网点图形的方式实时显示图片编辑操作子模块315正在进行的操作和操作后的结果,与之类似,在译码处理总控模块314的输出选择驱动下,图象搬移操作子模块316进行图象的搬移操作,而搬移功能文本处理子模块322根据316的操作结果,对存贮的参数和状态同步进行修改并通过显示模块304中的相应子模块进行同步显示处理后在显示器6上实时显示操作过程及操作结果。例如,若是对汉字进行搬移操作,则316将驱动汉字文字显示模块342进行显示处理并在显示器6上实时的显示搬移操作的过程和结果。图象考贝操作子模块317可以对线条、英文、汉字数学符号、方程式,化学符号等进行单个字、整体图以及整段、整节、整个公式和方程式等进行全部或部分考贝操作,而考贝功能文本处理子模块则响应其操作结果,删除所存贮的文本记录中的有关参数和状态并写入新的参数和状态值,进而通过显示模块04中的相应子模块驱动显示器6实时显示图象考贝操作子模块317所进行的考贝操作过程及操作结果。在图象插入操作子模块319为译码处理总控模块314所驱动开始工作时,插入功能文本处理子模块325也在插入操作结束时,对所存储的参数和状态值进行修改,这时,插入功能文本处理子模块中存贮的就是完成插入操作后当前状态的参数和状态的文本记录,而且,显示模块304中的相应子模块也同步进行操作处理使显示器6实时显示图象插入操作的过程及结果。同样,当字体字号改变操作子模块运行时,相对应的字体字号改变处理子模块326也根据326的操作结果,对存贮的有关字体字号的状态值及参数进行修改。当字体字号改变操作完成时,字体字号改变处理子模块326所存贮的是改变后的有关字体字号的状态及参数值,且显示器6上此时显示的字体字号就是所要求的字体字号。

由图5可知,排版模块303包括数学公式排版子模块327,数理公式排版文本处理子模块333,文字页面排版子模块328,文字页面排版文本处理子模块334,网点图片排版子模块329,网点图片排版文本处理子模块335,化学结构式排版子模块330,化学结构式排版文本处理子模块336,五线谱排版子模块331,五线谱文本处理子模块337,线条及作图子模块332,线条及作图文本处理子模块338。其工作原理及过程如下所述,当由译码处理总控模块314处理过的命令选择排版子模块之一进行排版时,该排版子模块受排版规则知识库305的支持,对要求进行的不同排版格式进行不同的约定,而且在排版子模块操作时,相应的排版文本处理子模块333~338之一,对排版子模块的操作结果同步进行登录处理,同时,显示模块304中的相应子模块为当前正在进行排版的子模块所驱动,进行相应显示处理,并在显示器6上实时地显示排版操作过程及结果。举例来说,当数理公式排版子模块327由译码处理总控模块314送来的命令控制开始操作时,它将首先根据该命令的要求确定是对哪类数理公式进行排版(如求和式、极限式、根式或分式等),并查询排版规则知识库305该类数理公式的规则,然后再根据操作人员从输入装置1输入,经译码处理总控模块314译码解释后的命令所控制进行排版。与此同时,数学公式排版文本处理子模块333将同步地将数理公式排版子模块的操作结果登录在它的存贮器中。而且,显示模块304中的相应子模块也将同时进行有关的显示处理,从而实时地在显示器6上显示数学排版的全过程及结果,在此须说明的是,数学公式排版子模块327不仅可对单纯的某一类数理公式进行排版(如根式),它还可以进行嵌套排版,即可以排出多类数理公式混杂在一起的数理公式(如先求和,再开方,其中还有分式等),例如下面的数理公式:

> >Σ>>i>=>1>>n>>>(>>>a>2>>+>>b>2> >+>>>>1>>1>+>>x>2>>>>+>>1>>1>->>y>2>>>>>6>>+>2>xi>)>>>s>

就排版模块303而言,它能完成以下排版功能:

对文字排版有如下功能:

1.字号变换。

2.字体变换。

3.中外文按照基线规则混合排版处理。

4.标题处理。

5.行的齐头、齐尾、居中处理。

6.标点符号行头行尾禁排及分割禁排处理。

7.行头、行尾、全格标点符号自动代换半格标点处理。

8.横、竖排状态下,标点自动转换处理。

9.一行字间匀缩或匀扩字距,并自动处理不可匀扩字间。

10.汉字与西文码之间1/4空距自动生成,于行末自动消除,以及无效空距与行末自动消除。

11.英文、希腊、俄文、拼音、国际音标等可变字幅自动控制处理。

12.西文及特殊数学符号(如多倍字)基线位置自动控制处理。

13.西文字符跨幅度处理。

14.可以任意作分栏排版处理、自动回栏处理。

15.自动调整超高公式行的行距,并作合行处理。

16.可任意指定版心、分栏参数,自动控制排版。

17.英文单词自动分音节处理、自动生成连字符。

18.文字填充与目录排版处理。

19.制表定点定义与采用。

20.任意增减行距。

21.字重叠处理及字旁、字底、字顶加注符号处理。

22.增加字距处理。

23.定字宽处理。

24.竖排处理,横、竖排任意交叉转换排版处理。

25.版式指定与显示处理。

对数理公式与化学结构式的排版处理功能主要包括:

1.求和式上、下标以及多层处理

2.求积式处理(多层)。

3.极限式处理(多层)。

4.积分式处理(多层)。

5.上标式、下标式、上下标式处理(多层)。

6.根式处理(多层)。

7.大根式处理,包括连续多层根式处理。

8.分式处理,包括连分式等多层分式处理。

9.向量式处理。

10.上述多种公式交叉、多层处理。

11.碳链处理。

12.多种苯环处理。

13.采用图形功能以及考贝与搬移对结构式与构造式拼合处理。

14.在上述基本功能基础,运用定位键操作可以处理行列式矩阵等复杂公式处理。

15.采用划线与考贝、搬移操作可以方便地进行图表排版操作。

现在再来看显示模块304,它包括网点图形显示子模块339,线条图形显示子模块340,英文字符显示子模块341,汉字文字显示子模块342,数学符号显示子模块343,及图象删除缩放子模块344。显示模块304的主要作用是受输入模块301,排版模块303及编辑模块302的驱动,对图片、字符等及它们的排版、编辑结果进行显示处理,进而通过显示器6将处理的内容实时地显示出来.其中,网点图形显示子模块339,用于对图片进行显示处理,线条图形显示子模块340用于对线条等进行显示处理,而英文字符显示子模块341用于对英文字符进行显示处理,汉字文字显示子模块342用于对将显示的汉字文字进行显示处理,数学符号显示子模块343用于对将显示的数学符号进行显示处理,而图象删除缩放子模块344用于对将显示的图象删除、图象缩放等进行显示处理、例如,在对汉字文字进行编辑或排版时,将由汉字文字显示子模块342对被编辑或排版的文字进行显示处理,然后将其显示在显示器6上。

根据以上叙述,并结合图5可知,操作人员可以通过输入装置1对编辑排版处理装置3输入命令,字符或图片,如果输入的仅仅是字符或图片,则可直接由显示模块304对其进行处理,然后在显示器6上显示出来,操作人员可根据显示的内容,由输入装置1输入命令并通过编辑模块302中的相应子模块对显示的内容实时进行搬移、删除等项修改,还可通过排版模块303中相应的排版子模块按数理公式或其它类别进行排版。所有这些操作,都将实时的在显示器6上进行显示,而且所显示的内容不是文本而都是直观的图形、线条,文字,数学符号、公式等。从而,可以显而易见的得到即打即排的效果。

参见图6,所示为编辑模块302和排版模块303中的文本处理子模块321~326及333~338的具体结构图。其中,350用于跟随编辑操作子模块315~320或排版子模块327~332的操作结果作相应的文本登录、变更、插入、删除记录项等处理工作,对于编辑模块302中的文本处理子模块321~326来说,子模块350用于对操作对象的参数和状态值进行修改、记录及删除等,而对排版模块303中的文本处理子模块333~338来说,子模块305用于对排版子模块进行的操作结果作登录或变更处理。351表示一个随机存贮器,用来存贮登录或变更文字、图形档案子模块350的登录和变更结果。然后,再输出到外存352将登录及变更结果以命名文件结构的形式存贮起来,外存352可以是硬盘、软盘、磁带或类似的可记录介质。

如图7所示,为图片输入子模块310的程序框图。其中,图片扫描仪对图片进行扫描而将图片数据化,由此建立以该图片的名字、扫描线长度、扫描数据长度等为首数据的图形数据文件,进而在步骤03处将图片分类为半色调(如照片等)图片和连续色调(如线条图)图片,对半色调图片,将在步骤04处作加网点层次处理,体现出图片灰度等级,以增加图片的立体感。加网点层次处理是通过加网算法来实现的,即采用各种角度分布规则的网点子图进行“异或”逻辑运算。对于连续色调的线条图片,则作矢量格式处理。然后通过步骤06将图片文件存入外部存储器,在经过译码处理总控模块314处理后供排版模块303调用。

图8所示为字符输入子模块311的程序框图。当操作者从输入装置(如键盘)输入一个键码时,在步骤02处将对其进行分类判定,若是选择汉字输入方案命令则通过步骤03再分类,其中,若是区位码方案,则通过步骤04按照每94位汉字码区码进1的算法直接计算产生汉字代码;若是电报码方案,则通过步骤05按照电报码-汉字代码对照表查表得到一个汉字代码;若是汉语拼音方案,则通过步骤06,按照拼音码-汉字代码对照表查表得到一个汉字代码;若是五笔字形方案,则通过步骤07,按照五笔字形字根码-汉字代码对照表查表得到一个汉字代码;当步骤02分类判定输入的键码为英文字符ASCII码时,则直接得到一个ASCII代码。所得到汉字代码(占2个字节)或ASCII码(一个字节)经译码总控处理模块314处理后分别进入显示模块304、编辑模块302和排版模块303进行处理。

图9所示是位置输入子模块312的工作流程图,控制排版的直观位置的数据可以通过两种输入装置输入,一是用光笔、鼠标器等位置输入装置,二是用键盘上表示步长和方向的键操作指示位置。若是用光笔或鼠标器等位置输入装置输入位置数据,则首先由步骤01进行分类判定,当鼠标选择键被第一次选中时,进入步骤02记录下显示器6上的光标所对应的一组位置座标数据(X1,Y1),若选择键第二次被选中,则在步骤03处记录下显示器6上的光标所对应的另一组位置数据(X2,Y2),若选择键处于释放状态04,这时,鼠标器可以任意跟踪改变和记录显示器6上光标当前位置的X,Y值。当分类判定步骤01判定Y值超过正常数值(即被约定的值)时,则进入步骤05通过菜单选择功能。在步骤02,03记录的一组位置数据和04得到的当前X,Y值以及05选中的某一操作功能分别转向出口等待进一步处理。

若选用键盘上的步长键,事先设定上、下、左、右方向键,并设定每驱动一次向该方向增加的量(步长),如此积累计算也可得到相对于前一位置的当前位置x,y,或计算出相对于事先设定的原点(即该点时X为0,Y记为0)的当前点的绝对位置X,Y。

图10所示是控制命令输入子模块313的程序框图,控制命令可来自不同的输入装置(键盘,鼠标器或光笔等装置).若从键盘输入命令键码,通过步骤01会得到一个或两个以上组合的命令键码,通过步骤02,将其译为2个字节长度的统一控制命令代码;若从鼠标器发出命令,则在步骤03处用功能菜单选取方式或用鼠标器上的键钮选中释放状态以产生事先设定的命令代码。

图11所示是译码处理总控模块314的程序流程图,它的操作过程如下:在步骤01处将接受到的汉字码或一个英文字符代码、数学符号码、命令控制代码等分别译为具有唯一性的内部代码,然后,由步骤02逐一将它们进行分类,若为文字代码,则进入步骤03将其登录到文本中去(即存入随机存储器中),而后送往显示模块304进行显示处理后显示字形或图形,并同时去相应的排版模块303中的相应子模块进行排版处理;若为图片,则其进入步骤04按图片文本登录要求进行文本登录,并启动显示模块304中相应的子模块进行处理并在显示器6上显示图形,与此同时,对排版模块303中相应的子模块329进行控制使其进行图象排版;若为编辑控制命令,则是通过步骤05首先将其分类,然后,去控制编辑模块302中相应的子模块315~320作编辑操作,同时去控制显示模块304中相应的子模块进行显示处理并在显示器6上实时显示。若为排版控制命令,则对命令进行分类并转向排版模块303中相应的排版子模块327~332之一对排版操作进行控制,同样,该译码的命令还去往显示模块304对相应的显示子模块进行控制,以便在显示器6上进行实时显示。

图12所示是图片编辑子模块315的程序框图,该子模块用于对图片文件进行编辑。首先,在步骤01处对译码处理总控模块314而来的编辑命令进行分类处理,然后,根据分类的结果,分别在步骤02处对图片进行常规的剪裁处理,在步骤03处对网点层次进行修改处理,在步骤04处进行删除脏点处理,在步骤05处进行增加象素处理,在步骤06处进行删除象素处理,在处理完成后转向出口。

图13所示是图象搬移操作子模块316的程序框图,它分为图象方式和字符方式两种。如图所示,首先是在步骤01处对图象进行分类,若要求以图象方式进行处理,则由步骤02接收一个位置数据定位1,再通过步骤03接收一个定位数据2,然后,在04处,根据位置数据定位1和2作为对角构成一个矩形框,并在图形显示缓冲区中读出该矩形框所对应的图象数据,由步骤06判定当前X,Y值是否已被操作者改变,若末改变则处于等待状态,一旦改变,则经过逻辑运算(如作异或运算,置零等逻辑运算)消去前一位置的图象,由步骤08将该图形显示在当前位置上,再经09判定是否确定该当前位置,若未确定,则返回到步骤06判定X,Y值的改变,如此重复交替进行该矩形区域图象在不同位置的消去与显示操作(原位置的图象被清除),便达到了使该区域图象被操作者所移动的效果。若一旦操作者确定了当前位置,则停止移动,从而达到了原区域图象被搬移的目的;若采用字符方式,则由步骤13指定定点1和定点2的位置,再通过14在文本中检索位于以定点1和定点2作为对顶点而成的矩形框中的字串或图群,消去原字串或图群,再经步骤16判定当前的X,Y值是否改变,若末改变则循环等待,若已改变,则经17消去前一文字串或图群,并在当前位置显示新的文字串和图群,经步骤19判定是否确定了当前位置,未确定则重复交替执行步骤16~18,以字符方式实现文字或图形被连续移动的效果(原位置的字符串或图形群被清除),直到位置确定后,20留下当前文字或图象。通过上述操作,本发明可以对交叉字符或图象单个地执行搬移操作,这不同于图象方式的搬移操作,具有灵活直观的优点。

图14所示是图象考贝子模块317的程序图,它与搬移操作子模块316的工作原理大体相同,分为图象方式考贝与字符方式考贝两种方式,如果是图象方式,则由步骤02和03给出两点定位值,然后,从缓冲区中读出以定位1点和定位2点为顶点而成的矩形框里的图象数据,经步骤05判定操作者是否改变X,Y值,如未改变则等待,一经改变,即在步骤06处消去前一位置图象,并在07处显示当前位置图象,形成搬移效果,由于只是从图形缓冲区中读出该图象的数据而未经过逻辑运算消除它们,因此和搬移操作子模块不一样,这时原来的图象仍保留在原位置不变,但又生成了一个和原图象一样,但可由操作者搬移的图象。然后,在步骤09处判定操作者是否确定了被考贝图象的所在位置,未确定,则返回执行步骤05~07,达到移动效果,直到一旦确定位置,即在该位置处留下一个复制的图象,此时,仍然有一个被移动的图象随着由操作者操纵的位置操作装置(如鼠标器等)的移动而移动,经步骤10判定操作者是否再行复制,是则重复执行步骤05~09,再次进行考贝复制,直到不再复制时出口;若采用字符考贝方式,步骤与图象搬移操作的有关步骤基本相同,不同之处只是其图象的消去,显示和移动的方式不是采用图象的象素矩阵的处理,而是用字符图形显示、消去方式实现,之所以利用这样一种方式,是因为它将有利于在交叉重叠的字符串或图形群中取出其中任意一个或几个字符或图形,从而实现对字符进行与上述图象方式考贝的步骤完全相同的图象考贝操作。

图15所示是图象删除操作子模块318的程序流程图,该模块也采用了图象方式与字符方式两种,当删除操作以图象方式进行时,在步骤02处取框(其过程也是以两点位置形成一个矩形框),步骤03将在图形缓冲区中取出步骤02所确定框中所对应的子图数据G1,并通过步骤04将子图G1的数据与原区子图数据对应作逻辑运算后送回图形显示缓冲区,从而达到消去图象的目的;若以字符方式进行删除,则进入步骤05,对同一位置同一串字串或同一群基本图形作逻辑运算(如自身异或运算),即达到了消去原字符串或图形群的目的,利用这样一个处理过程,可在交叉重叠的字串、图群中任意选取部分或单个字符、图形作删除操作,因而具有很强的灵活性。

图16所示是图象插入操作子模块319的程序框图,首先,进入图象插入操作子模块的命令或字符被分类,若为行中插入,则由步骤02将光标以后的行部分下移一行距离,在断开位置处由步骤03恢复光标并接收操作者插入的一个或多个字符或图形。插入结束后,步骤04将下移的行自动接到插入后位置,保持原行完整状况;若在任意位置插入,则通过步骤05指向待插入位置,并在步骤06置入光标,接收操作者插入的字符或图形即可完成插入工作。

图17所示是字体字号改变子模块320的程序框图,在步骤01对输入的命令或字符进行分类,若为改变字体操作,则在步骤02处由操作员通过输入装置1设定要改为何种字体,并在步骤03设定要改变的文字串,由步骤04消去原字符串,且在步骤05处变更文本中对应的参数,由步骤06显示所要求的字符串,从而完成改变操作;若为改变字号或图形放大、缩小操作,则在步骤07处由操作员设定字号改变系数和缩小、放大比例,再转向步骤03~06,分别作变更参数,重显字符串或图形处理,从而达到了改变字号或图形缩、放操作目的;若为字母大、小写改变操作,则直接改变其文本中对应的代码参数,由步骤03~06,完成参数变更、重显处理,若为字体变形操作,在步骤09处由操作员设定变形比例,并到步骤03~06,完成系数变更、重显处理,即可完成其操作。

图18所示为数理公式排版子模块327的程序框图,在步骤01处,该模块从译码处理总控模块314接收一个字符或控制命令,并在步骤02处判定是否为功能开始命令,若是,便由步骤03将嵌套层次加1,并在步骤04处由操作员通过输入装置1作数理公式的功能选择,诸如:积分式、求和式、分式、上标、下标、上下标、极限式、根式、公式、向量式等,操作者选定一种功能后,立即在步骤05处从造字系统和字库中将该功能的字符按照当前指定的字体、字号、位置(排版基础)提取出来并进行排版显示,然后,对排版规则知识库进行查询,置入当前的排版状态,再按照排版规则应该具有的字号、位置系数,等待输入前段字符排版用;若经步骤14判定有字符输入,则根据当前置好的字号、位置等参数进行排版并以确切的字体字号显示在屏幕上,然后返回到步骤01等待输入字符或命令,若经步骤07判定操作员输入的是前段字符切换到后段字符的命令,则查询排版规则知识库中有关该项功能后段字段(如积分式的上标,公式的分子等)所遵循的排版规则,并置入后段字符排版位置、字号等状态,然后,转向步骤01等待输入字符或命令;如果09判定是功能排版结束命令,则通过步骤10恢复正文排版状态,并在步骤11处对嵌套层次减1,再经步骤12判定嵌套是否结束,若结束则出口,否则去01继续接收输入字符或命令;若既不是字符也不是命令,则作出错处理,再次转向01等待输入字符或命令。

为了更清楚的说明该子模块的工作过程,我们在此以积分式的排版过程为例进一步进行说明。参见图19,若操作员需要对积分式进行排版时,他只需通过键盘输入一个积分命令(F.12键),便在显示器上显示出积分号,然后,再输入a,则其字号、位置自动被安排在积分号下面,再通过输入(F.9)切换命令,光标便切换到积分号的上标位置,再键入b,然后键入(F.8)复原命令,将光标恢复到正文状态,进而键入x和dx,便完成了整个积分式的排版操作过程。

图20所示为文字页面排版子模块328的程序流程图,同样,首先在步骤01分类,若为版式控制命令,进入步骤02以确定版面参数(包括栏宽、栏深、栏隙、行距、字体、字号等),去控制有关字、行、段、页的排版过程;若为文字则进入03进行排字处理;并在步骤04进行文字修饰处理,步骤05进行排行处理,步骤06作行末处理,包括:当到达行长时,作行末禁则处理(指起始标点不能在行末和结束标点不能在行首等),作字段不可分处理(指不可拆分的字母串或数字串等),作英文单词自动切分音节处理(指处于行末的英文单词按照音节规则作转行处理),以及按照规定行长分行,并匀齐文字行;步骤07作分栏处理,08作栏末有关禁则处理(如不可分开的“图1”,不能处于栏末的标题等);09作分页处理,当达到页面高度时,自动进行分页,由步骤10作页末有关禁则处理,同08;当01判定遇到非版式命令和文字时,则由相应的排版子模块作相应排版处理。

图21所示为网点图片排版子模块329的程序流程图,其中,01指定排图位置,步骤02将图片文件头登录到文本缓冲区去,这时是将图片当作一个文字对待,然后在步骤03处在显示器上显示出该图片;04出口。如果排入位置不合适,可采用编辑模块302中相应的编辑操作子模块对其进行修改。

图22所示是化学结构式排版子模块330的程序流程图,在步骤01处将输入的命令或字符进行分类,当其是常用苯环操作时,在步骤02处由操作员按动鼠标器的选择键确定起始位置(X1,Y1)并记录下来,然后操作者挪动鼠标器,实时记录当前位置(X,Y),并在步骤03处,以(X1,Y1)-(X,Y)值为顶角,并根据正六角苯环具有120°顶角的特性,作出六角苯环(不同类型)的图形并显示,然后确定该苯环是否是需要的苯环,若不是,则挪动鼠标器改变苯环形状和大小,即X,Y值,并通过步骤06作逻辑运算消去前一图象,再由07显示根据(X1,Y1)与当前(X,Y)值所得到的苯环图形;并返回步骤04判定操作者是否最终确定了末点(X2,Y2),未确定则去05、06、07作循环处理,不断改变位置,并不断消去前一苯环图象,给出当前位置的苯环图象,如此,达到连续改变苯环大小、比例,连续拉变的直观效果,一旦由步骤04判定操作者已经确定未点(X2,Y2),即最终确定了一个操作者满意的苯环图形,便由08作登录文本操作后出口;

若由01分类为碳链操作,则由09直接把碳链作为一组字符进行排版处理,到08作文本登录至出口;

若由01分类为化学键操作的,采取线条作图方式完成化学键的构成,并转向08作文本登录至出口;

若由01分类为化学反应式,则要用数理公式排版的方法完成该反应式,然后转向08作文本登录至出口;

若由01分类为建立和增加化学结构图形范例库,则将具有常用价值的化学结构式图形保存添加到库里,以备调用;

当由01分类为取用化学结构式图形范例库时,操作者可以取出库中常用化学结构图形,用编辑功能的考贝操作方便地进行复制使用,以达到简化操作,提高工作效率的目的。

作为化学苯环作图的一个例子,可结合图23进行说明。如图所示,当操作员确定起始位置后,作出苯环图形,然而,只要操作员任意连续改变(X,Y)值(即挪动鼠标器),苯环图形便连续改变,直到操作员确定了(X2,,Y2)值,则留下一个相对应的苯环图形。

图24所示是五线谱排版子模块331的程序框图,其中,由译码处理总控模块314而来的命令在01将显示屏置成层面1,由步骤02对谱表进行线条作图完成谱表排版,并将其保留在与音符不同的层面上,以便修改;步骤03将显示屏置成层面2,步骤04将箭头、标记符号作为文字符号输入以及位置控制,从而直接排版,并显示在屏幕上;在步骤05处用作图方式完成符干(当成作图),节拍线(粗直线作图)的排版,由步骤06进行连音弧线作图,并且对步骤04~06的输入字符或作图均在步骤07处进行文本登录,并在步骤08作版面修饰处理,从而完成五线谱排版处理;在五线谱的排版中同样可以利用编辑模块302中的搬移、考贝、缩放等编辑功能方便地进行操作与修改。

图25所示是线条作图子模块332的程序框图,它由01操作进行分类,02作线条作图,过程是由操作者指定一点(X1,Y1),并将(X1,Y1)作直线显示出来,随着操作者挪动鼠标器,改变(X,Y),随时消去前一直线,显示当前直线,达到相对于起点(X1,Y1)的任何方向,可作任何长度直线并达到连续改变的效果。03是作园,04作园弧,其步骤同线条作图。

图26所示是网点图片显示子模块339的程序框图。其中,01表示由操作者设定显示位置,由02置图形显示层面等状态,将待显示的图片文件数据依次送入图形显示缓冲区(VRAM),其图形即可显示在显示屏幕上。

图27所示为线条图形显示子模块340的程序流程图,其中,首先经01分类,然后,在步骤02进行线条作图计算,并将计算的数据发送到图形显示缓冲区以供显示之用,步骤03为作园、04作园弧、05作苯环图。

图28所示为英文字符显示子模块341的程序框图,其中01指定字符显示位置,02在排版规则知识库中查询该字符的字高、字号、字体、字幅、基线高度,在步骤03处根据其字幅和字号大小变倍(抽线缩小或加线放大方式),产生所需要的大小,并根据变形(变长或变扁的比例)要求在变倍的同时产生变形效果,步骤04根据基线计算起始显示位置,05将字形信息(128×128点阵,以连续0和连续1计数的失量方式表示)送入图形显示缓冲区,即可显示出字形,步骤07按该字符宽度置位光标;

图29所示为汉字文字显示子模块342的程序框图,其中,由框01处确定显示位置,02查询字库并取出字形数据(24×24点阵,3字节宽,24排),03根据字号变倍(抽线缩小,加线放大),04以当前位置计算起点,05将字形数据送入图形显示缓冲区,即显示出文字,07按汉字字幅置位光标。

图30所示是数学符号显示子模块343的程序框图,其中,由01指定显示位置,02查询双倍字形等特殊字高度及特殊基线位置,03在字库中取出数学符号的字形数据(128×128点阵,以连续0和连续1计数的矢量方式表示),04根据字号变倍(抽线缩小,加线放大),05将字形信息数据送入图形显示缓冲区,即显示出数学符号,06置位光标。

图31所示是图象删除缩放处理子模块344的程序框图,其中,步骤01对译码处理总控模块314而来的命令进行分类操作,若为删除操作,在图形显示缓冲区中取出原图形数据与原图形数据一一对应作异或(XOR)运算再置入即可删除原图形;当作缩小放大操作时,由步骤02用删除的方法消去原屏幕上显示的原图形,03根据缩放比例,以按比例抽线缩小和加线放大的方法加图形数据,再通过04送回图形显示缓冲区,显示出所要求的图形。

图32所示为图6中所述的命名文件结构的示意图,在图6中的框350的详细操作如下:首先由011分类,014建立记录项,即将链尾指针指向新记录项,并由015登录记录项至出口;012在某记录项前插入新项,建立新项,013登记新记录项至出口;016删除操作,即将某项记录从链中去除,017作变更记录项操作,直接填入新内容,即完成该项操作。所有这些操作的结果先存入随机存储器351,由操作员指令决定是否存入外存352。

图33所示为本发明所采用的命名文件格式,其中:文件由若干页组成,每页又由若干行组成,每行又由若干字组成,其中的每个字由十六个属性和十个版面参数组成。这些属性和版面参数分别为:

属性:

0可匀空    8前字为汉字

1中文/日文/规则象形文字    9颜色

2英文/俄文/数字串    10可否与前字分开

3全角标点    11可否与后字分开

4半角标点    12可否处于行头

5串词首字符    13可否处于行末

6串词末字符    14行首字

7前字为英文    15行末字

版面参数包括:

类型、字体、字号、自身宽度、跨越宽度、高度、X,Y,代码,指针。

图34所示为根据本发明的驱动模块7的详细框图,该模块的任务是将编辑排版结果在相应的,具有不同分辨率的输出设备如、显示屏、24针打印机、激光打印机、激光照排机上产生输出质量不同,但版式一致的版面,从而以不同成本、不同质量,适应不同用户不同的需要和用途。

其中:7为驱动模块,8为被驱动的外部输出设备,5为计算机,701为待输出的、由排版模块301处理好的结果文本。

其工作原理是,将驱动模块7装入计算机5(若已在机内则免除装入),然后,计算机5启动驱动模块7工作,读取由本发明的编辑排版处理装置3处理好的结果文本701可以是机内文件,也可是记录在磁盘、磁带等外部存储介质上的文本)并将其转换为相应的、适于不同输出设备所要求的文字控制命令格式,再通过计算机控制相应的输出设备产生输出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值