CN1152762A - 用于处理字符的方法和装置 - Google Patents
用于处理字符的方法和装置 Download PDFInfo
- Publication number
- CN1152762A CN1152762A CN96121993A CN96121993A CN1152762A CN 1152762 A CN1152762 A CN 1152762A CN 96121993 A CN96121993 A CN 96121993A CN 96121993 A CN96121993 A CN 96121993A CN 1152762 A CN1152762 A CN 1152762A
- Authority
- CN
- China
- Prior art keywords
- character
- stroke
- output
- determining
- points
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims description 96
- 238000000034 method Methods 0.000 title claims description 71
- 230000009467 reduction Effects 0.000 claims description 29
- 238000012937 correction Methods 0.000 claims description 20
- 230000015654 memory Effects 0.000 description 55
- 230000008569 process Effects 0.000 description 41
- 230000001771 impaired effect Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/22—Control 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/24—Generation of individual character patterns
- G09G5/246—Generation of individual character patterns of ideographic or arabic-like characters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/002—Generic data access
- G06K2215/0028—Generic data access characterised by the format per se
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/004—Generic data transformation
- G06K2215/0042—Rasterisation
- G06K2215/0045—Converting outline to bitmap
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/004—Generic data transformation
- G06K2215/0054—Geometric transformations, e.g. on rasterised data
- G06K2215/0057—Sizing and resolution changes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
在一个能在可视状态输出字符的输出装置中,首先通过结合多个部件形成一个字符,所形成的字府以一个指定的尺寸输出。此时,确定作为每个部件位置基础的至少两个点的位置,然后确定该字符的轮廓。因此,当在所述输出装置中以任意放大或缩小比值输出字符时,就可以使所述字符的形状和对称性保持得非常好,由此提供了一个高质量的字符输出。
Description
本发明涉及一种能够以可视状态输出字符的输出装置。特别是涉及当在所述输出装置中输出任意放大或缩小尺寸的字符时改善输出字符质量的一种技术。
近年来,要求诸如显示器或打印机等的输出装置能够实现使一个操作者可以任意指定输出字符的尺寸。作为输出具有任一尺寸字符技术的例子,例如了解一种轮廓法,这种轮廓法包括在一个存储器中存储与构成一个字符的每一部件位置相关的坐标信息。根据在该存储器内存储的指定尺寸和坐标信息计算每一部件的位置,并确定每一部件的轮廓。
作为确定每一部件位置的技术的例子例如在美国专利No4,675,830中已有披露。在这个已知的例子中,仅是对英语字符和数字进行处理,其中并不存在“hen”(即:左元素)、“tsukari”(即:右元素)等。因此,对于例如具有大量笔划的“kanji”(即汉语字符)的这种存在有“hen”,“tsukuri”等的字符而言,上述已知的方法就不能高质量地建立起这些字符。
就上述轮廓方法而言,已经开发了各种各样用于存储字形数据的技术以减少数据量和改善输出质量。这样的一个例子例如在日本未审查专利申请公开No.61-147288中作了披露。这个已知的例子教导要对构成每个字符的部件进行分类,把经过分类的部件存储在存储器或类似装置中,然后将存储在存储器中某一些经过分类的部件加以组合,借此以构成一个字符。
如上所述,由于已知技术包括相对于基本字符模式执行计算并确定构成一个字符的每个部件的位置,所以会出现如下缺点,即根据可能会被实际输出的多个小元素的位置,每个部件的位置会偏离它们的原始位置。其结果就会出现下述问题,即:输出字符的形状或对称将会变得很差,由此而使得输出字符的质量下降。
本发明的目的就是要提供一种字符处理技术,借助于这种技术,当在输出装置中以任意放大或缩小的尺寸输出一个字符时,可以非常好地保持该字符的形状或对称,由此提供一个高质量的输出。
根据本发明,构成一个字符的多个单独部件被存储在一个存储器(存储装置)中,以用于每个字符或字形。另外,多个部件构成一个笔划。根据所指定的字符尺寸,通过确定部件在笔划中位于的多个点内的两个点来对构成一个笔划的多个部件定位。换言之,每个部件的位置(配置点)是通过确定两个点来确定的。这样,根据所述配置点,就可以确定字符的轮廓、每个笔划的长度和位置,等等。其结果是可以输出其形状或对称都可以保持得非常好的字符。
另外,当形成构成一个字符的各个笔划时,所述笔划的位置是根据基本部件的尺寸或密度确定的,由此就可以提供其中的每个部件都可以保持良好对称的具有良好对称性能的字符。
另外,通过存储涉及到一个笔划和另一个笔划之间连接关系的信息以及在输出该字符时适当地使用该信息,可以在具有良好对称性能的情况下对彼此互连的一个或多个笔划进行定位。这提供了一高质量的字符输出。
另外,通过提供一个用于存储执行上述字符处理方法的程序的存储介质,可以将本发明的方法和装置装入到处于工作状态的装置中,例如个人计算机、字处理器或打印机中。另外还可以向所述装置的用户出售、转让和租借含有本发明的装置。通过下面参照附图对本发明的最佳实施例的详细描述来描述本发明的其它目的和特性。其中,
图1示出了根据本发明一个实施例的字符处理装置的构成;
图2示出了一个字符和多个点之间的关系;
图3示出了在所述字符被缩小的情况下一个字符和多个点之间的关系;
图4是图3的放大视图;
图5示出了通过根据放大/缩小(E/R)比率对字符进行计算以获得的结果;
图6示出了一个输出字符的例子;
图7a到7e示出了用于每个部件的坐标系统;
图8a到8e示出了根据所述E/R比计算的每个部件配置起点和在执行了舍入处理之后配置起点之间的关系;
图9示出了输出字符的一个例子;
图10用于解释构成一个字符的笔划和部件;
图11用于解释在网格坐标中对配置起点的校正;
图12用于解释在网格坐标中对结束部件的校正;
图13的流程图示出了对笔划进行校正的处理;
图14示出了用于存储字形文件的存储器的构成;
图15示出了骨架信息的数据结构;
图16示出了轮廓信息的数据结构;
图17a和17b分别示出了所述字符和笔划以及和输出字符之间的关系;
图18示出了一个公用文件的例子;
图19的流程图示了每个笔划校正位置的处理;
图20a到图20c示出了用于存储公用文件的存储器的构成;
图21a到21c用于解释笔划位置的校正;
图22示出了一个建立公用文件的例子;
图23用于解释对中间部件和结束部件进行计算的例子;
图24用于解释在网格坐标上对中间部件和结束部件进行校正的例子;
图25用于解释多个点的输出;
图26的流程示出了比例提示处理;
图27用于解释对中间部件和结束部件的计算;
图28用于解释中间部件和结束部件的比例提示处理;和
图29用于解释在比例提示处理之后多个点的输出。
图1示出了根据本发明一个实施例的字符处理装置的结构。在解释本发明之前,首先来解释本发明的背景。
在输出装置之中,存在诸如有击打式打印机或非击打式打印机的打印装置和诸如CRT显示器或液晶显示器的显示装置。这样一种输出装置使用与该输出装置相连的较高级装置(例如:个人计算机、字处理器等)输出由操作者任意指定尺寸的字符。
另外,这样一个输出装置对字体进行处理以输出字符,所述的字体被称作为“原始字符”。这个原始字符就每个部件的位置和长度而言,原来被设计有良好的对称性。
在一个例如纵坐标为1000、横坐标为1000的坐标中表示所述原始字符。所述坐标的一个分度通常对应于可以被所述输出装置输出的最小元素(一个点)。因此,在不经所述输出装置进行处理而输出原始字符的场合,它的输出具有1000×1000个点。例如,在一个17英寸的CRT显示器被用作输出装置的场合,由于其屏幕尺寸是1280×1024个点,因此就不可能在该CRT显示器的屏幕上同时显示多个字符。为了解决这个问题,通常是将所述原始字符缩小并输出。另外,如果需要,还可以以操作者的指定的尺寸输出字符。
再有,在这样一个输出设备中,不希望将能够输出的所有尺寸的字符都存储在存储器中,从而使这个存储器的容量变得很大。为了解决这个问题,只有原始字符尺寸的字符信息被存储在这个存储器中,并且以指定的尺寸(放大或缩小)输出所述原始字符。
另一方面,在用于输出这些字符的装置中,对构成一个字符的每个点的位置设置了很多限制,即:预先对相应装置确定了每个点的位置,并且如此设置的位置不能被消除。例如,在使用激光束在光敏磁鼓上形成潜在图象的电照相印刷机中,对激光鼓的直径进行了限制。另外,在使用针极(wire)在打印表格上执行打印的针极点(wire dot)打印机中,对每个针极的直径作了限制。另外,在发射来自背部的激光束以使它的屏幕发射光的CRT显示器中,对所述屏幕的相应点进行了限制。
因此,当利用这样一个输出装置来执行放大/缩小(E/R)处理并根据所指定的E/R比来计算原始字符的每个部件时,就可能出现下述情况,即:其中用于形成一个字符的多个点必须被输出的一个范围可以包含其中某些点不能被实际输出的一个范围。在这种情况下,就必须对所述范围进行校正,以使得在这个范围内用于形成一个字符的多个点必须被输出,即:把这个范围移到使得所有的点都能被实际输出的位置处。
但是,在就所述原始字符执行E/R处理的场合,该原始字符的相应部件是被单独进行校正的,由此而带来了如下的缺点,即:每个部件的位置偏离了它们的原始位置。
这样的一个例子示于图2。在图2中,以其原始字符的尺寸输出了一个具有明风格(Ming-sty1e)的汉字“一”。为了简化描述,使用了较少的点数。在图2中,相邻方格线环绕的一个正方形内部是一个可以实际输出一个点的位置。另外,每个方格线的交点被称之为网格坐标。在就一个字符执行E/R处理的场合,根据所指定的E/R比计算该字符每个部件的位置并在所述网格坐标上对所计算的位置进行校正。然后,通过输出位于网格坐标上校正后字符轮廓内相应方格中的各个点,可以输出处于可视状态的字符。例如,在一个打印装置中,通过将油墨或上色剂附着到所述多个点的位置上,而在打印表格上形成可视图象。另外,在一个显示器中,通过使所述点位置呈发光状态而在其屏幕上形成一个可视图象。
当汉字“一”被缩小并输出时,首先从存储有原始字符的存储器中读出字符数据;根据所指定的缩小比例执行对所述字符的缩小处理;然后在位映象存储器中得到缩小后的数据,并加以输出。其输出结果示于图3。
下面将参照图1来解释输出字符的处理。
标号10表示用于对字符处理进行控制的一个中央处理单元(CPU),标号11表示一个只读存储器(ROM);标号12表示一个随机存取存储器(RAM);标号13表示一个用于存储字形文件的存储器。该存储器13存储字符信息,即涉及到作为每个字符基础的坐标位置的数据和涉及到构成所述字符各部件坐标位置的数据。存储器13的存储区域被分割成用于所述字符每个字形的某些区域。通过这种分割,可以很容易地添加和删除所述字形。另外,标号14表示一个用于使数据和较高级装置进行通信的接口;标号15表示一个用于获得用于诸如打印机或显示器等输出单元的字符模式信息的位映像存储器;标号16是一个连接到所述输出单元上的一个接口;标号17表示一个硬盘(HD),在该硬盘内存储有CPU10运行所需的数据和程序。另外,标号18表示一个软盘驱动器(FDD),当其中被装有软件时,或者对其执行数据的读或写操作时,使用该软盘驱动器。标号19表示一个用于存储公用文件的存储器。这个存储器19存储用于对存储在存储器13中的字符信息进行补充的信息,例如是构成每个字符各部件的结点信息、在执行每个部件定位时使用的优先级信息等。这些信息被共同提供给相应字符。
上述的功能模块或通过公用总线彼此直接相连、或通过CPU总线或外部总线彼此间接相连,和进一步连接到所达CPU10上。
在上述的构成中,首先从所述较高级装置中接收将要被作为字符输出的数据,并传送给CPU10,所述CPU10将接收的数据存储在RAM12中。然后,从存储器13中读出与存储在RAM12中的数据相对应的字符信息,并在位映象存储器15中形成所述读出信息。位映像存储器15形成所述字符信息以便在输出单元内可被引入可视状态的位置处指定多个点的输出。因此,当字符数据被存储在位映像存储器15中时,所述字符的尺寸和位置被确定:写入位映像存储器15中的数据通过接口16被传送给输出单元,该输出单元根据所述数据执行字符的输出。字符输出的执行为图2所示。
在从所述较高级装置中接收的数据包含有涉及E/R比信息的情况下,CPU10根据该E/R比执行与从存储器13中读出的原始字符相关的E/R处理。然后,经过E/R处理的数据存储在位映像存储器15中。
但是,各个点的位置并不仅仅是由所指定的E/R比确定的,其理由参考图4加以解释。图4示出了图3“A”部份的放大视图。
根据从存储器13中读出的字符信息和所指定的E/R比计算坐标上将要放置构成一个字符各部件的位置。然后,根据所计算的各个部件的位置计算所述字符的轮廓。如果所计算的轮廓包含了不能被实际输出的点,那么就必须执行一个校正,以使得所述字符能够利用可以被实际输出的点被输出。这种校正将在后面参照“舍入处理”进行描述。
换言之作为在字符信息和所指定E/R比的基础上计算每个部件位置的结果,在构成一个部件的点含有在图4中以“B”指出的用虚线表示的点时,那么在这个位置上就不可能实际输出这个点。为了解决这个问题,就必须执行一个舍入处理,以将所述的“B”点移到可以被实际输出的位置处,即移到在图4中用“C”指出的以实线表示的一个点的位置处。
如果利用这种舍入处理使所有的点在同一方向上移动并移动相同的量,那么,输出构成一个部件各个点的范围就被移动,这样就可以在某种程度上保持所述字符的形状或对称。但是,由于用于一个部件的舍入处理的方向和用于其它部件的不同,所以不可能总是保持原始字符的对称性都很好。
另外,在近年来,为了减少用于存储字形数据的存储器的容量,每个字符都被分成诸如“hen”,“tsukuri”等多个元素,而每个元素又被分成多个笔划。而每个笔划又被分成多个部件。例如,在日本 J.P.P(kokai)No.5-46143中披露了一个例子,在该例中,将具有明风格的字符中的一个笔划分为开始部件、中间部件和结束部件并且将这些部件单独存储。在使用这种存储技术执行一个字符E/R处理的情况下,就必须根据所指定的E/R比对各部件执行计算。其结果,每个部件的位置与其原始位置相互偏离,由此使这些字符的对称性受到了损害。
为了解决这个问题,对于位于构成一个字符的多个点中并对保持输出字符具有良好质量至关重要的那些点而言,首先必须执行E/R处理和舍入处理,并将这些点置位放置到相应的位置处,在这些位置处,它们可以被实际输出。之后,必须根据一个高优先级对其它的点进行计算并根据指定的E/R比对经过计算的点执行E/R处理。
顺便说一下,构成一个字符的多个部件经常含有多个共用部件。只要所述共用部件的宽度和长度不被搞成彼此相同,该字符的对称性就要受到损害。例如,在图5中示出的汉字“日”是由多个共用部件构成的,即三个水平部件“a”、“b”和“c”。当根据指定的E/R比执行E/R处理并随后执行舍入处理时,只要这三个共用部件的宽度和长度没有被搞成彼此相同,那么就不可能输出具有良好对称性的该字符。
现在假设,作为根据指定的E/R比进行计算的结果,每个部件的位置,宽度和长度被搞得如图5所示。为简化起见,仅就给定的密度进行解释。如图5所示,在所述坐标上,部件“a”、“b”和“c”被分别放置在2.0和3.2之间、5.3和6.5之间以及8.3和9.5之间。且部件“a”、“b”和“c”的厚度均为1.2。
但是,当执行所述的舍入处理以使得每个部件都被移到可被实际输出的位置处时,由于小数点以后的第一位被舍掉,所以部件“a”、“b”和“c”分别位于2和3之间、5和7之间以及8和10之间。换言之,由于舍入处理,必须是相同的每个部件的宽度变得彼此不相同了。这一点也适用于部件“d”和“e”。因此,当在舍入处理之后使用这样的值(宽度)输出字符时,如图6所示,输出字符的对称性受到了损害。
为了解决这个问题,存储器13(见图1)存储涉及到在整个字符中每个部件配置位置的坐标信息加上为每个部件以特有的坐标信息,如图7a到7e所示。通过使用后面的这个信息,可以输出具有相同宽度和相同长度的常用部件。即,通过将根据指定E/R比进行计算的结果定位到用于每个部件的相应坐标系统上,可以将常用部件的相应宽度定位在0和1.2之间。当对定位后的宽度执行舍入处理时,它们可以被定位在0和1之间。即,就常用部件而言,可以使得它们的宽度和长度彼此相同。
当使用图8a所示的坐标值来配置所述字符的每个部件时,如图9所示,所有的常用部件都具有相同的宽度和长度,由此就可以输出保持有良好原始对称性的字符。注意,为了在所述字符坐标上安排各个部件,要对每个部件配置起点的坐标进行舍入处理,由此以获得如图8b所示的配置起点的坐标位置。这样就可以在保持原始字符对称性的同时执行E/R处理。
另外,多个部件构成了一个笔划,多个笔划构成一个字符,例如,如图10所示,汉字“三”是由三个笔划构成或由九个部件构成的一个元素构成的。即使是在对如此构成的字符的每个部件进行安置时,它也必须使用舍入处理来保持所述字符的对称性。
在输出每一部件过程中使用的配置起点和用于每一笔划的各个部件之间的相关性被称之为字符的“骨架”。一个字符的形成是由每个部件的相互组合而确定的并且每个部件是根据所述的骨架配置的。另外,重要的一点是要选择相应的骨架,以使得构成字符的每一笔划被安置得具有良好的对称性。再有,当多个笔划彼此互连时,重要的是使每个笔划的结束部份不突出并具有良好的顺序。另一方面,要对安置后部件的相应轮廓进行设计以确定所述字符的形式和形成所述字符形式精美的外观。
因此,就日本形式的字符而言,通过最后控制所述字符的骨架和轮廓可以建立起高质量的字符。注意一个字符的所述骨架,可以发现下述的重要因素。首先,一个字符不能从在设计时设定的被称作为“主体”的外围四边中伸出。如果该字符从所述的“主体”中伸出,它必然与其它的相邻字符相接触。这将导致输出字符质量的降低。从这个角度来看,位于上、下端部份的水平线比起位于中心部份的水平线要重要得多。另外,就单一水平线而言,由于位于两端处的部件配置起点确定该水平线的长度,所以位于两端处的部件比位于中间处的部件更重要。
在优先级的基础上对每个部件配置起点执行的处理如下。这里所描述的是一个例子,在该例中,在具有纵坐标1000、横坐标1000的主坐标上表示的一个字符被缩小在具有纵坐标12、横坐标12的一个目标坐标上。所述主坐标是一个整数坐标系统,在该系统中,表示了一个字符的起始坐标,并且该坐标值被作为形式数据被存储起来。另外,所述目标坐标是一个取决于所述输出装置分辨率的整数坐标系统,所述目标系统的一个分度通常对应于一个点。关于建立汉字“三”的过程,图10示出了位于上、下部份每个笔划中两端处的各个部件的配置起点。
首先,执行一个计算,以便将开始部件的配置起点,即:“开始部件起点”、结束部件的配置起点、即“结束部件起点”从所述主坐标系统缩小到所述目标坐标系统上。就每个配置起点而言,执行舍掉小数点以后位的舍入处理。即,如图4所示将每个配置起点移到最近的网格。
通过移动,所述笔划被缩小,尽管从所述它坐标移到所述目标坐标的缩小比率很小。接着,根据下面的等式来确定笔划的缩小比:
笔划缩小比=(移到网格后的笔划长度)/(在主坐标上的笔划长度)
如图11所示,白色方格D和F表示每个部件计算后小数点坐标的配置起点,而黑色方格E和G则表示通过分别将白色方格D和F移到目标坐标上最近网格后以获得的结果、即:由于多个点不能被在白色方格D和F的位置处实际输出,所以要移到这些点能够被实际输出的某些点处(黑色方格E和G的位置)。
下面,解释有关X坐标的情况。
假设,开始部件起点、中间部件起点和结束部件起点分别是Sx、Mx和Ex。在主坐标上这些起点的值分别是SxMG、MxMG和ExMG;缩小后的值分别是SxNTG、MxNTG和ExNTG;移到目标坐标上所述网格后的值分别是SxTG、MxTG和ExTG,这样可以获得下面的等式,注意:“round”的意思是舍入处理。
SxNTG=SxMG×(12/1000)=123×0.012
=1.48
SxTG=round TG(1.48)=1
ExNTG=ExMG×(12/1000)=793×0.012
=9.52
ExTG=round TG (9.52)=10
笔划缩小比=(ExTG-SxTG)/(ExMG-SxMG)
=(10-1)/(793-123)=0.0134
通过这些计算可以看出,所述的笔划缩小比的值与指定的缩小比值(0.012)稍有不同。
在所述笔划中所有的骨架元素均根据笔划缩小比进行缩小。由于开始部件和结束部件被移到了网格上,所以以如下的方式来计算剩余的中间部件起点。即:首先将在目标坐标上的该中间部件起点移动一个与开始部件起点移动的相同量,然后根据由结束部件起点的移动所确定的笔划缩小比来考虑缩小并利用下述等式进行计算:
在目标坐标上中间部件起点=(在目标坐标上开始部件起点)+[(在主坐标上中间部件起点)-(在主坐标上开始部件起点)]×笔划缩小比
使用这个等式,可以获得如下的具体值:
MxNTG=SxTG+(MxMG-SxMG)×0.0134=
1+(258-123)×0.0134=2.81
假如所述中间部件的起点被移到目标坐标的网格上,那么在该中间部件的两端处的笔划缩小比将呈现出不同的值。
从这个角度来看,中间部件起点不移动到所述网格上,由此而保留了它的小数点。
上面描述的是建立具有高质量字符配置起点的过程。利用这个过程,在确定配置起点位置方面仅有很小误差的情况下在目标坐标上定位了所述字符的骨架。虽然上面描述的处理是仅就X坐标而言的,但对于Y坐标也是执行类似的处理。
下面来解释生成字符轮廓信息的处理。
由生成字符骨架信息的上述处理计算的笔划缩小比(0.0134)的值与为缩小该字符所指定的初始缩小比(0.012)稍有差别。为了使一个缩小比与另一个相一致,根据所述的笔划缩小比来缩小构成所述笔划的轮廓。
首先,根据笔划缩小比缩小轮廓点,然后通过舍入处理将产生的小数点移到目标坐标的其它网格上。这里,在所述轮廓的多个地方提供了对于使所述轮廓保持良好形状而言是非常重要的轮廓点,这些轮廓点含有具有表示如何对目标网格以及X和Y轴两个方向最大和最小坐标值上执行舍入处理的“提示”信息的轮廓点。
下面,参照图12详细解释确定所述多个轮廓点的处理。
在图12中,点P0、P1和P2分别表示构成每一部件轮廓的坐标。在这些点中间,点P0和P2被标记为质量非常相关的重要坐标,这样标记的点具有提示信息。下面只给出与X坐标相关的解释。
点P0的X坐标值是164,根据笔划缩小比(0.0134)来缩小点P0。其结果是缩小后的坐标值变成2.2,且通过舍入处理,使其最终的坐标值变成2。利用同样的方式,P2点的X坐标值是702,根据笔划缩小比(0.0134)缩小点P2,其结果是缩小后的坐标值是9.4,经过舍入处理及其最终坐标值是9。接着,利用与骨架处理相同的方式,通过下述等式来计算由点P0和P2断开的所述轮廓提示段的缩小比:
提示段的缩小比=(9-2)/(702-164)=0.0130。
这个缩小比是所述提示段所特有的缩小比,它是通过将具有提示信息的点P0和P2定位于所述目标坐标上而获得的。根据上述的缩小比,对所有属于提示段的轮廓点进行缩小。例如,轮廓点P1被移动的量与位于提示段两端处的轮廓点P0和P2中的一个被移动的量相同,并在根据通过定位其它轮廓点计算的提示段缩小比线性变换的坐标上移动。即:
P1点的最终坐标=2+(396-164)×0.0130=5.01
6利用与在骨架处理中所述中间部件起点相同的方式,通过一个舍入处理将所述提示段内的所有坐标移到所述网格坐标上。
利用CPU根据装入在ROM11中的程序执行上述计算。
图13示出了用于校正笔划的处理流程。
下面结合示于图1的结构和示于图13的流程解释包括每个笔划校正的定位处理。
首先,通过接口14接收的命令和数据被存入RAM12,并由CPU10进行分析。然后,从存储器13中读出指定字符轮廓的坐标串,并存储于位映像存储器15中。该位映像存储器15将所述坐标形成为指定字符尺寸的位映像图象。然后合成具有图形图象的所述位映像图象,并加以贮存。所存储的数据通过接口16被传送给诸如打印机或显示器之类的输出单元。
下面结合图13来解释字符形成处理。首先,从存储器13中读出指定的字符(步骤101),并将其归并到轮廓信息和骨架信息中。轮廓信息指示涉及到表示字符形状和宽度的轮廓的信息,骨架信息指示一种信息,该信息与每个部件相对于每个笔划相应部件的配置起点相关。
接着,相对于骨架信息配置起点中开始部件的配置起点根据指定的E/R比执行E/R处理并对位置进行校正以使其在网格坐标上相互对直(步骤102)。利用相同的方式,就结束部件配置起点根据指定的E/R比执行E/R处理并对位置进行校正,以使其在网格坐标上相互对直(步骤103)。
接着,就其两端是两个在步骤102和103中计算的坐标值的笔划的骨架计算E/R比(步骤104)。就中间部件的配置起点根据在步骤104计算的所述笔划E/R比执行E/R处理(步骤105)。
然后,从存储器13中读出构成字符轮廓的坐标串。就具有提示信息的轮廓点P0,根据在步骤4计算的笔划E/R比执行E/R处理并根据提示信息执行舍入处理(步骤106)。
利用相同的方式,根据所述笔划E/R比对具有提示信息的轮廓点P2执行E/R处理并根据提示信息执行舍入处理步骤(107)。
接着就其两端是轮廓点P0和P2的一个轮廓的提示段计算该提示段所特有的E/R比(步骤108)。根据在步骤108计算的E/R比对位于提示段内的轮廓点执行E/R处理(步骤109)。
通过重复执行步骤106到109的处理,确定每个部件所有轮廓点的位置。即:通过计算含有位于具有提示信息的两个轮廓点P0和P2之间的轮廓点P1的所有点来确定每个部件的轮廓点。
接着,在步骤109经过E/R处理的轮廓点被移到在步骤102到105计算的每个部件的配置起点,并在相应的配置起点输出这样生成的每个部件(步骤110)。然后,将确定轮廓内的颜色去掉,并将字符的位映象图象存储在位映像存储器15中(步骤111)。在该处理之后,该流程结束。
下面,利用汉字“一”进一步详细解释上述的操作。
图14示出了用于存储字形文件的存储器13的构成。标号1表示一个标题,在该标题中一存储有涉及到字形的信息;标号2是一个字符指针,用于根据从较高级装置接收的字符代码指出一串部件指针;标号3是一个部件指针,在该指针中,存储有每个部件配置起点的坐标值和到部件轮廓数据的多个指针;标号4表示一个轮廓数据单元,在该单元中存储有构成所述字符每个部件的轮廓数据。首先根据字符“一”的字符代码通过字符指针2获得到部件指针3的一个地址。然后,从部件指针3中读出开始部件的配置起点(56、493)。中间部件的配置起点(111、493)和结束部件的配置起点(953、493),并且由此获得到每个部件轮廓的指针。
下面参照图15和16解释如何处理字符的骨架。
从图14所示部件指针3中读出的每个部件的配置起点被作为主坐标值放置在该存储器内构成的一个计算表上。CPU10首先根据指定的E/R比对每个部件的主坐标值进行E/R处理。在这种方式下,E/R比是0.012,并在12×12的坐标上表示所述字符。
由于优先对开始部件和结束部件的相应配置起点执行E/R处理,所以通过将最初值(56,493)乘以E/R比(0.012)获得的开始部件配置起点的坐标值为(0.672、5.916),通过将初始值(953、493)乘以E/R比(0.012)获得的结束部件配置起点的坐标值为(11.436、5.916)、希望以适合于CPU10计算速度的定点小数模式存储这些坐标值。
接着,执行提示处理,以使开始部件和结束部件的配置起点以它们可以被实际输出的位置排成一列。即:执行舍入处理,以对根据E/R比计算的(0.672、5.916)和(11.436、5.916)执行舍入小数点后第一位置的舍入处理,其结果是如图15所示,开始部件和结束部件的配置起点分别变成了(1,6)和(11,6)。由此,对于确定字符骨架质量非常重要的每个部件的配置起点都可以被校正到它们实际可以被输出的位置处。
接着,根据所述的配置起点来计算所述笔划所特有的E/R比。利用下述等式,使用在主坐标上的X坐标值(56、953)和上述提示处理以后的X坐标值(1,11)来计算所述的E/R比。
笔划E/R比=(11-1)/(953-56)=0.011
如从等式看到的,该笔划所特有的E/R比比指定的E/R比要小。这是因为通过所述的舍入处理而将两个配置起点移到了轮廓内部的缘故。
该笔划特有的E/R比被用于对中间部件的配置起点和具有提示信息的轮廓点执行E/R处理。即,根据所述笔划的E/R比(0.011)对从图15所示计算表中读出的中间部件配置起点(111、493)执行E/R处理。上述处理也被施加到Y坐标值上。其结果是如下面的等式所示,这个配置起点的坐标值变成了(1.605、6):中间部件配置起点“X”=1+(111-56)×0.011=1.605中间部件配置起点“ Y”=6+(493-493)×0.011=6
如前所述,就中间部件的配置起点而言,由于所述E/R比在中间部件的两端处呈现出不同的值,所以不执行提示处理。因此,当它们处理于这种状态时,则使用经过E/R处理的坐标值。
下面来解释生成轮廓信息的处理。
从存储器13中读出的每个部件的轮廓座标串被传送给图16所示的计算表。所表示的例子示出了涉及到结束部件的坐标值。即:结束部件每个轮廓的主坐标为(-92、103)、(-182、0)、(0、0)、(0、21)、和(-92、103)。轮廓点号2和4具有用于将X轴方向上的相应轮廓点校准到它们可以被实际输出的位置处的提示信息。在相同的方式下,轮廓点号1、3和5具有用于将Y轴方向上的相应轮廓点校准到它们可以被实际输出的位置上的提示信息。
首先,对具有提示信息的轮廓点根据笔划E/R比执行E/R处理。这个E/R处理在X轴方向和Y轴方向相互独立地执行。首先就X坐标方向的轮廓点2执行E/R处理。轮廓点2的坐标值是-182,X轴方向的E/R比是0.011,所以,E/R处理之后的结果为-2.002。然后,执行舍入处理,以将所述的轮廓点校准到它可以被实际输出的一个位置处。其结果是所述坐标值 变成了-2。后面的具有提示信息的轮廓点号是4,它的坐标值为0。因此,在E/R处理之后的坐标值和在提示处理之后的坐标值均为0。根据对轮廓点2和4的处理结果,位于两个轮廓点2和4之间的提示段的E/R比如下计算:2和4之间提示段的E/R比=(-2-0)/(-182-0)=0.011
位于其它轮廓点之中的轮廓点1被包括在提示段2-4之中,所以使用该提示段所特有的E/R比(0.011)执行E/R处理。
轮廓点1的“X坐标值=0+(-92-0)×0.011=-1.012
利用相同的方式,对其它的轮廓点3和5执行E/R处理。
另外,就Y轴方向执行与X轴方向类似的处理。通过这种处理,可以在所述计算表上获得每一个坐标值,并借此来计算X坐标值和Y坐标值。此时,所述结束部件已经计算的每个部件轮廓的配置起点,例如是(11,6)被加到每个轮廓点的相应坐标值上。当完成了涉及到字符“一”的每个部件的轮廓及骨架的相应处理时,形成一个该字符的位映象图象,并经过接口16传送给输出单元。
根据上述处理,可以精确地对构成一个笔划的每个部件进行定位,并由此改善一个笔划的质量。因此,对于例如汉字“三”这样的在笔划之间没有连接关系的字符来讲,可以改善输出字符的质量。
但是,当构成一个字符的多个笔划彼此相连时,如下所述,可以通过对连接笔划之间的位置关系进行校正来改善字符的质量。
如图17a所示,这时考虑了一个例子。在该例中,由多个笔划构成了一个字符,并且一个笔划和其它的一个笔划相连。在图17a中,黑圆点表示每个部件模式外围四周左、下点并对应于每个部件的配置起点。
如图14所示,利用字符指针2的信息、部件指针3的信息和轮廓数据的信息构成了每个部件的信息。字符指针2存储用于指出存储有部件信息的一个区域的首地址的指针、部件指针3存储每个部件配置起点坐标值以及到轮廓数据单元4的指针。轮廓数据单元4在每个部件的坐标系统中存储相应的轮廓数据。
当提供了字符模式时在部件指针3的配置起点上安排笔划坐标系统的原点,而后汇编所述部件以形成字符。然后,根据由较高级装置指定的E/R比执行坐标的变换。此时,通过对坐标值执行舍入处理改变笔划之间的相关性,借此以控制线的宽度和线与线之间的距离。
其结果如图17b所示,每个水平线都从右边的垂直线中伸出。即:当根据一个指定的E/R比计算一个笔划的每个部件的尺寸并在目标坐标上执行舍入处理时,就可以使得该笔划E/R比变得大于指定的E/R比。在这种情况下,笔划的长度变长。其结果是在输出字符中,不允许从右垂直线中伸出的水平线从中伸出了。
本发明试图通过存储构成字符每个部件的模式汇编信息并根据该汇编信息汇编每个部件以形成所述字符来实现高质量的字符输出。
图18示出了一个用于存储这种汇编信息的公用文件的例子。该公用文件被存储于图1所示的存储器19中,并用于存储涉及X轴方向笔划汇编顺序的信息,涉及在Y轴方向上笔划汇编顺序的信息以及涉及到每个笔划的结点信息。
所述汇编顺序信息包含有用于执行X轴方向和Y轴方向上相应笔划定位的优先级顺序。例如,在如图17a所示的汉字“田”的情况下,在X轴方向的优先级顺序被设置成如图18所示的“1,3,4,2,6,5),而在Y轴方向的优先级顺序被设置成(2,6,5,1,3,4)。
另一方面,结点信息包含有表示笔划1(见图17a)的开始尖端被连接到Y轴方向上笔划2的信息(sy2)和表示笔划1的结束尖端被连接到Y轴方向上笔划6的信息(ey6)。另外,关于笔划2,其结点信息含有表示其开始尖端被连接到X轴方向上笔划1的信息(SX1)和表示其结束尖端被连接到X轴方向笔划3上的信息(ex3)。即:由于X轴方向内的位置对于确定字符输出的质量是非常重要的,所以要优先执行水平线2和6的定位。而后再执行垂直线1、4和3的定位。
下面,参照图19的流程图来解释每个笔划的校正位置的处理。
首先,CPU10通过接口14接收来自较高级装置的字符,并从存储器13和19中读出与该字符相对应的信息(步骤201、202)。
如上所述,存储器13存储有用于每个部件的各个字符所特有的字符模式校正,存储器19存储有结点信息和汇编顺序信息。
这里,结合图20a到20c来详细解释存储在存储器19中的公用文件。图20a示出了该公用文件的整个结构;图20b示出了汇编顺序信息的结构;图20c示出了结点信息的结构。
如图20a所示,该公用文件包括字符指针T1、元素指针T2和元素信息组T3。该元素信息组T3包括笔划信息组T4,笔划信息组T4又包括部件信息组T5。笔划信息组T4存储有笔划分类码、部件信息组等,部件信息组T5存储涉及多部件公用位置的信息。
下面利用汉字“田”来解释所述的公用文件。
在通过接口14从较高级装置接收的数据之中,利用CPU10对表示一个字符的代码进行分析。例如,在字符码是“ 4544”的情况下,对所述字符指针T1中存储“4544”的存储器区域进行访问,然后再对元素指针T2进行访问。在汉字“田”中,元素的数量是1,因此,对元素指针T2的一个指针(elel)进行访问。如果元素的数量是2,那么对元素指针T2的两个指针进行访问。然后,根据存储在元素指针T2中的信息,对元素信息组T3进行访问,并从笔划信息组T4中读出例如是“1000000001”的元素分类码。
另外,如图20b所示,关于汇编顺序信息,较高级的字节表示在X轴方向内的顺序,而较低级的字节表示在Y轴方向内的顺序。
再有如图20c所示,结点信息包含有一个结点表。这个结点表规定用于表示一个笔划的开始尖端或结束尖端在X轴或Y轴方向上被连接到另一笔划上的结点信息(Sx、Ex、Sy、Ey)。即:Sx表示一个笔划的起始端点被连接到X轴方向内的另一个笔划上;Ex表示一个笔划的结束尖端被连接到X轴方向内的另一个笔划上;Sy表示一个笔划的开始尖端被连接到Y轴方向内的另一个笔划上;Ey表示一个笔划的结束尖端被连接到Y轴方向内的另一个笔划上。笔划间连接关系的存在是通过设置标记Sx、Ex、Sy、Ey来规定的。
现在回过头来看图19,根据从存储器19读出的结点信息来判断一个笔划是(Yes)否(No)被连接到另一个笔划上(步骤203)。
如果判断的结果是No,那么根据所指定的E/R比和从存储器13中读出的信息对每个部件的配置起点执行E/R处理(步骤204)。如果判断的结果是Yes,那么根据相应的结点信息和从存储器13中读出的信息对每个部件的配置起点执行E/R处理(步骤205)。
在步骤204和205的处理以后,控制计算所述笔划的E/R比(步骤206)。在该处理以后,该流程结束。
下面结合图21a到21c和图22详细解释笔划位置的校正。
首先,从存储器19中读出汇编顺序信息和结点信息。然后,从存储器13中读出包含有字符轮廓的数据。
接着在X轴方向内对笔划1(见图21a)进行汇编并将其位置校准到目标坐标的网格上(见图21b)。
使用存储在图22中所述表内的坐标值如下地执行具体的计算。注意,在图22中,“*”被传统地用作乘法符号。
再有,在下述等式中,X(X1、X2、X3)表示存储在字形文件中字符轮廓的起始坐标;X′(X′1、X′2、X′3)表示网格上的整数坐标;S表示所述字符的E/R比,“round”表示舍入处理:
x′1=round(x1×S)=round(310×0.04)
=round(12.4)=12
接着,保存由上述校准处理所引起的误差(即校正量“a”)。
a=x′1-x1×S=12-12.4=-0.4
然后,利用相同的方式,将所述笔划3(见图21a)的位置校准到所述网格上,并保存校正量“b”。
x’3=round(X3×S)
b=X ′3-X3×S=31-30.8=0.2
接着,利用相同的方式,将笔划4(见图21a)的位置校准到所述网格上。此时,可以执行控制线对线距离(例如笔划4和1之间距离)的处理。
接着,利用相同的方式,将所述笔划2(见图21a)的位置校准到所述网格上。此时,笔划2的Sx和Ex具有分别用于笔划1和3的结点信息,且笔划1的校正量“a”和笔划3的校正量“b”被加到笔划2的网格坐标上(见图21c)。
x′2S=round(x1×s+a)=round(260×0.04+0.2)=round(10.6)=11
x′2E=round(x3×s+b)=round(720×0.04+0.2)=round(29)=29
接着,以相同的方式,分别将笔划5和6(见图21a)的位置校准到所述网格上。
最后,利用与上述处理相同的方式,对Y轴方向执行校准处理。
图22示出了在对构成汉字“田”的所有笔划执行上述处理时使用的一个表。在该表中,每个值的含意如下:
Sx、Sy、Ex和Ey中的每一个表示每个笔划开始尖端或结束尖端的配置起点,并表示一个字符被表示在1000×1000坐标上的值。
JSx、JSy、JEx和JEy中的每一个用于表示相对于哪个笔划它具有结点信息。例如,就笔划1而言,开始尖端具有用于X轴方向内笔划2的结点信息,结束尖端具有用于Y轴方向内笔划6的结点信息。
Sx*s、Sy*s、Ex*S和Ey*s中的每一个表示乘以E/R比以后的配置起点值,其中,“s”等于0.04。
r(Sx*s),r(Sy*s)、r(Ex*s)和r(Ey*s)中的每一个表示对上述相应值进行舍入处理以后获得的值。
ax和ay中的每一个表示结点信息的校正值,它是通过从舍入处理之后的值减去舍入处理以前的值获得的。
Sx*s+ax、Sy*s+ay、Ex*s+ax和Ey*s+ay中的每一个表示通过将连接目标笔划的校正值加到在E/R处理之后的值上获得的值。
r(Sx*s+ax)、r(Sy*s+ay)、r(Ex*s+ax)和r(Ey*s+ay)中的每一个表示通过对上述相应值进行舍入处理获得的值。
Sx′、Sy′、Ex′和Ey′中的每一个表示输出装置实际坐标中的最后值。
根据上面解释的处理,可以获得下述的优点:
首先,通过使用一个分割系统把结点信息加到轮廓字形中可以保持每个部件模式间的位置关系由此实现高质量字符的汇编。
另外,通过加入汇编顺序信息,可以根据每个部件模式的控制有效执行字符的汇编。
再有,通过独立于所述字形文件提供汇编顺序信息和结点信息,可以去除用于字形文件所拥有的管理信息的存储器。因而可以减少整个输出装置的存储器容量并由此而改变性能。
在上述处理技术中,可以确定构成一个字符的多个笔划的相应位置。但是,从每个笔划都是由多个部件[例如:开始部件,中间部件和结束部件(图10)]构成的角度来看,保持每个部件的尺寸和所述多个部件之间的位置关系是非常重要的。
就书写风格而言,每个部件与其它部件都是不相同的。例如,在输出图10所示明风格字符的情况下,开始部件的左端是倾斜的,且结束部件的形状是一个缺少局部的三角形,所述开始部件和结束部件被放置在呈矩形的中间部件的两端。
作为根据指定的E/R比执行E/R处理的结果,可能会出现下述情况,即在中间部件和结束部件相应尺寸之间的相对对称受到破坏,并由此使整个字符的对称受到损害。这是由在上述舍入处理产生的误差引起的。当执行舍入处理时,根据指定的E/R比,使用或不使用所谓的“标尺”(Scale)(局部缺少的三角形)来建立某些部件。
下面结合图23到25来解释舍入处理。
图23到25示出了一个明风格输出字符的部件,即中间部件右侧的一部份和作为标尺的结束部件的一部份。
首先,根据由较高级装置指定的E/R比和涉及到从存储器13中读出字符的每个部件的信息计算所述字符的尺寸。其结果如图23所示,计算中间部件轮廓点“e”和“f”的位置并计算结束部件“a”、“b”、“c”和“d”轮廓点的位置。
接着,根据结合图13解释的处理,确定每个部件的配置起点和轮廓。在确定的位置处,如图25所示输出多个点。
接着,如图24所示,对确定的位置进行校正,以使其移到最接近的网格位置处。在这个例子中,点“d”和“e”沿着每个部件变得较细的方向移动,而点“a”则沿着使每个部件变得较粗的方向移动。
其结果是由于中间部件被变细而结束部件被变粗,所以一个笔划的宽度(称作茎)变大。因此,使整个字符的对称性受到损害。当字符被缩小时,这一点是特别明显的。
下面结合图26到29解释使每个部件对称的处理。
当通过接口14从所述较高级装置中接收字符数据和表示指定的E/R比的数据时,CPU10从存储器13中读出涉及到与所述字符数据相对应的多个部件的数据(步骤301)。
接着,根据所指定的E/R比对读出的部件数据进行E/R处理(步骤302)。再接着,判断是否存在有标尺提示(步骤303)。注意,所述的标尺提示是一个表示,它对于输出良好对称标尺极为重要的一个信息。
若是存在有一个标尺提示,那么,设定在比例提示处理中将被使用的阈值(步骤304)。这个阈值对应于预定的点数。
若是不存在这样一个标尺提示,那么该标尺提示的坐标值被设置为“0”。并不执行比例提示处理(步骤305)。在这种情况下,所述标尺的高度被设置得与所述茎(即一个笔划的宽度)情况相同。
接着,执行一个判断,以确定所指定的点数是高于(Yes)还是低于(No)所述阈值(步骤306)。如果判断的结果是No,那么执行步骤305的处理。如果判断的结果是Yes,则执行标尺提示处理。此时,检测在对具有标尺提示的部件进行笔划处理过程中具有茎提示的一个点(步骤307)。
接着,执行一处理,以利用所述网格坐标对具有茎提示的点进行排列,并由此计算茎宽的校正值(dy)(步骤308)。即,如图27所示,中间部件的轮廓点“e”和“f”被进行校正以移到最靠近的网格位置上。然后,使用计算所得的校正值dy,对结束部件轮廓点的位置进行校正。
接着,判断具有标尺提示的E/R处理后的点的尺寸是等于(Yes)或不等于(No)一个点(步骤309)。如果判断的结果是Yes,那么使用上述校正值dy对E/R处理后点的尺寸进行校正(步骤310)。若判断的结果是No,标尺提示的坐标值被设置为“1”,并可选择地执行标尺提示处理(步骤311)。
在步骤S310的处理以后,执行利用网格坐标对每个点进行校准的处理(步骤312)。即:对每个点进行校正,以使其移到它可以被实际输出的位置处。
在步骤305、311或312之后,该流程结束。
另外,在光电照像印刷机的情况下,能够被实际输出的一个点对应于用于在光敏鼓上形成一个隐含图象的激光束的直径或者是对应于一个发光二极管(LED)能够输出的一个激光束的直径。另外,在CRT显示器的情况下,一个能够被实际输出的点对应于所述屏幕上的每一个点。
Claims (27)
1一种用于在可视状态下输出字符时对该字符的输出形状进行处理的方法,包括:
第一步骤,用于对多个部件进行组合以形成一个字符;
第二步骤,用于以指定的尺寸输出所形成的字符;和
所述第二步骤包括用于确定作为每个部件定位基础的至少两个点的位置的子步骤,和用于根据所确定的位置确定所述字符轮廓的子步骤。
2如权利要求1的方法,其中,所述的第一步骤包括将多个部件组合起来以形成一个笔划的子步骤,和将所形成的多个笔划组合起来以形成一个字符的子步骤。
3如权利要求2的方法,其中所述第二步骤包括在每个笔划中确定两个点位置的子步骤,和根据所确定的两个点的位置确定每个部件位置的子步骤。
4如权利要求2的方法,其中所述的第一步骤还包括利用多个最小元素形成每一部件的子步骤,所述的每一最小元素可以被实际输出。
5如权利要求4的方法,其中所述第二步骤包括在所述最小元素可以被输出的位置的基础上对每个笔划进行校正的子步骤;计算校正后笔划的放大/缩小比例的子步骤;和根据所计算的放大/缩小比值计算构成每一笔划的各个部件的尺寸的子步骤。
6如权利要求5的方法,其中所述第二步骤还包括对构成每个笔划的每一相应部件轮廓中的两个点进行定位的子步骤;根据两个定位点的校正量确定位于该两点之间一个轮廓位置的子步骤。
7如权利要求4的方法,其中,所述第二步骤包括根据所述最小元素可被输出的位置对构成每一笔划的多个部件中最外部件配置起点进行校正的子步骤;根据校正后的配置起点计算每个笔划校正后放大/缩小比值的子步骤;和根据所计算的放大/缩小比值计算构成每个笔划各部件尺寸的子步骤。
8如权利要求3的方法,其中,所述第二步骤包括使所述的两个点位于一个相应笔划最外侧的子步骤。
9如权利要求2的方法,其中所述第二步骤包括根据一个笔划和连接到该笔划的另一个笔划之间的位置关系确定每一笔划位置的子步骤。
10如权利要求9的方法,其中,在存在有多个所述其它笔划的情况下,所述第二步骤包括在其长度方向定位所述多个其它笔划中每一个的子步骤。
11如权利求要4的方法;其中所述多个部件包括一个基本部件和一个用于修改所述基本部件的修改部件。
12如权利要求11的方法,其中所述第二步骤包括确定构成所述基本部件的最小元素可以被实际输出的位置的子步骤;和根据所确定的位置确定所述修改部件位置的子步骤。
13如权利要求12的方法,其中,在所述修改部件的尺寸小于所述最小元素尺寸的情况下,所述第二步骤还包括利用最小元素形成修改部件的子步骤。
14如权利要求11的方法,其中所述第二步骤包括根据所述最小元素可被实际输出的位置计算所述基本部件位置的子步骤;根据计算的基本部件的位置计算所述修改部件位置的子步骤;和确定输出所述基本部件必须而又能实际输出的最小元素位置的子步骤。
15如权利要求1 4的方法,其中,在所述修改部件的尺寸小于所述最小元素尺寸的情况下,所述第二步骤还包括利用所述最小元素形成所述修改部件的子步骤。
16一种用于在可视状态下输出字符时对字符输出的形状进行处理的装置,包括:
用于存储构成一个字符所需的多个部件的装置;
用于输出所述字符的装置;
用于指定每个字符尺寸的装置;
用于根据由所述指定装置指定的尺寸对存储于所述存储装置中多个部件中的某一些进行组合,和将组合部件作为字符数据输出给所述输出装置的处理装置;和
所述的处理装置包括一个用于确定作为每个部件定位基础的至少两个点的位置的装置,和用于根据所确定的点确定每个部件位置的装置。
17如权利要求16的装置,其中所述的存储装置存储与构成一个字符的多个笔划相关的数据,和与构成每一笔划的多个部件相关的数据。
18如权利要求17的装置,其中所述的处理装置包括用于确定作为在构成每一笔划的多个部件中两个最外部件定位基础的两个点的装置,和根据所确定的两个点的位置确定每个部件位置的装置。
19如权利要求18的装置,其中所述存储装置存储用于规定构成一个字符所必须的多个部件之间位置关系的关系信息。
20如权利要求19的装置,其中所述的处理装置包括用于根据存储在所述存储装置中的关系信息确定每个部件位置的装置。
21如权利要求18的装置,其中所述的存储装置存储用于规定构成一个字符所需的多个笔划间连接位置关系的关系信息。
22如权利要求21的装置,其中所述的处理装置包括用于根据存储在所述存储装置中的关系信息确定在其长度方向上每个笔划位置校正量的装置。
23如权利要求17的装置,其中所述的输出装置包括用于当输出所述字符时利用多个最小元素形成所述字符的装置,并且存储在所述存储装置中的多个部件包括一个基本部件和用于修改所述基本部件的修改部件。
24如权利要求23的装置,其中所述处理装置包括用于确定构成每一笔划的所述基本部件位置的装置,和根据所确定的所述基本部件的位置确定在每个笔划中所述修改部件的位置的装置。
25如权利要求24的装置,其中所述多个最小元素中的每一个是可以被实际输出的一个点。
26如权利要求23的装置,其中所述的处理装置包括用于根据所述最小元素可以被实际输出的位置计算所述基本部件位置的装置;用于根据计算所得的所述基本部件的位置计算所述修改部件位置的装置;和用于确定输出所述基本部件所需并可以实际输出的最小元素位置的装置。
27一种用于存储在可视状态输出字符时处理该字符输出字形的程序的存储介质,其中所述处理包括:
第一步骤,用于组合多个部件以形成一个字符;
第二步骤,用于以指定的尺寸输出以形成的字符;和
所述第二步骤包括用于确定作为每个部件位置基础的至少两个点位置的子步骤,和根据所确定的位置确定所述字符轮廓的子步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP290697 | 1995-11-09 | ||
JP7290697A JPH09134158A (ja) | 1995-11-09 | 1995-11-09 | 文字処理方法及び処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1152762A true CN1152762A (zh) | 1997-06-25 |
CN1107939C CN1107939C (zh) | 2003-05-07 |
Family
ID=17759347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN96121993A Expired - Fee Related CN1107939C (zh) | 1995-11-09 | 1996-11-08 | 用于处理字符的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5825370A (zh) |
JP (1) | JPH09134158A (zh) |
KR (1) | KR100329844B1 (zh) |
CN (1) | CN1107939C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100343047C (zh) * | 2004-03-02 | 2007-10-17 | 精工爱普生株式会社 | 括弧状图像制作装置及方法 |
CN113052172A (zh) * | 2021-03-23 | 2021-06-29 | Oppo广东移动通信有限公司 | 字符矫正方法、装置、终端设备及存储介质 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11149284A (ja) * | 1997-11-18 | 1999-06-02 | Sharp Corp | 文字パターン生成装置及び文字パターン生成装置制御プログラムを記憶した媒体 |
AUPP557998A0 (en) * | 1998-08-28 | 1998-09-24 | Canon Kabushiki Kaisha | Method and apparatus for orientating a set of finite N-dimensional space curves |
US6563502B1 (en) * | 1999-08-19 | 2003-05-13 | Adobe Systems Incorporated | Device dependent rendering |
US7639258B1 (en) | 2004-03-31 | 2009-12-29 | Adobe Systems Incorporated | Winding order test for digital fonts |
US7580039B2 (en) | 2004-03-31 | 2009-08-25 | Adobe Systems Incorporated | Glyph outline adjustment while rendering |
US7719536B2 (en) * | 2004-03-31 | 2010-05-18 | Adobe Systems Incorporated | Glyph adjustment in high resolution raster while rendering |
US7710422B2 (en) * | 2004-07-26 | 2010-05-04 | Microsoft Corporation | Font representations |
US7289123B2 (en) * | 2004-09-30 | 2007-10-30 | Microsoft Corporation | Simplifying complex characters to maintain legibility |
US20080068383A1 (en) * | 2006-09-20 | 2008-03-20 | Adobe Systems Incorporated | Rendering and encoding glyphs |
WO2011137324A1 (en) | 2010-04-30 | 2011-11-03 | Markem-Imaje Corporation | Laser marking using scalable fonts |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2952915B2 (ja) * | 1989-03-03 | 1999-09-27 | セイコーエプソン株式会社 | ドットパターンデータ発生装置 |
JP2836086B2 (ja) * | 1989-03-10 | 1998-12-14 | セイコーエプソン株式会社 | 文字パターンデータ発生装置 |
JPH0546143A (ja) * | 1991-08-16 | 1993-02-26 | Fujitsu Ltd | 文字データベース作成装置、文字データベース作成方法及び文字データベース |
JP2962937B2 (ja) * | 1992-07-14 | 1999-10-12 | キヤノン株式会社 | 文字処理装置及び方法 |
-
1995
- 1995-11-09 JP JP7290697A patent/JPH09134158A/ja not_active Withdrawn
-
1996
- 1996-11-08 CN CN96121993A patent/CN1107939C/zh not_active Expired - Fee Related
- 1996-11-08 KR KR1019960052718A patent/KR100329844B1/ko not_active IP Right Cessation
- 1996-11-12 US US08/748,012 patent/US5825370A/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100343047C (zh) * | 2004-03-02 | 2007-10-17 | 精工爱普生株式会社 | 括弧状图像制作装置及方法 |
CN113052172A (zh) * | 2021-03-23 | 2021-06-29 | Oppo广东移动通信有限公司 | 字符矫正方法、装置、终端设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US5825370A (en) | 1998-10-20 |
KR100329844B1 (ko) | 2002-08-13 |
KR970029170A (ko) | 1997-06-26 |
JPH09134158A (ja) | 1997-05-20 |
CN1107939C (zh) | 2003-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1107939C (zh) | 用于处理字符的方法和装置 | |
CN1027472C (zh) | 文字生成方法及其装置 | |
CN1096019C (zh) | 字符间隔调整装置及方法 | |
CN1213382C (zh) | 用于从多值图象提取划线的设备 | |
CN1735128A (zh) | 彩色图像形成装置 | |
CN1648848A (zh) | 布局调整方法和装置 | |
CN1848108A (zh) | 包括手写数据的电子文档的显示装置及方法 | |
JP5321109B2 (ja) | 情報処理装置及び情報処理プログラム | |
CN1445650A (zh) | 面向像素子分量的图像的硬件加强图形加速 | |
CN1258058A (zh) | 图像处理方法和装置,图像处理系统以及存储介质 | |
CN1878232A (zh) | 图像处理装置及图像处理方法 | |
US8175415B2 (en) | Image processing device and computer-accessible recording medium containing program therefor | |
CN1702734A (zh) | 当对应轮廓缺少控制点时对图形对象的适当呈现 | |
CN1698093A (zh) | 根据代表对象的二维距离场确定一个象素成分的反锯齿强度的方法及装置 | |
CN1399244A (zh) | 字符显示设备、方法和程序以及用于它们的记录媒体 | |
CN1508722A (zh) | 国际自动行高、字体大小和字体测量系统和方法 | |
CN1093953C (zh) | 字符图形发生装置 | |
CN1099096C (zh) | 字符发生装置 | |
CN1591456A (zh) | 带打印系统、带打印方法及带打印程序 | |
CN1077757C (zh) | 字符发生方法及装置 | |
CN1111838C (zh) | 字符生成器 | |
US20060250400A1 (en) | Character display apparatus, character display method, character display program, and recording medium | |
CN1077307C (zh) | 字符信息处理器 | |
CN1103032A (zh) | 字符生成方法及装置 | |
CN1892699A (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 |