CN1102278C - 字符图形产生装置和方法 - Google Patents

字符图形产生装置和方法 Download PDF

Info

Publication number
CN1102278C
CN1102278C CN94120762A CN94120762A CN1102278C CN 1102278 C CN1102278 C CN 1102278C CN 94120762 A CN94120762 A CN 94120762A CN 94120762 A CN94120762 A CN 94120762A CN 1102278 C CN1102278 C CN 1102278C
Authority
CN
China
Prior art keywords
data
character
stroke
high speed
basic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN94120762A
Other languages
English (en)
Other versions
CN1118897A (zh
Inventor
天野博之
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP5354303A external-priority patent/JP3025739B2/ja
Priority claimed from JP31054994A external-priority patent/JP3471939B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN1118897A publication Critical patent/CN1118897A/zh
Application granted granted Critical
Publication of CN1102278C publication Critical patent/CN1102278C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • G09G5/246Generation of individual character patterns of ideographic or arabic-like characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/002Generic data access
    • G06K2215/0022Generic data access characterised by the storage means used
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/004Generic data transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

使用笔划格式的字根数据字符图形产生装置产生字符图形。一数据产生单元使用笔划格式的字根数据产生字符数据,字符部件数据,或笔划数据。存储单元存储由字符产生单元产生的字符数据,字符部件数据,或笔划数据。鉴别单元鉴别对应要被产生的一字符图形的字符数据,字符部件数据,或笔划数据是否存储在存储单元内,当鉴别单元判别出它们已存在存储单元内,字符产生单元就使用存储在存储单元内的数据。

Description

字符图形产生装置和方法
本发明是关于字符图形产生装置和方法,该装置和方法具有大量字符图形处理源并且通过分析输入字符信息产生字符图形。
通常,在这类字符图形产生装置中,通过对一字符计算控制点获得的一个字符的外形来实现字符图形产生过程。通常,由于必须使用大量不同类型的字型,使用这种方法就需要保持大量的字根数据以实现字符产生,这就迫切地要求提供一种减少数据量的方法。
为了防止出现该问题,已经提出了具有以笔划为单元或以字符部件为单元的数据,并且通过分析这些数据产生字符的的笔划分析方法。由于一致的笔划或字符部件能够提供大量类型的字符,和上述方法相比较,可以减少数据量。
通常,在外形字根图型发展过程中使用的硬件,字根数据,指导线索(hinting)部份,插入(或称内插法)部分,涂画部分和其它类似的部分均按照装置的预定的方法加以准备,或者说,装置按照字根数据,线索(hinting)部份,插入部份,涂画部分或类似的部份加以设计,而这些部份是事先准备的。
然而,当产生一份长的文件时,一致的笔划或字符部件数据必须以字符为单位读出以产生图形,这就造成了一致工作的重复。
由于装置必须按照字根数据,线索部份,插入部份,涂画部分和类似的部分加以设计,而这些部分得事先准备,这就需要大量的劳力而且增加了成本。
进而,在必须使用大量不同类型的字型时,字根的数据量变得巨大,而且需要大存储量。
本发明的实施例的一目的是提供一字符图形产生装置和方法,其中,结合高使用频率的字符。字符部件和笔划而产生的数据被高速地存储,防止出现一致工作的重复,和为了简化产生字符图形的一系列工作,可以共享字符图形处理资源诸如线索,插入,涂画和类似部分等等,按照字符信息可以执行不同的字符图形处理,这样可以取消由于字根数据和装置的详细说明之间不同而产生的额外劳动。
依本发明的使用笔划格式的字根数据产生字符图形的字符图形产生装置,包括:数据产生装置,用来根据笔划格式的字根数据产生字符数据,字符部件数据,或笔划数据;存储装置,用于存储由所说的数据产生装置产生的字符数据,字符部件数据或笔划数据;鉴别装置,用于鉴别是否所说的存储装置存储了相应于要产生字符图形的字符数据,当它确定没有存储相应的字符数据时鉴别是否所说的存储装置存储了相应于要产生字符的字符部件数据,和当它确定没有存储相应的字符部件数据时鉴别是否所说的存储装置存储了相应于要产生字符的笔划数据;和字符图形产生装置,用于一当所说的鉴别装置确定相应于要被产生的字符图形的字符数据,字符部件数据,或笔划数据已存储在所说的存储装置时-根据所说存储装置存储的字符数据,字符部件数据或笔划数据产生字符图形。
本发明的使用笔划格式的字根数据产生字符图形的字符图形产生方法包括如下步骤:使用笔划格式的字根数据产生字符数据,字符部件数据,或笔划数据;存储在所说数据产生步骤中产生的字符数据,字符部件数据,或笔划数据;鉴别是否所说的存储步骤存储了相应于要产生字符图形的字符数据,当它确定没有存储相应的字符数据时鉴别是否所说的存储步骤存储了相应于要产生字符的字符部件数据,和当它确定没有存储相应的字符部件数据时鉴别是否所说的存储步骤存储了相应于要产生字符的笔划数据;和当所说的鉴别步骤已鉴别出对应要被产生的字符图形的字符数据,字符部件数据,或笔划数据在所说的存储步骤中已被存储时,使用在存储步骤已存储的字符数据,字符部件数据,或笔划数据产生字符图形。
依照本发明,高速存储装置存储产生的笔划,字符部件和图形数据,和被存储的笔划,字符部件和图形数据被合成而产生字符图形,这样显著地减少了高频率使用的笔划,字符元件和图形数据的产生频率,和有效地产生了字符图形。
依照本发明,信息产生装置分析输入字符信息以产生用来产生字符图形的所选字符图形处理资源的特征位,在产生的特征位的基础上字符图形处理装置选取不同的字符图形处理资源,这样就实现了使用不依赖输入字符信息的共同的字符图形处理资源而完成不同的字符图形的处理。
依照本发明,按照已产生的特征位由字符图形处理装置选取不同字符图形处理资源而产生字符图形,即,由大量的字根处理装置,处理以笔划或外形为单位的字符图形的产生;大量的线索装置依照特征位确定的方法执行坐标转变以改进字符的质量,大量的插入装置按照特征位确定的曲线特征产生曲线,和产生封闭区域的外形,和大量的涂画装置通过涂画由特征位确定的方法所产生的封闭区域而产生位图。这样,不同的字符图形处理过程可以使用不依赖输入字符信息的公用字符图形处理资源加以实现。
本发明的其它目的和特点将从下面的说明和附图变得更为明显。
图1是解释本发明第一实施例的字符图形产生装置的配置的方框图;
图2由图2A和图2B组成,是对在本发明第一实施例的字符图形产生装置内的第一字符图形产生处理顺序的流程图;
图3用于简述在本发明的字符图形产生装置内将坐标数据转换为外形信息的转换状况;
图4的流程图给出了在图2内的字符图形产生过程中的高速存储条件测试过程顺序的实例;
图5的流程图给出了在图2内的字符图形产生过程中的高速存储条件测试过程顺序的一实例;
图6A至6C给出了高速存储器缓冲器的状况;
图7包括图7A和7B,其流程图是对本发明第一实施例的字符图形产生装置内的第二字符图形产生过程顺序的解释;
图8由图8A和图8B组成,其流程图是对本发明第一实施例的字符图形产生装置内的第三字符图形产生过程顺序的解释;
图9是由图9A和图9B组成,其流程图是对本发明的第一实施例的字符图形产生装置内的第四字符图形产生过程顺序的解释;
图10方框图是阐述本发明的第二实施例字符图形产生装置的配置;
图11是给出了图10内特征位产生器20产生特征位的过程;
图12A和12B给出了这种类型的字符图形产生装置的字符图形产生方法;
图13的流程图解释图10的线索部分的过程操作;
图14的流程图解释图10的插入部分的过程操作;
图15解释图10插入部分的插入方法的举例;
图16解释图10插入部分的插入方法的另一举例;
图17流程图给出了使用图10插入部分的外形处理顺序的实例;
图18流程图给出了使用图10的涂画部分进行的涂画过程顺序的实例;
图19流程图给出了本发明第二实施例的字符图型产生装置的第二字符图形产生过程顺序的实例;
图20流程图给出了图19涂画过程的详细顺序的例子;
图21A和21B阐述了本发明字符图形产生装置的涂画方法;
图22阐述了本发明字符图形产生装置的涂画方法;
图23流程图给出了本发明字符图形产生装置的另一个字符图形产生顺序的实例;
图24给出了本发明字符图形产生装置的另一个字符图形产生状态;
图25的表解释本发明字符图形产生装置的笔划和字符图形的字符部件之间的对应之处;
图26由图26A和图26B组成,其流程图阐述本发明第一实施例的字符图形产生装置的第五个字符图形产生过程顺序;
图27由图27A和27B组成,其流程图阐述本发明第一实施例的字符图形产生装置的第六个字符图形产生过程顺序;
图28由图28A和图28B组成,其流程图阐述本发明第一实施例的字符图形产生装置的第七个字符图形产生过程顺序;和
图29流程图解释本发明第一实施例的字符图形处理装置的第八个字符图形产生过程顺序。
图1是解释本发明第一实施例的字符图形产生装置的方框图,该实施例的字符图形产生装置被设计为能应用到日本字处理机,工作站,计算机系统,打印装置,显示仪器和类似的装置上。
参看图1,中央处理单元(CPU)1执行对整个装置和计算过程的控制,随机存取存储器(RAM)2是程序和数据存放的区域和在各种过程处理的单元内的操作区域。只读存储器(ROM)3是系统控制程序(以流程图相结合的程序将在以后加以描述),字根数据和类似程序存储的区域。
键盘控制器(KBC)4接收从键盘(KB)5上键入的数据,并且传送接收的数据到CPU,打印机控制器(PRTC)6控制着打印机装置(PRT7;一点阵打印机诸如激光打印机,喷墨打印机,或类似的打印机),显示控制器(CRTC)8控制显示装置(CRT)9,和从磁盘控制器(DKC)10送到显示装置9的显示数据。
磁盘控制器(DKC)10控制例如数据传送,外部存储装置11诸如软盘装置(FD)或硬盘装置(HD)存储程序和数据,并且根据需要把程序和数据传送到RAM2并且执行它们,系统总线12作为上述的组成部件之间的数据传送通路。
在上述配置的字符图形产生装置内,一高速存储控制装置(CPU1)单独地高速地把已产生的笔划,字符部件,字符图形或坐标数据存入存储装置(RAM2)的高速缓冲存储区域(详细的顺序将在以后结合图2A和2B的流程图加以描述),在高速存储的笔划,字符部件,字符图形或坐标数据的基础上合成图形产生字符图形,以此方法显著地减少了对高频率使用的笔划,字符部件和图形数据的产生频率和有效地产生了字符图形。
图2A和2B流程图解释本发明第一实施例的字符图形产生装置的第一字符图形产生过程顺序,注意,(1)至(27)表示这些步骤:
在步骤(1)中,使用ID数据核实高速缓冲存储器以检测是否已得到的要被发展的目标字符的外形坐标数据已经作为字符被高速地存储了,注意,外形坐标数据是按X和Y坐标值加以存储的,如果对应的字符数据已存储在高速缓冲器内,就可以确定坐标数据已经被高速存储了,流程进行到步骤(2),以高速缓冲存储器得到目标字符的外形坐标数据,此后流程跳到步(27)。
另一方面,如果在步骤(1)中确定,对应的数据没有存储在高速存储缓冲器中,可以确定坐标数据还没有高速地存储,流程进行到步骤(3),去获得构成字符和它们类型的大量字符部件的数据。
流程进行到步骤4,使用ID数据对高速存储缓冲器进行核实,是否对应已得到字符部件的目标字符部件的外型坐标数据已经被高速存储了。在这时,目标字符部件已经从那些以顺序笔划构成的字符中选取出来,然而,本发明并不局限于此种产生笔划顺序。
如果相应的字符元件数据已经存储在高速存储缓冲器中,就可以确定外形坐标数据已经被高速地存储,和流程进行到步骤(5),从高速存储缓冲器中得到目标字符部件的外形坐标数据,这样,流程跳到步骤(23)。
如果在步骤(4)中确定,对应的字符部件数据没有存储在高速存储缓冲器内,这就可以确定外形坐标数据还没有被高速存储,流程进行到步骤6,去获得构成目标字符元件和它们类型的大量笔划数据。
流程进行到步骤(7),通过使用ID数据对高速存储缓冲器进行核实以检查,是否一目标笔划的外形坐标数据已经被高速存储了,在这时,一目标笔划从那些构成字符部件中选出,在本实施例中是按产生笔划的顺序。然而,本发明并不局限于该顺序。
如果对应的笔划数据已存储在高速存储缓冲器中,就可以确定外形坐标数据已经被高速存储了,流程进入到步骤(8),去从高速存储缓冲器中获得该目标笔划的外形坐标数据,此后,流程进入到步骤(19)。
如果在步骤(7)可以确定,相应的笔划数据还没有存入高速存储缓冲器内,还可以识别,外形坐标数据还没有被高速存储,流程进行到步骤(9),去获得该笔划的外形坐标数据,流程进到步骤(10),所获得的笔划格式的数据放大和缩小的坐标数据(控制点数据)的坐标数据转换被执行。
由笔划格式的坐标数据是由“芯线”+“厚度”所定义的信息,该信息在步骤(11)被转换为外形格式的坐标数据(控制点数据),如图3所示。
在步骤(12)加以检测是否转换的数据是直线数据,如果在步骤(12)是否(NO),可以确定转换的数据是曲线数据,在步(13)中使用预定的曲线插入方法对曲线数据进行插入,在步(14)点被写入。
另一方面,如果在步(12)可以确定转换的数据是直线数据,在步(15)点被写入,在步(16)进行检测是否作为目标笔划数据一外形的点已经被写。如果在步(16)是否(NO),流程返回到步骤(12);否则流程进行到(17),检查是否笔划满足高速存储条件,该检测过程参看图4和5,将在以后描述。
如果在步骤(17)确定,满足高速存储条件,流程进入到步骤(18)去高速存储该笔划数据,流程而后进到步(19)目标笔划产生的外形坐标数据或在步骤(8)得到的外形坐标数据被转化为对应目标字符部件展开位置的外形坐标数据。
流程进入到步(20),去检测构成字符部件的所有笔划的点是否均已被写上。如果在步(20)是否,流程返回到步(7),对下一个笔划执行相同的操作。
另一方面,如果在步(20)是是(YES),在步(21)内检测是否字符部件满足高速存储条件,如步(17)。如果在步(21)内是是,流程进入到步(22),去高速存储数据。
流程进行到步(23),产生的目标字符部件的外形坐标数据或在步(5)得到的外形坐标数据被转换为对应目标字符展开位置的外形坐标数据,在步骤(24),检测是否构成字符的所有字符部件的点均已经被写上,若在步(24)是否,流程返回到步(4),对下一个目标字符部件执行相同的操作。
另一方面,若在步(24)是是,那就在步(25)检测是否该字符满足高速存储条件,如步(17)和(21)
如果在步(25)是是,流程进到步(26),去高速存储数据,在步(27)内一字符产生的位图或在步(2)产生的外形坐标数据被涂画以完成图形的产生。
使用打印机7或显示装置9对由上述流程图产生的字符图形加以打印和显示。
参看图4和5和图6A到6C将在下面解释图2的(17),(21),和(25)的高速存储条件检测过程。
图4流程图给出了图2字符图形产生过程的高速存储条件检测过的一实例。注意(1),(2)和(3)表示步骤。
在步骤(1),一目标笔划的主ID数据被检测。流程进入到步(2)去检测是否对应在步(1)中检测的主ID数据的高速存储缓冲器还能被利用,如果在步(2)中是否,在步(3)中检测是否目标笔划的优先权高于已存储在高速存储缓冲器的数据的优先权,如果数据的优先权比目标笔划数据优先权低,而该优先权低的数据没有存储在高速存储缓冲器内,那目标笔划也不高速存储。如果优先权比该目标笔数据优先权低的至少一个数据存储在高速缓冲存储器内,在已存储的数据当中具有最低优先权的数据从高速存储缓冲器中删去,目标笔划的数据存储在高速缓冲器中。
注意在该实施例中的主ID数据表示基本笔划类型诸如水平条、垂直条,右倾斜笔划,左倾斜笔划,点、钩笔划和类似的笔划,子ID数据是用来区别具有相同的主ID但相互之间有不同的角度或长度的ID。
注意,字符部件数据在该实施例中是根据主ID数据进行高速存储的。然而,只要高速存储容量允许,字符部件的数据也可以和笔划相同的方式加以高速存储。
图5流程图给出了图2字符图形产生过程的高速存储条件测试过程顺序的一实例。注意(1)和(2)表示步骤。图6A到6C给出了图1RAM2的高速存储缓冲器的状态。图6A给出了笔划高速存储缓冲器的状态,图6C给出了字符高速存储缓冲器的状态,和图6B给出了字符部件高速存储缓冲的状态。
在步骤(1)检测是否为存储被高速存储的字符或字符部件数据的缓冲器已满。
如果缓冲器的数据已满,在步(2)内检测是否目标字符或字符部件的优先权高于已存在高速存储缓冲器内的数据的优先权。
如果其优先权比目标字符或字符部件的优选权低的数据没有存储在高速存储缓冲器内,那么目标字符或字符部件也不进行高速存储。
然而,优先权比目标字符或字符部件的优先权低的至少一个数据已存储在高速存储缓冲器内,那么在高速存储缓冲器的具有最低优先权的数据从高速存储缓冲器中删去,而目标字符或字符部件的数据被存储在高速存储缓冲器内。
随着该过程,在图6C的字符高速存储缓冲器的状态根据目标字符“打”所具有的优先权是“25”,在步(17)内,字符“訳”的优先权是“34”,被检测出是低于在图5步骤(2)的目标字符的优先权,因而被删除,而具有优先权“25”的目标字符“打”被记录在相应的优先权位置。
类似地,在图6B的字符部件高速存储缓冲器的状态根据处理过程目标字符部件B1具有优先权“5”,在步(17)中,其优先权被确定低于图5步(2)的目标字符部件的优先权为“23”的字符部件B2被删去,和具有优先权“5”的目标字符部件B1被记录到相应的优先权位置。
在上述的实施例中笔划和字符部件的外形坐标数据被高速存储。然而在下面描述的顺序中,不仅外形坐标数据而且加到上述实施例展开的修正值均被高速存储。
更具体而言,当高速存储在控制下去高速存储指示与字符部件相对应的笔划展开位置或与字符对应的字符部件展开位置的位置信息时,通过修正值移动展开的高速存储的数据的过程就能被省略,字符图形产生过程能以高速执行。下面参看图7A和图7B的流程图详细地描述该过程。
图7A和7B流程图解释本发明第一实施例的字符图形产生装置的第二字符图形产生过程顺序。注意(1)至(27)表示程序步。
注意,步(1)至(16)和图2给出上述实施例的那些步骤相同,在此将省略详细的描述。
更具体而言,检测是否对应输入字符的外形坐标数据已被高速存储。如果坐标数据已被高速存储了,高速存储的数据被使用;否则,就检测是否对应构成字符的字符部件中的一个的外形坐标数据已经被高速存储了。
如果对应构成字符的字符部件之一的外形坐标数据已被存储了,就使用高速存储的数据;否则,就检测是否对应构成字符部件之一的笔划之一的外形坐标数据已被存储了,如果外形坐标数据已经被高速存储了,就使用高速存储的数据;否则,对应笔划的数据被用于产生外形坐标数据。
在步(17),目标字符部件的笔划的展开位置的修正量加到由上述方法产生的笔划的外形坐标数据。在步(18),检测是否数据以上述实施例相同的方式准备被高速存储。如果数据是准备被高速存储,在步(19)数据被高速存储。
以这样的方式,在步(20)中确定,一个字符部件被产生了,一目标字符的该字符部件的展开位置的修正量在步(21)加到已产生字符部件的数据上。在步(22)检测是否数据应被高速存储。如果数据应该高速存储,流程到步(23)去高速存储该数据。在步(24)的过程和顺序的步骤与上述实施例的在步(2)的过程和顺序的步骤是相同的。
在上述的实施例中,高速存储缓冲器无疑是在图1的RAM2上,然而随后在下面将描述,高速存储缓冲器也可以设置在外部存储装置11上,诸如处理数据的硬盘或软盘,这在图8A到8B的流程图中给出。
图8A和8B流程图给出了本发明第一实施例的字符图形产生装置的字符图形产生过程顺序。注意,(1)至(27)指示程序步。
在步骤(1)中,当要被展开的一目标字符的数据被得到时,通过使用ID数据核实高速存储缓冲器是否数据作为字符已经被高速存储了,如果对应的字符数据存储在高速存储缓冲器内,流程进到步(2),位图数据从图1的外部存储装置11的高速存储缓冲器中得到,流程跳到步(27),这样结束目标字符的产生过程。
另一方面,如果在步(1)中确定,如果相应的字符数据不存在高速存储缓冲器内,流程到步(3),去得到构成字符和它们类型的大量字符部件的数据。
流程进到步(4),通过使用ID数据核实高速存储缓冲器来检测是否一目标字符部件数据已经被存储了。在这时,一目标字符部件已经从那些构成一个字符的字符部件中选取出来,在该顺序中是按产生笔划的顺序进行选取的。然而,本发明并不局限于该顺序。
如果相应的字符部件数据已存储在高速存储缓冲器内,流程进入到步(5),从图1的外部存储装置11的高速存储缓冲器中去得到数据,此外流程八(24)。
如果在步(4)中确定,对应的字符部件数据还没有存入高速存储缓冲器,流程进到(6),得到构成目标字符部件和其类型的大量笔划的数据。流程然后进到步(7),通过使用ID数据核实的高速存储缓冲器去检测是否一目标笔划已经高速地存储了。
在这时,一目标笔划已经从那些构成一字符部件的笔划中选取出来,在该顺序中字符是按产生笔划的顺序组成的。然而,本发明并不局限于这种顺序。
如果对应的笔划数据存储在高速存储缓冲器内,流程进入到步(8),从图1外部存储装置的高速存储缓冲器中获得位图数据。此后流程跳到步(20)。如果在步(7)中确定对应的笔划数据没有存在高速存储缓冲器内,流程进入到步(9),从目标笔划的笔划格式中得到坐标数据。
流程进到步(10),根据数据的扩大和缩小对得到的坐标数据进行坐标转换。
由于在笔划格式的坐标数据是由“芯线”和“厚度”所定义的信息,在步骤(11)该信息转换为外形格式的坐标数据(控制点数据),如图3所示,在步(12)中检测是否转换了的数据是直线数据。如果在步(12)是否,就确定转换了的数据是曲线,在步(13)按预定的曲线内插方法对曲线数据进行内插。在步(14)点被写上。
另一方面,如果在步12确定,转换的数据是直线数据,在步(15),点被写上。在步(16)进行检测是否目标笔划数据一外形的点已被写上。如果在步(16)是否,流程返回步(12);否则,流程进入步(17),去涂画该目标笔划。
流程进入到步(18)去检测是否该笔划满足如上所述的高速存储条件。
在步(2)(图4)或(1)(图5)检测是否存储高速存储的字符,字符部件,或笔划已数据满,如果缓冲器已数据满,在步(3)(图4)或(2)(图5)中检测是否目标字符,字符部件,或笔划数据的优先权高于存储在高速存储缓冲器数据的优先权。
如果其优先权比目标字符,字符部件或笔划数据的优先权低的数据没有存储在高速存储缓冲器内,也不对目标字符,字符部件或笔划进行存储。
然而,如果优先权低于目标字符,字符部件或笔划的数据的优先权的至少一个数据已存储在高速存储缓冲器内,那末具有最低优先权的数据从高速存储缓冲器中删去,而该目标字符,字符部件或笔划的数据存入高速存储缓冲器内。
如果在步(18)中确定高速存储条件满足,流程进入到步(19)去存储高速存储数据。然后流程进入到步(20),该目标笔划已产生的位图数据,或在步(8)得到的位图数据被转换为一目标字符部件展开位置的位图数据。流程进入到步(21),去检测是否所有构成该目标字符部件的笔划的位图的产生和综合已经完成了。
如果在步(21)是否,步返回到步(7)去对下一个笔划执行相同的操作。如果在步(21)是是,在步(22)中检测是否该字符部件满足高速存储条件,这和步(18)的内容一样。如果在步(22)是是,流程入步(23)去高速存储数据。
流程进入步(24),目标字符部件已产生的位图数据或在步(5)产生的位图数据转换为一目标字符展开位置的位图数据。
在步(25)检测是否构成一字符所有的字符部件的位图的产生和综合已经完成了。如果在步(25)是否,流程返回到步(4)对下一次目标字符部件执行同样的操作。然而,如果在步(25)是是,在步(26)检测是否该字符满足高速存储条件,这和步(18)和(22)一样。如果在步(26)是是,流程进到步(27)去存储数据。以这样的方式实现目标字符图形产生。
在上述顺序中,笔划和字符部件的位图数据存储在外部存储装置11内,不仅位图数据而且因展开而加上的修正值能一块地高速存储。
更具体而言,能对高速存储加以控制也能高速存储指示对应字符部件的一笔划的展开位置或对应一字符的一字符部件展开位置的位置信息,这可以省略在高速存储的数据展开之后通过修正变换数据的过程。(详情在下面将参照图9A和9B加以描述)。
图9A和9B流程图给出了本发明第一实施例的字符图形产生装置的第四个字符图形产生过程顺序。注意(1)至(27)指示程序步。由于直至图9B的步(17)的过程和图8B给出上述顺序的直至步(17)的内容相同,详细地描述在此将省略。
在该顺序的过程中,检测是否输入字符已被高速存储了。如果该字符已经被高速存储了,那么使用高速存储的数据;否则检测是否构成该字符的字符部件中的一个已被高速存储了。如果构成一字符的字符部件中的一个已经被存储了,使用存储的数据;否则,检测是否构成字符部件中一个的笔划中的一个已经被存储了。如果构成字符部件中的笔划中的一个已经被高速存储了,使用高速存储的数据;否则用一目标笔划数据去产生位图数据。
在步(18),在一目标字符部件内的一笔划的展开位置修正量加到一笔划已产生的位图上。在步骤(19),如上述实施例一样检测数据是否应被高速存储,如果在步(19)是是,在步(20)数据被高速存储。
以这样的方式,如果在步(21)中确定,一个字符部件已产生了,在步(22)一目标字符的一字符部件展开位置的修正量加到字符部件的位图数据。
在步(23)中检测是否数据应被存储。如果在步(23)是是,流程进到步(24)去高速存储数据。由于步(25)和随后步的过程和图8步(25)和随后步的过程相同,因此省略详细地描述。
下面将详细地描述第二实施例。注意,该实施例装置的配置和第一个实施例的装置的配置相同,因而详细的描述将省略。
图10是本发明第二实施例字符图形产生装置配置的方框图。
参看图10,特征位产生器20按使用者使用KB5(图1)所选取的处理过程设置大量的过程处理获取特征位,并且根据对应的ID数据记录特征位,这样在字符图形产生装置中的处理过程能被自动地选出。在这个过程中,通过指定一ID,大量处理过程中所需要的一个能被可靠地选出。在该实施例中,字符数据以各种字根数据格式例如和字符数据图形产生方式的外形和笔划格式一样的格式和以字符数据曲线产生方法的比泽尔(bezier)和仿样(spline)函数的格式加以存储。所需要的图形产生方法根据特征位从外形产生产器21中选出,而该特征位是由特征位产生器20根据要被产生图形的每一个字符产生的。
在上述配置的字符图形产生装置中,CPU1分析输入的字符信息,产生用于选取由要被利用来在RAM2产生字符图形的字符图形处理资源的特征位,这将在以后加以描述。然后,字符图形处理过程(依照给出流程图的顺序由CPU1执行的装置将在以后加以描述)根据所产生的特征位选取不同字符图形处理资源产生字符图形。以这样的方式,通过共用使用字符图形产生装置的大量字符图形处理资源可靠地实现不同字符图形产生过程。
在使用从字符图形处理资源中选出的特征位的基础上使用字符图形产生过程处理方法,选出不同的字符图形处理资源用以产生一字符图形,该字符图形处理资源包括一外形产生器21,它包括用来以笔划或外形格式处理字符图形产生的大量的字根产生方法(这些方法由CPU按照在ROM3中所存储的字根数据加以执行;在该实施例中准备了两种类型的字根数据,即笔划和外形字根数据);一线索部分22,它包括用来改善字符质量而执行坐标转换的大量线索处理;一插入部分23,它具有产生曲线的大量的插入过程以形成封闭区域的外形图形;一涂画部分24,它具有涂画已产生的封闭区域以形成位图数据的大量涂画处理过程。打印装置7或显示装置9打印或显示已产生的字符图形。这样使用字符图形产生装置的大量的共同字符图形处理资源可靠地执行了不同字符图形处理过程。
将在下面描述,该实施例的字符图形产生过程使用了三个部分,即,线索部分22,插入部分23,涂画部分24。注意,每一部分可以包括逻辑电路或可以包括CPU1根据存储在ROM2中的程序加以执行的软件装置。
每一个部分均包括大量的处理方法,使用特征位对这些方法中的一个加以选取。
外形产生器21产生由特征位产生器20指定的外形产生方法的外形数据,而线索部分22执行用特征位产生器20所指定的线索过程。插入部分23执行由特征位产生器20指定的插入方法的插入以产生外形坐标数据。涂画部分24执行由特征位产生器20指定的方法进行涂画。
注意,线索部分22和涂画部分24经常不使用。
图11解释图10特征位产生器20的特征位产生过程。
如图11所示,过程选取特征位具有8位格式,它的内容如下,第一位是用于选取图形产生方法的外形选取位。第二和第三位是事先从在线索部分22中的大量的线索方法中选取出最佳的一个的线索选取位。第四和第五位是为从事先在插入选取23中所准备的大量的插入方法中选出最佳的一个的插入选取位。第六和第七位是从事先在涂画选取24所准备的大量涂画方法中选出最佳的一个的涂画选取位。在该实施例中,特征位信息是由8位构成的。然而,位的数量可以增加以增加资源的数目,各种修改和组合都是可行的。
在下面将描述一情况,其中图11过程选取特征位的第一位,即外形选取位是打开的(ON)。
当这位外形选取位是ON时,使用表示字符外形为坐标数据的外形字根数据执行字符图形的产生,该坐标数据没有笔划的交叉点,如图12A所示。
参看图13的流程图将描述至图10的线索部分22的过程。
图13流程图解释图10线索部分22的操作过程。注意,(1)至(6)表示程序步。
在步(1),检测过程选取特征位是否是ON。如果在步1是ON,流程进入到步2,检测过程选择特征位的第三位是否打开。如果第三位是ON,流程进到步(4),作为线索部分执行线索过程A;否则,流程进到步(5),去执行线索过程B。另一方面,如果在步(2)中确定,过程选取特征位的第二位不是ON,流程进到步(3),去检测过程选取特征位的第三位。
如果过程选取特征位的第三位是ON,流程进到步骤(6),执行线索过程C作为线索部分的过程;否则,线索部分22并不执行任何线索操作。
参看图14的流程图描述图10插入部分23的过程操作。
图14流程图解释图10插入部分23的过程操作。注意(1)至(7)表示程序步。
在步(1)检测是否过程选取特征位的第四位是否是ON,如果在步(1)是ON,流程进到步(2)去检测过程选取特征位的第五位是否打开。
如果第五位是ON,流程进入到步(4),以第二顺序B仿样函数作为插入部分23过程执行插入;否则流程进入到步(5),去执行第三顺序B仿样函数的插入。
如果在步(1)确定,过程选取特征位的第四位不是ON,流程进到步(3),去检测过程选取特征位的第五位。如果过程选取特征位的第五位是ON,流程进入步(6),去执行第二序比择尔(bezier)作为插入部分23过程的插入;否则,流程进入步(7),去执行第三序bezier的插入。
在插入部分23准备的插入方法是第三序bezier,第二序Bezier,第三序B仿样函数和第二序B仿样函数,这些如上所述,并且在图15和16中给出。
图15和16解释图10插入部分23的插入方法。图15对应着第三序bezier插入过程,和图16对应着第二序bezier插入过程。
如图15所示,结合控制点A,B,C,和D计算线段AB,BC,和CD的中间点a,f,和e以产生一个曲线。对当前计算过的三点a,f,和e,线段af和fe的中间点b和d和线段bd的中间点c被计算。从计算的这些点中,点A,a,b,和c表示一新曲线F(0),而点c,d,e,和D表示一新曲线F(1)。重复该操作直至一个预定的值被获得,就产生了表示一曲线的坐标数据。
在图16第2序bezier插入构成了由三点表示的曲线,而第3序bezier插入构成了由四点表示的曲线。为控制点A,B和C计算线段AB和BC的中间点a和c,和线段ac的中间点也加以计算。从这些计算的点当中,点A,a,和b构成曲线F(0),和点b,c和C构成了一曲线,重复该操作直到达到一预定的值,就产生了表示一曲线的坐标数据。
在B仿样函数中,曲线被分为预定数目的段,和bezier曲线插入不一样,曲线是由第三序和第三序函数产生的。
结合图17的流程图将在下面描述如何产生外形坐标。
图17流程图解释使用图10插入部分23的外形处理顺序的实例。注意,(1)至(4)表示程序步。
在步(1)检测是否得到的外形控制点构成一直线,如果在(1)为是,流程进入到步(2)去产生直线数据。如果在步(1)为否,流程进入到步(3),通过执行在根据特征位产生器20在图14处理顺序所选取的预定的插入方法所确定的插入产生曲线数据。在步(2)或(3)的直线或曲线数据产生的坐标以后,流程进入到步(4)去检测是否一外形数据已经产生了。如果在步(4)为否,流程返回到步(1)。
另一方面,如果在步(4)为是,插入部分的过程结束。
参看图18的流程在下面将描述图10涂画部分24的过程操作。
图18流程图解释图10涂画部分24涂画过程顺序的实例。注意步(1)至(4)表示程序步。
在步(1)中检测过程选取特征位的第6位(看图11)是否为ON,如果在步(1)为是,流程进入步(2)去检测过程选取特征位的第七位。如果第七位是ON,流程进入到步(3),使用非零卷(winding)作为涂画部分24的过程执行涂画过程(以后详述)。
另一方面,如果在步(2)中确定,第七位不是ON,流程进入到步(4),用偶奇执行涂画过程(以后详述)。
另一方面,如果在步(1)中确定,过程选取特征位的第六位不是ON,涂画部分24不执行任何涂画操作。随着上述的一系列操作,已经实现了基于一外形数据的字符的产生。
下面将描述过程选取特征位的第一位不为ON的情况。
当过程选取特征位的第一位不为ON时,以图12B所示的笔划为单元产生图形,而且笔划被综合以产生一字符,这就是说,通过笔划合成执行字符图形的产生,由笔划合成的字符图形产生顺序遵循图19所示的顺序。
图19流程图给出了本发明第二实施例的字符图形产生装置的字符图形产生过程顺序的实例。注意,(1)至(4),(2-1),(2-2),(3-1),(3-2),(4-1)和(4-2)表示程序步。
在这种情况下,由于各个部分功能和过程在实质上和以外形数据的字符产生的功能和过程相同,在下面仅阐述不同的部分。
首先,将得到的数据是不同的,在笔划综合情况下将得到,构成一字符的全部笔划和每一笔划的构成点,位置和尺寸。
线索部分22执行图13的过程,插入部分23执行图14和17的过程。这些部分的过程在对应构成一目标字符的大量笔划在步(2-1),(2-2),(3-1),和(3-2)形成环路,这样在一单一数据传送操作中实现对所有笔划的操作。
使用与一外形数据的处理方法相同的方法实现在线索部分22的过程。在插入部分23内,每次一笔划的坐标数据被产生,被产生的坐标数据在一个表内加以合成。
在步(4),涂画部分24根据图20的流程图执行涂画过程。
图20流程图是图19涂画过程详细顺序的例子。注意(1)和(2)表示程序步。
在步(1)中,过程选取特征位的第六位被检测。如果第六位是ON,流程进入到步(2),非零卷的的涂画过程被执行作为涂画部分24的过程。
另一方面,如果在步(1)中确定第六位不是ON,涂画部分24不执行任何涂画过程。
图21A到22解释本发明字符图形产生装置的涂画方法。
如图21A和21B所示,根据类似在笔划合成时外形交叉的图形涂画,如果执行偶奇方法的涂画可能产生没有被涂画的一部分,由于偶奇涂画方法在X-轴方向上检测所有的位,并且打开在第一个ON位(值为1)和下一个ON位之间的所有的位,如果笔划相互重叠,非涂画的部分就产生了,如图21A所示,在使用非零卷方法涂画的情况下,如图21B所示,构成外形的点位中的每一个都指定一个标记,该标记指示是否该位构成向上或向下的线。当位构成向上的线,标记被置为1;当位构成向下的线时,标记被置为-1,而在偶奇方法中,在平行X轴方向上的诸位被检测,和如果ON位被检出标记值被增加,只要和值不为零,诸位就被持续地打开,这样获得了涂画。
如图22所示,根据那些在笔划合成时外形交叉的图形的涂画,如果执行偶奇方法的涂画可能产生没有涂划的部分(非涂画部分HP)。由于该理由,在笔划合成的情况下,仅仅非零卷方法为可用的涂画方法。
在该实施例的涂画过程中,仅使用非零卷方法对笔划合成执行涂画。允许偶奇方法进行涂画偶的过程将在下面给予解释。注意,虽然按外形字根的装置配置和字符图形产生方法和上述实施例的那些内容相同,但按笔划合成的字符图形产生方法的涂画方法有如下的变化。
在第二实施例中,在线索部分22和插入部分23两者的所有笔划的处理均是在一个单独数据传送操作完成的。然而,在本例中,线索部分22,插入部分23,和涂画部分24在一个单一传送操作内执行一个笔划的处理。更具体而言,在执行涂画部分24的单个过程时,获得已经涂画的一笔划的位图数据。参看图23,24,和25在下面将描述另一个涂画过程。
图23流程图给出了本发明字符图形产生装置的另一个字符图形产生顺序。注意,(1)至(5)指示程序步。
图24给出了本发明字符图形产生装置的另一字符图形产生状态。图25表给出了本发明字符图形产生装置内的字符图形笔划和字符部件之间的对应关系。
如图23所示,每次当在步(1)至(5)涂画过程被完成后,就检测是否对所有构成一字符的所有笔划而言该过程均完成了。如果该过程没有完成,分别执行下一笔划的该过程。
下面用“木”为例将在下面描述一字符产生过程。在第一过程中,产生水平线图形,如步(1)所示,在步(2)中,产生做为下一个笔划的垂直线,在步(3)中,垂直线图形和在步(1)中产生的水平线加以合成。在步(4),产生作为下一笔划的左斜线笔划图形。在步(5)中,在斜线笔划图形与在步(3)中产生的笔划合成。在步(6)中,产生作为下一个笔划的右斜线笔划图形。在步(7),右斜线笔划图形与在第(5)中产生的图形加以合成,这样产生一字符图形“木”。根据在该方法下的涂画过程,可以使用两种方法执行涂画过程。即,非零卷和偶奇两方法作为外形字根数据的情况的两方法。
在第一实施例的第一和第二字符图形产生顺序中,一情况已经被阐述,即用X和Y坐标表示的外形坐标数据被高速存储;而在第一实施例的第三和第四字符图形产生顺序内,另一情况已被阐述,其中位图数据被高速存储。在该实施例中,将解释另一个情况,其中控制点数据将被高速存储。图26A和26B给出了第一实施例的第五字符图形产生过程的流程图。在步(1)内,通过使用ID数据对高速存储缓冲器核实去检测是否一得到的要被发展的目标字符的外形格式坐标数据(控制点数据)作为一字符已经被高速存储了。如果被识别的相应字符已存储在高速存储缓冲器中,流程进入到步骤(2),从高速存储缓冲器中得到由笔划合成一目标字符外形格式的坐标数据(控制点数据)。此后,流程进入到步(22),如果在步(1)内确定,对应的字符数据还没有存储在高速存储缓冲器内,可以识别数据还未高速存储,流程进入到步(3),去获得构成该字符的大量字符部件和它们类型的数据。流程进入到步(4)通过使用ID数据核实高速存储缓冲器去检测是否该字符部件的一目标字符部件的外形格式的坐标点数据(控制点数据)已经被高速存储了。一目标字符部件已经从那些在该顺序中按产生笔划顺序构成一字符的部件中选取出来。然而本发明并不局限于该顺序。如果对应的字符部件数据存储在高速存储缓冲器内,就可以识别,数据已经被高速地存储了,流程进入到步(5),从高速存储缓冲器内去获得笔划合成的该目标字符部件外形格式的坐标点数据(控制点数据)。在此之后,流程入步(18)。如果在步(4)中确定相应的字符部件数据还没存入高速存储缓冲器,可以识别,数据还未高速存储,流程进入到步(6),去获得构成该目标字符部件的大量笔划和它们类型的数据。流程进入到步(7),通过使用ID数据核实高速存储缓冲器检测是否一目标笔划外形格式的坐标数据(控制点数据)已经被高速存储了。在这时,一目标笔划从那些在该顺序中按笔划产生顺序构成该字符部件的笔划中选取出来。然而,本发明并不局限于该种顺序。如果对应的笔划数据已经存在高速存储缓冲器内,就可以识别数据已经被高速存储了。流程进入到步(8),从高速存储缓冲器中得到一目标笔划的控制点数据。在此之后,流程进入到步(14)。如果在步(7)中确定,相应的笔划没有存储在高速存储缓冲器内,这就可以识别数据还没有被高速存储,流程进入到步(9),获得一目标笔划的笔划格式的坐标数据(控制点数据)。流程进入到步(10),把所获得的坐标数据(控制点数据)转换为放大/缩小的该笔划格式,由于笔划格式的坐标数据是由“芯线”和“厚度”定义的信息,它在步(11)转换为外形格式的坐标数据,如图3所示,流程进入到步(12),去检测该笔划是否满足高速存储条件。图4给出了高速存储条件检测流程,图6A至6C给出了当时高速缓冲状态。
参看图26,如果在步(12)中确定满足高速存储条件,流程进入到步(13)去高速存储数据。流程进入到步(14),该目标笔划外形格式的已产生的坐标数据(控制点数据)或在步(8)得到的外形格式的坐标数据(控制点数据)被移到一目标字符部件的展开位置。流程进入到步(15)去检测是否上述的操作对所有构成该目标字符部件的笔划而言已经完成了。如果在步(15)为否,流程返回到步(7)的开始,为下一个目标笔划执行相同的操作。然而,若在步(15)为是,流程进入到步(16),去检测是否该笔划满足高速存储条件。图5给出了高速存储条件测试流程,在这时的高速存储状态如图6A至6C所示。在图5的步(1)中,检测是否存储已高速存储的字符或字符部件的缓冲器已经数据满,如果缓冲器已数据满,在图5步(2)中就检测是否一目标字符或目标字符部件的优先权高于在高速存储缓冲器中存储的数据的优先权。如果优先权低于该目标字符或字符部件优先权的数据没有存储在高速存储缓冲器中,该字符或该字符部件也不存储在高速存储缓冲器中。然而,如果优先权低于该目标字符或字符部件优先权的至少一数据存储在高速缓冲器内,具有最低优先权的数据从高速存储缓冲器删除,和该目标字符或字符部件的数据存储在高速存储缓冲器中,参看图26B,如果满足高速存储条件,流程至步(17)去高速存储数据。流程然后进到步(18),由笔划合成的外形格式的已产生的坐标数据(控制点数据)或在步(5)得到外形格式的坐标数据(控制点数据)被移到一目标字符的展开位置。在步(19)检测是否上述的操作对所有构成一字符的字符部件均已经完成了。如果在步(19)为否,流程返回到步(4)的开始,为下一个目标字符部件执行相同的操作。如果在步(19)为是,在步(20)检测是否该字符满足高速存储条件,这和步(16)一样。如果满足高速存储条件,流程进入到步(21),去高速存储数据。流程进入到步(22)去检测是否控制点为直线数据,以插入目标笔划。如果控制点数据不是直线数据,就确定为曲线数据,在步(23)由预定的曲线插入方法执行插入。此后,点在步(24)写上。如果在步(22)中确定控制点数据为直线数据,在步(25)写上点。然后在步(26)检测是否该目标笔划数据一外形的所有点已经被写上。如果在步(26)为否,流程返回到步(22)的开始;否则,流程入步(27)去检测是否插入过程对所有构成该字符的笔划而言均完成了。如果在步(27)为否,流程返回到步(22)的开始;否则流程进到步(28)去执行涂画。
在第一个实施例的第五个字符图形产生顺序中,一字符,笔划,和字符部件外形格式的坐标数据(控制点数据)被高速存储。然而在下面描述的顺序中,不仅外形格式坐标点数据(控制点数据)而且加到上述顺序展开位置的修正均被高速地存储。更具体地而言,高速存储被执行去高速地存储指示时应字符元件的一笔划的展开位置,或对应一字符的一字符部件的展开位置的位置信息,和上一顺序还一样,不需要在高速存储的数据展开之后通过修正移位数据的过程。图27A和27B流程给出了该实施例的过程。直至步(11)的过程和图26A给出上述顺序的直至步(11)的过程是相同的。更具体而言,检测是否对应一字符的外形格式的坐标数据(控制点数据)已经被高速存储了。如果数据已经被高速存储了,使用存储的数据;否则使用ID数据检测是否对应组成一字的诸字符部件之一的坐标数据(控制点数据)已经被高速地存储了。如果组成该字符的字符部件之一的数据已经被高速地存储了,使用存储的数据;否则,使用ID数据加以检测是否对应组成该字符部件的笔划之一的外形格式的坐标数据(控制点数据)已经被存储了。如果数据已经被存储了,使用高速存储的数据;否则,取出该笔划的笔划格式的坐标数据(控制点数据)以产生外形格式的坐标数据(控制点数据)。在步(12),目标字符部件的一笔划的展开位置的修正值加到该笔划外形格式的已产生的坐标数据。在步(13)中如上述顺序一样检测是否数据应被存储。如果数据应被存储,在步(14)存储该数据,在步(15)中检测是否上述的操作为所有构成该字符部件的笔划均完成了。如果在步(15)为否,则流程返回到步(7);否则,流程进到步(16),目标字符的字符部件的展开位置的修正量被加入。然后在步(17)检测是否数据应被高速存储。如果数据应被高速存储流程进入步(18)高速存储数据。在步(19)和以后顺序步的过程和第一实施例第五字符图形产生过程的第(19)步和以后的顺序步的过程相同。
图28A和28B流程图给出了第一实施例的第七字符图形产生顺序。在步(1)中得到要被展开的一目标字符数据,通过使用ID数据核实高速存储缓冲器检测是否对应所得到字符的位图数据已经被高速存储了。如果对应字符数据已存储在高速存储缓冲器中,流程进入到步(2),从高速存储缓冲器中得到位图数据。流程到步(25)的出口,这结束了该目标字符的产生。然而在步(1)中确定,对应的字符数据没有存在高速存储缓冲器中,流程进入到步(3)去获得构成该字符大量字符部件和它们类型的数据。流程进入到步(4),通过使用ID数据核实高速存储缓冲器去检测是否对应一目标字符部件的位图数据已经被高速存储了。在这时,一目标字符部件已经从那些构成一字符的那些字符部件中选出,该字符在该顺序中是按产生笔划的顺序实现的。然而,本发明并不局限于该顺序,如果对应字符部件数据是存储在高速存储缓冲器中,流程进入步(5)去从高速存储缓冲器中得到位图数据,此后,流程返回到步(24)开始。然而,如果在步(4)中确定,对应的字符部件数据没有存储在高速存储缓冲器内,流程进入到步(6),获得构成该目标字符元件大量笔划和它们类型的数据。流程然后进到步(7),通过使用ID数据核实高速存储缓冲器检测是否对应该目标笔划的位图数据已经被高速存储了。在这时,一目标笔划从那些在该顺序内按产生笔划的顺序构成该字符部件的那些笔划中取出来。然而本发明并不局限于该顺序。如果对应的笔划数据已经存储在高速存储缓冲器中,流程进入到步(8),从高速存储缓冲器中获得位图数据,此后,流程进入到步(21)的开始。如果在步(7)中确定,对应的笔划数据没有存储在高速缓冲存储器内,流程进入到步(9),去获得该目标笔划的笔划格式的坐标数据。流程进入到步(10),把所得到的坐标数据按放大/缩小转换为笔划格式。由于笔划格式的坐标数据是由“芯线”+“厚度”所定义的信息,它在步(11)转换为外形格式的坐标数据,这如图3所示。在步(12),对应笔划的坐标数据被移到该字符部件的展开位置。流程进入步(13)去检测是否坐标数据是直线数据。如果坐标数据不是直线数据,就确定为曲线数据,按步(14)预定的插入方法执行插入。此后,在步(15)写上点。然而,如果在步(13)确定,坐标数据是直线,在步(16)写上点。在步(17)检测是否该目标笔划外形坐标数据的一外形的所有的点是否均已写上。如果在步(17)是否,流程返回到步(13)的开始;否则,流程进入到步(18),按该目标笔划的外形坐标数据执行涂画。流程然后进行到步(19)去检测是否笔划满足高速存储的条件,图4给出了高速存储条件检测流程,在图6A至6C中给出了当时的高速存储缓冲器的状态。
参看图28B,如果在步(19)中确定,高速存储条件满足,流程进入到步(20)去高速存储数据。流程进入到步(21)去检测是否构成该目标字符元件的所有笔划的位图产生和合成已经完成了。如果在步(21)是否,流程返回到步(7)的开始去为下一个目标笔划执行相同的操作。如果在步(21)为是,流程进入到步(22)去检测是否该字符满足高速存储条件。在图5中给出了高速存储条件测试流程,在图6A至6C中给出了当时缓冲器的状态。在图5的步(1)中检测是否存储高速存储的字符或字符部件的缓冲器是否数据满,如果缓冲器已数据满,就在图5步(2)中检查是否目标字符或字符部件的优先权高于存储在高速存储缓冲器内数据的优先权。如果优先权比目标字符或字符部件的优先权低的数据没有存储在高速缓冲器内,目标字符或字符部件也不存储。然而,优先权比目标字符或字符部件优先权低的至少一个数据存储在高速缓冲存储器内,具有最低优先权的数据从高速缓冲存储器中删去,目标字符或字符部件的数据存在高速存储缓冲器中,参看图28B,如果在步(22)中确定,满足高速存储条件,流程入步(23)高速存储数据。在步(23)中检测是否构成一字符的所有字符部件的位图产生和综合已经实现了。如果在步(24)为否,流程返回到步(4)的开始,为下一个字符部件执行相同的操作,然而,在步(24)为是,在步(25)检测是否字符满足如步(22)所示的高速存储条件。如果满足高速存储条件,流程进到步(26)去高速存储数据。以这样的方式,目标字符图形产生结束。
参看图29将在下面描述控制顺序,对应相应存储容量(存储环境)该控制顺序能自动地转换上述第一实施例第一到第七字符图形产生过程。
是否硬盘作为外部存储装置或内部RAM作为高速存储的存储装置是由图29步(1)检查RAM的容量加以确定的,也就是检查是否容量对位图高速存储是足够的而判别RAM容量能够在系统中作为高速存储。如果在步(1)为是,流程进入到步(2),以笔划为单元使用RAM的位图存储被执行。然而,如果在步(1)为否,流程入步(3)检测是否硬盘能被用来作为系统部件。如果在步(3)为是,流程进到步(4),执行使用硬盘的位图高速存储。当硬盘不能使用(或不能被使用)时,流程进入到步(5),以外形坐标数据或控制点数为单元使用RAM进行高速存储。
在步(5)以外形坐标数据或控制点数据为单元使用RAM的高速存储能够执行如下。如果RAM容量比预定量大,高速存储能以外形坐标数据单元执行存储;否则以控制点数据为单元执行高速存储。
注意,在步(3)确定是否使用硬盘是由用户根据对硬盘的存取时间和图形展开处理时间设置的(或自动地由系统经计算自动地加以设置)。
根据上述的实施例,通过高速存储字符,字符部件,和笔划在通过笔划合成在文件中产生大量字符的过程中为展开一致的笔划,字符部件或字符所需的大量过程可以显著地被缩短。
当大量的字符图形处理资源在每一个装置中事先准备时,由可以取消由于数据或处理方法改变的差别而产生的诸如装置的更换或格式化的额外的过程,和有效地执行字符图形产生。
注意,本发明既可以应用由大量装置组成的一系统,又可以应用由单一装置组成的系统。同样,本发明可以应用向系统或装置提供应用程序实现本发明的情况。
如上所述,依照本发明,由于高速存储装置高速存储在存储装置中已产生的笔划,字符部件和图形数据,通过合成高速存储的笔划,字符部件和图形数据产生一字符图形,使用频率高的图形能显著地减少,字符图形能有效地产生。
根据本发明,由于信息产生装置分析输入字符信息和产生用来选取被用来产生字符图形的字符图形处理资源的特征位,和字符图形处理装置根据已产生的特征位选取不同的字符图形处理资源去产生图形,可以使用不依赖输入字符信息的共同的字符图形处理资源执行不同的字符图形处理。
依照本发明,在按照由字符图形处理资源中已产生的特征位在字符图形处理顺序中选取不同的字符图形资源实现一字符的产生,该字符图形处理资源包括以笔划或外形处理字符图形产生的大量字根处理部分;通过特征位确定的方法执行坐标转换以改进字符质量的大量线索部分;使用由特征位预定的曲线特性产生曲线和产生封闭的区域外形的大量插入部分,和通过由特征预定的方法涂画已产生的封闭区域而产生位图的大量涂画部分。因此,使用大量的共同字符图形处理资源可以可靠地完成不同的字符图形处理。
因为,一致性的工作的重复可以避免,可以简化字符图形产生的一系列工作。进而,可以取消由于字根数据和装置描述不同的差别而产生的额外劳动。
进而,高速缓冲的格式可以依照存储容量加以选取。
同样,高速缓冲的格式可以依照用户的指令加以选取。

Claims (16)

1.使用笔划格式的字根数据产生字符图形的字符图形产生装置,包括:
数据产生装置,用来根据笔划格式的字根数据产生字符数据,字符部件数据,或笔划数据;
存储装置,用于存储由所说的数据产生装置产生的字符数据,字符部件数据或笔划数据;
鉴别装置,用于鉴别是否所说的存储装置存储了相应于要产生字符图形的字符数据,当它确定没有存储相应的字符数据时鉴别是否所说的存储装置存储了相应于要产生字符的字符部件数据,和当它确定没有存储相应的字符部件数据时鉴别是否所说的存储装置存储了相应于要产生字符的笔划数据;和
字符图形产生装置,用于一当所说的鉴别装置确定相应于要被产生的字符图形的字符数据,字符部件数据,或笔划数据已存储在所说的存储装置时-根据所说存储装置存储的字符数据,字符部件数据或笔划数据产生字符图形。
2.根据权利要求1的装置,其中,笔划数据,字符部件数据,或字符数据是位图格式数据。
3.根据权利要求1的装置,其中,笔划数据,字符部件数据,或字符数据是从笔划格式的字根数据所转化的外形格式控制点信息。
4.根据权利要求1的装置,其中,笔划数据,字符部件数据,或字符数据是由控制点信息产生的外形坐标数据。
5.根据权利要求1的装置,进而包括输出由所说字符图形产生装置所产生的输出字符图形的输出装置。
6.根据权利要求5的装置,其中,所说的输出装置是打印机。
7.根据权利要求5的装置,其中,所说的输出装置是显示器。
8.根据权利要求1的装置,其中,笔划格式的字根数据包括芯线信息和厚度信息。
9.使用笔划格式的字根数据产生字符图形的字符图形产生方法包括如下步骤:
使用笔划格式的字根数据产生字符数据,字符部件数据,或笔划数据;
存储在所说数据产生步骤中产生的字符数据,字符部件数据,或笔划数据;
鉴别是否所说的存储步骤存储了相应于要产生字符图形的字符数据,当它确定没有存储相应的字符数据时鉴别是否所说的存储步骤存储了相应于要产生字符的字符部件数据,和当它确定没有存储相应的字符部件数据时鉴别是否所说的存储步骤存储了相应于要产生字符的笔划数据;和
当所说的鉴别步骤已鉴别出对应要被产生的字符图形的字符数据,字符部件数据,或笔划数据在所说的存储步骤中已被存储时,使用在存储步骤已存储的字符数据,字符部件数据,或笔划数据产生字符图形。
10.权利要求9的方法,其中,笔划数据,字符部件数据,或字符数据是位图格式数据。
11.根据权利要求9的方法,其中,笔划数据,字符部件数据,或字符数据是由笔划格式的字根数据转化的外形格式控制点信息。
12.根据权利要求9的方法,其中,笔划数据,字符部件数据,或字符数据是由控制点信息产生的外形坐标数据。
13.根据权利要求9的方法,进而包括输出由所说字符产生步骤产生的字符图形的步骤。
14.根据权利要求13的方法,其中,所说的输出步骤使用打印机输出字符图形。
15.根据权利要求13的方法,其中所说的输出步骤使用显示器输出字符图形。
16.根据权利要求9的方法,其中,笔划格式的字根数据包括芯线信息和厚度信息。
CN94120762A 1993-12-30 1994-12-30 字符图形产生装置和方法 Expired - Fee Related CN1102278C (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP354303/93 1993-12-30
JP5354303A JP3025739B2 (ja) 1993-12-30 1993-12-30 文字パターン発生装置および文字パターン発生方法
JP354303/1993 1993-12-30
JP310549/94 1994-12-14
JP31054994A JP3471939B2 (ja) 1994-12-14 1994-12-14 文字パターン発生装置及び方法
JP310549/1994 1994-12-14

Publications (2)

Publication Number Publication Date
CN1118897A CN1118897A (zh) 1996-03-20
CN1102278C true CN1102278C (zh) 2003-02-26

Family

ID=26566364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN94120762A Expired - Fee Related CN1102278C (zh) 1993-12-30 1994-12-30 字符图形产生装置和方法

Country Status (6)

Country Link
US (1) US5734748A (zh)
EP (1) EP0661669B1 (zh)
KR (1) KR0185245B1 (zh)
CN (1) CN1102278C (zh)
DE (1) DE69426758D1 (zh)
TW (1) TW282526B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319829A (ja) * 1996-06-03 1997-12-12 Nec Corp オンライン文字認識装置
US6151032A (en) * 1996-09-20 2000-11-21 Dynalab, Inc. Stroke-based glyph-outline font generation in low/high resolution space
JP3563891B2 (ja) * 1996-10-24 2004-09-08 キヤノン株式会社 文字生成方法及び装置
TW369642B (en) * 1997-07-15 1999-09-11 Ricoh Co Ltd Character identifying device and method, and information memory media for memorizing identifying program
IL122229A (en) 1997-11-17 2001-04-30 Seal Systems Ltd True-life electronic signatures
US6501475B1 (en) 1999-10-22 2002-12-31 Dynalab Inc. Glyph-based outline font generation independent of resolution
US6661417B1 (en) 2000-08-28 2003-12-09 Dynalab Inc. System and method for converting an outline font into a glyph-based font
US20060170684A1 (en) * 2005-01-28 2006-08-03 Microsoft Corporation Font cache and meta-fonts
JP2010111088A (ja) * 2008-11-10 2010-05-20 Seiko Epson Corp 画像形成装置
JP5664169B2 (ja) * 2010-11-24 2015-02-04 株式会社リコー サーマルメディア描画装置
US20130093668A1 (en) * 2011-10-12 2013-04-18 Samsung Electronics Co., Ltd. Methods and apparatus for transmitting/receiving calligraphed writing message
WO2015141260A1 (ja) * 2014-03-17 2015-09-24 株式会社河合楽器製作所 手書き音楽記号認識装置およびプログラム
WO2019113888A1 (zh) * 2017-12-14 2019-06-20 华侨大学 一种基于交互式的中国水墨画风格笔画生成方法以及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01196675A (ja) * 1988-01-30 1989-08-08 Toshiba Corp パターンデータ生成方式
US5109352A (en) * 1988-08-09 1992-04-28 Dell Robert B O System for encoding a collection of ideographic characters
JP2755308B2 (ja) * 1988-08-31 1998-05-20 キヤノン株式会社 出力方法及びその装置
JP2844639B2 (ja) * 1989-03-02 1999-01-06 セイコーエプソン株式会社 文字パターン信号発生装置
JP2850979B2 (ja) * 1989-04-21 1999-01-27 キヤノン株式会社 文字処理装置および方法
JP2610993B2 (ja) * 1989-05-17 1997-05-14 キヤノン株式会社 情報処理装置及び方法
EP0471849B1 (en) * 1990-02-27 1995-06-07 Seiko Epson Corporation Method of generating dot signal corresponding to character pattern and device therefor
JPH03259296A (ja) * 1990-03-09 1991-11-19 Canon Inc パターン発生装置
JP2899084B2 (ja) * 1990-08-03 1999-06-02 キヤノン株式会社 図形処理装置及び方法
US5295238A (en) * 1991-04-30 1994-03-15 Highlights For Children, Inc. System, method, and font for printing cursive character strings
US5355449A (en) * 1991-09-30 1994-10-11 Destiny Technology Corporation Method and apparatus for outline font character generation in dot matrix devices
JP3087783B2 (ja) * 1991-11-15 2000-09-11 セイコーエプソン株式会社 シリアルプリンタ用文字パターン発生方法、及び装置

Also Published As

Publication number Publication date
EP0661669A2 (en) 1995-07-05
TW282526B (zh) 1996-08-01
KR950020071A (ko) 1995-07-24
EP0661669B1 (en) 2001-02-28
CN1118897A (zh) 1996-03-20
KR0185245B1 (ko) 1999-05-15
US5734748A (en) 1998-03-31
EP0661669A3 (en) 1996-01-31
DE69426758D1 (de) 2001-04-05

Similar Documents

Publication Publication Date Title
CN1102278C (zh) 字符图形产生装置和方法
CN1098515C (zh) 字符发生装置及其实现方法
CN1213382C (zh) 用于从多值图象提取划线的设备
CN1288603C (zh) 图像处理器及其组件、和渲染方法
CN1293465C (zh) Gui显示装置及光标或gui组件动画显示处理方法
CN1269041C (zh) 半导体集成电路和存储器测试方法
CN1195374C (zh) 图像信号处理装置
CN1075806A (zh) 文字生成方法及其装置
CN1969314A (zh) 图像处理设备和方法、存储介质及其程序
CN1595398A (zh) 选择改良多个候补译文所生成的最优译文的机器翻译系统
CN1909671A (zh) 产生用户偏爱数据的方法和装置
CN1645907A (zh) 考虑水平和垂直图形的全局运动补偿的顺序扫描方法
CN101038608A (zh) 医用图像阅片装置及光标移动方法
CN1678021A (zh) 图像处理设备和方法、记录媒体和程序
CN1474379A (zh) 语音识别/响应系统、语音/识别响应程序及其记录介质
CN1227624C (zh) 物体领域信息产生方法和设备
CN1703724A (zh) 用于波特-达夫合成的背景色去除方法
CN1282151C (zh) 语音识别设备和语音识别方法
CN1506971A (zh) 半导体器件、图像数据处理装置和方法
CN1942901A (zh) 图像处理装置及图像处理方法
CN1094612C (zh) 存储器访问方法及数据处理装置
CN101038676A (zh) 图像处理装置和图像处理方法
CN1279490C (zh) 图像处理中的快速形态学腐蚀、膨胀方法
CN1932836A (zh) 网格方向、比例、变换和调制估算
CN1247615A (zh) 模式识别方法和装置

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee