CN1045835C - 产生字符的方法和装置 - Google Patents
产生字符的方法和装置 Download PDFInfo
- Publication number
- CN1045835C CN1045835C CN93121146A CN93121146A CN1045835C CN 1045835 C CN1045835 C CN 1045835C CN 93121146 A CN93121146 A CN 93121146A CN 93121146 A CN93121146 A CN 93121146A CN 1045835 C CN1045835 C CN 1045835C
- Authority
- CN
- China
- Prior art keywords
- stroke
- character
- coordinate
- interval
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/485—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by the process of building-up characters or image elements applicable to two or more kinds of printing or marking processes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S345/00—Computer graphics processing and selective visual display systems
- Y10S345/948—Alteration of stored fonts to maintain feature consistency throughout scaled font
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请公开了一种产生字符的方法和装置,以便从轮廓字形数据产生一个具有改善的可读性的小字符。该方法包括以下步骤:把轮廓字形数据转换成一个指定尺寸的坐标系的坐标值;把转换的坐标值取整数成整数坐标值;由一个启发过程调整整数坐标值;和显现包括有调整的坐标值的整数坐标值以产生二进制数变换图。该装置包括:一个字形存储器,以用来存储每个字符的轮廓字形数据;和一个字符显现电路,以用来把字符的轮廓字形数据转换成指定尺寸的坐标系和坐标值。
Description
本发明涉及一种在用整数值表示的物理坐标上显现用逻辑坐标系表示的轮廓字符的产生字符的方法和装置。
打印机、显示器或类似物需要产生供打印或显示字符的字符图象。现在,在字符图形的产生中,即使对于同一字符都要求产生各种不同字符尺寸的字符。因此,如果对同一字符用二进制数图形给出各种不同字符尺寸的字符,那么就要增加存储器容量,特别地,象汉字字符这样带有许多字符形式的字符需要大的存储器容量。
作为解决这一问题的方法,已有一种用轮廓字形产生字符的方法。根据该方法,提供了其轮廓线用实数并且也通过逻辑坐标系表示的字符图形的数据,这种数据被转换到指定字符尺寸坐标系以将字符显现到由整数值表示的二进制数变换图上。
通常,在把用实数表示的逻辑坐标数据,例如数字或轮廓字形显现到由整数值表示的二进制数变换图上时,字符数据的小数部分要四舍五入取整数,以便数据用打印机或显示器的象素的单元来表示。为了用最接近的象素来表示坐标数据,一般的四舍五入办法是把小数为5或大于5的作为一个整数。
例如,构成用图1所示的轮廓形式所表示的汉字字符“车”的各个点(轮廓点)用象1000×1000的整数逻辑坐标存储。
在逻辑坐标上的字符轮廓数据被转换成带有含小数点的坐标值的必要字符尺寸。如果所有的点都被四舍五入以用物理坐标表示坐标值,那么,所有的点都将被四舍五入到最接近整数。为了变换成24×24点的字符尺寸,例如,图1所示的汉字字符“车”通过坐标变换和四舍五入变成如图2A所示。再该例中,由于原来字符设计得较厚,四此,所产生的字符二进制数变换图宽度为二个象素。
如果同一个字符被转换成在横向和纵向都有16点(16×16点)的二进制数变换图,那么它就变成了如图2B所示,而且两个相邻的中间横向笔划相互接触。
同样地,当由用图3所示的1000×1000逻辑坐标以轮廓形式表示的汉字字符“龟”变换成16×16点的字符尺寸,它就变成了如图4A所示。
汉字字符“龟”在构成该汉字字符的两个组成单元“Hi”中每一个都含有三个横向笔划,一个横向笔划在顶部,一个横向笔划在下部。因此,这个汉字字符包含总共八个横向笔划。为了表示这八个横向笔划,需要16点,包括两个横向笔划之间的空白部分。因此,16×16点的二进制数变换图是能准确表示的最小尺寸。
如果汉字字符被缩小到12×12点的物理坐标,那么有些横向笔划将会象图4B所示那样相互接触,因为没有点来表示横向笔划之间的空白空间。
当把象黑体字符一样用粗线设计的字符缩小时,一些横向笔划将如图2B所示相互接触。接触的部分涂满了黑色,字符将不能准确地辨认,这样可读性下降。
同样地,当缩小即使用细线表示的有复杂构形的字符时,如图4B所示,有些横向笔划也将相互接触,接触的部分也会涂满黑色,以至字符不能清晰地辨识,这样降低了可读性。
进一步地,构成用图5所示的轮廓形式表达的汉字字符“目”的各个点(轮廓点)用象1000×1000的整数逻辑坐标存储。例如,要把这个汉字字符变换成12×14点的字符尺寸,汉字字符“目”的左竖笔划通过图6A所示的坐标变换由X坐标e=1.2到e′=2.7表示。通过四舍五入处理后,这个竖笔划就变成如图6B所示的、X坐标从1到3的带有两个象素宽度的二进制数变换图。汉字字符“目”的右边竖笔划用X坐标f=7.7到f′=9.2表示,通过四舍五入处理后,这个竖笔划变成如图6B所示的、X坐标从8到9的带有一个象素宽度的二进制数变换图。
用这种方式,即使原来有相同宽度的竖笔划,通过四舍五入处理后,在物理坐标上将有不同的宽度,左手边为量两个象素,右手边为一个象素。
同样地,通过坐标转换,汉字字符“目”的四个横笔划如图6A所示从上到下分别用y坐标d=11.5到d′=12.7,c=8.3到c′=9.5,b=4.5到b′=5.7和a=0.3到a′=1.5表示。通过四舍五入,如图6B所示,这些笔划分别用d=12到d′=13、c=8到c′=10、b=5到b′=6和a=0到a′=2表示。即横笔划分别有一个象素、两个象素、一个象素和两个象素的线宽度。
尽管这些横笔划有“1.2”的线宽度,但通过四舍五入处理,它们的线宽度中有两个将变成一个象素、其余的线宽度变成两个象素。
对于从轮廓字形显现的二进制数变换字形,由于这种宽度差会改变字符的视觉印象,因此,它应该做得尽可能小。
作为对这个问题的解决方法,已提出进行保持线宽度不变的四舍五入处理,如图7A和7B所示,这种方法就是优先对横笔划的上和下轮廓线之一或竖笔划的右和左轮廓线之一四舍五入,而且在保持线宽度不变时对其它轮廓线四舍五入。
在图7所示的坐标变换之后的汉字字符“目”中,a,b,c,d,e和f是优先四舍五入的轮廓线,a′,b′,c′,d′,e′和f′是在保持它们的线宽度原样时四舍五入的轮廓线。首先,用y坐标a表示的横笔划的轮廓线被四舍五入,通过四舍五入处理,“0.3”变成“0”。
然后对用y坐标a′表示的底横笔划的轮廓线四舍五入。由于同时要保持线宽度不变,由从0.3到0四舍五入产生的差值“-0.3”要加到a′的y坐标上去,a′=1.5-0.3=1.2。这样,线宽度通过四舍五入处理后变成了一个象素。
同样地,作为最顶端横笔划的轮廓线d的y坐标是“11.5”,通过四舍五入变成“12”。根据线宽度保持不变处理,轮廓线d′的y坐标变成12.7+0.5(差值)=13.2,这样,经过四舍五入处理后y坐标变成“13”,线宽度变成一个象素。对于从最顶端横笔划向下数的第二横笔划的轮廓线c的y坐标是“8.3”,四舍五入后变成“8”。根据线宽度保持不变的方法,轮廓线c′的y坐标变成9.5-0.3(差值)=9.2,这样,四舍五入处理后y坐标变成“9”,线宽度变成一个象素。第三横笔划轮廓线b的y坐标是“4.5”,四舍五入后变成“5”,按线宽度保持不变的方法处理,轮廓线b′的y坐标变成5.7-0.5(差值)=6.2,这样,四舍五入处理后y坐标变成“6”,线宽度变成一个象素。用这种方式,横笔划的线宽度都变成一个象素,与原始宽度1.2很接近。相似地,竖笔划的线宽度变成如图7B所示的两个象素。
用这种方法,尽管横笔划的线宽度变为相同,但这些横笔划两两之间的间隔,如图7B所示,从上到下分别变成了三个象素、两个象素和四个象素。把这些间隔与原间隔相比较,如图7A所示,四舍五入前从上到下的笔划间隔依次为d-c′=11.5-9.5=2.0,c-b′=8.3-5.7=2.6和b-a′=4.5-1.5=3.0。即当横笔划的原间隔从上到下变宽时,四舍五入后这个间隔是按中间笔划、顶笔划和底笔划的顺序变宽的,其顺序发生了变化。
更特别地,位置c′和d之间的间隔原来是2.0时,却变成了三个象素,而b′和c之间的间隔原来是2.6,它已经变成了二个象素。对于一个有许多横笔划和竖笔划的字符来讲,为了提高字符质量,准确地产生线宽度和笔划间隔以得到逻辑坐标表示的字符是很重要的。然而,即使改善了线宽度,但笔划间隔还不能得到适当的调整。
因此,本发明的目的是提供一种产生字符的方法和装置,以便从轮廓字形数据产生一个具有改善的可读性的小尺寸字符。
本发明的另一目的是提供一种产生字符的方法和装置,能防止二进制数变换图在产生具有许多相同竖向笔划或横向笔划的字符时因相互邻接的笔划的接触点而引起的局部变黑,二进制数变换图由物理坐标产生。
本发明还有一个目的是提供一个产生笔划之间的间隔可调整的字符的方法和装置。
本发明的进一步目的是提供一个产生具有给定笔划间隔的二进制数变换图的字符产生方法和装置,所述笔划间隔为新设计的有许多平行竖笔划或横笔划的字符的笔划间隔。
根据本发明的一个方面,提供一种由轮廓字形数据产生一个二进制数变换图的产生字符的方法,其中字符的轮廓线由坐标来表示,它包括以下步骤:把轮廓字形数据转换成一个指定尺寸的坐标系的坐标值;把转换后的坐标值四舍五入成整数坐标值;由四舍五入后的坐标计算在同一方向许多个笔划之间的间隔的总和;把该总和与目标笔划数减1进行比较;当该总数比由该减法所产生的值小时改变该整数坐标值,以便调整目标笔划的一个所希望的笔划的线宽度;显现包括有调整的坐标值的整数坐标值以产生二进制数变换图。
根据本发明的另一方面,提供一种由轮廓字形数据产生一个二进制数变换图的产生字符的装置,其中字符的轮廓线由坐标来表示,它包括:一个字形存储器,以用来存储每个字符的轮廓字形数据;一个字符显现电路,以用来把从字形存储器中读取的一个指定字符的轮廓字形数据变成一个指定尺寸的坐标系的坐标值,将坐标值四舍五入变成整数坐标值,由四舍五入后的坐标值来检测在字符的笔划之间是否存在接触点,如果存在这样的接触点则改变整数坐标值以产生二进制数变换图。
根据上面所述的两个方面,由四舍五入后的整数坐标值来确定四舍五入后的笔划是否彼此接触。为了做到这一点,首先计算四舍五入后笔划间隔的总和。由于笔划相互不接触对应的最小状态是任意间隔等于笔划总数减1,所以,总和将与由减法所产生的值进行比较。当总和小于由减法所得值时,断定某些笔划相互接触,从而调节这些笔划的线宽度。调节线宽度的一个方法是,使线宽度变薄以防止笔划相互接触,从而避免部分字符被黑涂满。调节线宽度的另一方法是,删掉一些笔划以防止在笔划间有任何接触点,从而避免部分字符被黑涂满。
根据本发明的进一步方面,提供一种由轮廓字形数据产生一个二进制数变换图的产生字符的方法,其中字符的轮廓线由坐标来表示,它包括以下步骤:把轮廓字形数据转换成一个指定尺寸的坐标系的坐标值;将转换后的坐标值四舍五入变成整数坐标值;由四舍五入前的各个笔划之间的间隔以及四舍五入后的各个笔划之间的间隔来计算各个间隔的比例因数;计算在比例因数之中在最大比例因数和最小比例因数之间的差值,和沿一个方向改变在笔划中的一个所希望的笔划的整数坐标值以使此差值变小;显现包括有变化的坐标值的坐标值以产生二进制数变换图。
根据本发明的更进一步的方面,提供一种由轮廓字形数据产生一个二进制数变换图的产生字符的装置,其中字符的轮廓线由坐标来表示,它包括:一个字形存储器,以用来存储每个字符的轮廓字形数据;一个字符显现电路,以用来把从字形存储器读取的一个指定字符的轮廓字形数据转变成一个指定尺寸的坐标系的坐标值,将坐标值四舍五入变成整数坐标值,并以这样一种方式改变整数坐标值:使四舍五入前和四舍五入后的笔划间隔的最大比例因数与最小比例因数之间的差值变化以产生二进制数变换图。
根据上述的这两个方面,如果四舍五入处理后的笔划间隔的比例因数与原始字符的笔划间隔的比例因数接近,则可以认为四舍五入处理后的笔划间隔已经再现了原始字符的结构。在这方面,计算四舍五入前后的各笔划之间各间隔的比例因数,和改变多个笔划间隔之间的笔划的坐标以使得在所计算的比例因数中最大比例因数和最小比例因数之间的差值变小。
本发明的其它特征和优点由下面结合附图的描述将变得很清楚。
附图引入说明书中并构成说明书的一个组成部分,以描述本发明最好实施方式,附图与上面所给出的概括性描述和下面将给出的最好实施方式的详细描述一起用于解释本发明的原理。
图1是表示了用于解释已有技术的汉字字符的示意图;
图2A是由已有技术显现图1中汉字字符为24×24点的一个附图:
图2B是由已有技术显现图1中汉字字符为16×16点的一个附图:
图3是解释已有技术的另一汉字字符:
图4A是由已有技术显现图3中汉字字符为16×16点的一个附图;
图4B是由已有技术显现图3中汉字字符为12×12点的一个附图;
图5是解释已有技术的又一不同的汉字字符;
图6A是以图案表示的图5中汉字字符进行坐标变换后的坐标;
图6B是以图案表示的图5中汉字字符四舍五入处理后的坐标;
图7A是以图案表示的图5中汉字字符进行坐标变换后的坐标;
图7B是以图案表示的图5中汉字字符四舍五入处理后线宽保持不变的坐标:
图8是说明本发明原理的一个示意图(第一部分);
图9是说明本发明原理的一个示意图(第二部分);
图10是说明本发明原理的一个示意图(第三部分);
图11是本发明的一个实施方式的方框图;
图12是根据本发明第一个实施方式的显现字符部分的方框图;
图13是表示图11中字形存储器结构的图(第一部分):
图14是表示图11中字形存储器结构的图(第二部分);
图15是根据本发明第一个实施方式的流程图;
图16是根据本发明第一个实施方式产生字符操作的解释示意图(第一部分):
图17是根据本发明第一个实施方式产生字符操作的解释示意图(第二部分);
图18表示的是图16和图17中所示实施方式所用的汉字字符图案;
图19是描述图15所示实施方式中显现字符表的解释示意图;
图20是根据本发明第二个实施方式的流程图;
图21是根据本发明第二个实施方式产生字符操作的解释示意图(第一部分);
图22是根据本发明第二个实施方式产生字符操作的解释示意图(第二部分);
图23表示的是图21和22所示的实施方式所用的汉字字符图案;
图24是图20所示实施方式的显现字符表的解释示意图;
图25是根据本发明第三个实施方式的显现字符部分的方框图;
图26是表示图25中字形存储器结构的附图(第一部分);
图27是表示图25中字形存储器结构的附图(第二部分);
图28是根据本发明第三个实施方式的流程图;
图29是根据本发明第三个实施方式产生字符操作的解释示意图(第一部分);
图30是根据本发明第三个实施方式产生字符操作的解释示意图(第二部分):
图31表示的是图29和30中所示的实施方式使用的汉字字符图案;
图32是图28所示实施方式的显现字符表的解释示意图;
图33A表示的是四舍五入前坐标值以解释第三个实施方式;
图33B用于解释第三个实施方式的四舍五入后的坐标值的一个附图:
图34是解释第三实施方式的操作的解释示意图。
图8是演示本发明原理的一个示意图(第一部分)。如图8所示,对存储在1000×1000的一个坐标系中的轮廓坐标ao到co进行坐标变换变为指定尺寸。然后对所得结果四舍五入以获得整数坐标值。例如,当一个汉字字符“车”转换成一个16×16点阵列时,中间笔划的较低端坐标b1′和较低笔划的较上端坐标c1变成同一坐标值,结果这些笔划相互接触。为探测这种接触点,计算目标笔划的间隔的总和,并与目标笔划总数减1进行比较。当总和小于目标笔划总数减1时,进行变细处理。即,使除较外面的笔划以外的目标笔划的中间笔划变细,从而防止笔划相互接触。
图9是表示本发明原理的一个示意图(第二部分)。如图9所示,存储在1000×1000的一个坐标系中的轮廓坐标ao至co′经坐标变换变为指定尺寸。接着对所得值四舍五入以获得整数坐标值。例如,当一个汉字字符“龟”被转换成一个16×16点阵的尺寸,较上笔划的较低端坐标a1′和中间笔划的较上端坐标b1变成同一坐标值,并且中间笔划的较低坐标b1′和较低笔划的较上端坐标c1也变成同一坐标值。因此,这些笔划相互接触。为了探测这种接触,计算目标笔划的间隔的总和,并与目标笔划总数减1进行比较。当总和小于目标笔划总数减1时,断定笔划相互接触。在这种情况下,当笔划线宽是一个象素时,若使笔划线宽变小,笔划将被删除。因此,将进行删除处理。也就是说,不包括较外面的笔划的目标笔划的中间笔划被删除,从而防止笔划相互接触。
图10表示了本发明的原理。如图10所示,存储在轮廓坐标系中的轮廓坐标a至e经坐标变换变为一指定尺寸。然后对所得值四舍五入以获得整数坐标值。例如当一个汉字字符“目”被转换成一个14×12点的尺寸,笔划间隔发生变化。为了使笔划间隔的变化减至最小,计算四舍五入前的笔划间隔和四舍五入后的笔划间隔。接着计算四舍五入前的笔划间隔的比例因数和四舍五入后笔划间隔的比例因数。在计算所得的比例因数中找出最大比例因数和最小比例因数。然后改变笔划以使最大比例因数与最小比例因数之差值为最小。因而对笔划间隔能按原始设计进行调整。
图11是本发明一个实施方式的方框图,图12是根据本发明第一个实施方式的显现字符部分的方框图,图13(第一部分)和14(第二部分)表示了本发明一个实施方式的字形存储器的结构。
如图11所示,接收电路1接收来自较高级器件(计算机等)的打印指令和打印数据。接收电路由微处理机构成。指令分析器2分析在接收电路1中接收的打印指令等的含义,将接收的数据分成一个字符和一个图。显现字符电路3从指令分析器2中接收字符码、字符尺寸和字符方向,从字形存储器4中读取字符数据,显现相应字符为二进制变换图。显现字符电路3下面将参考图12详细描述。字形存储器4以一个轮廓形式存储字符数据。字形存储器4下面将参考图13和14详细描述。
绘图电路5将一个图或图象显现为一个二进制数变换图,将已经显现为二进制数变换图的字符和图叠加,一个叠加在另一个的上面,并将所得图象写入二进制数变换存储器6中。一个打印机7将二进制数变换存储器6中的打印数据打印在一张纸上。指令分析器2、字符显现电路3以及绘画电路5由一个单片微处理器8构成。
现在描述微处理器8的操作。在接收电路1中接收的打印指令和打印数据的含义由指令分析器2来分析,并分解成字符和轮廓。由绘图电路5将轮廓和图显现成二进制数变换图。由字符显现电路3使用存储在字形存储器4中的轮廓字形数据使字符显现成指定字符尺寸的二进制数变换图。
绘图电路5将已经显现为二进制数变换图的字符和图形叠加,一个叠加在另一个的上面,并将所得的图象写入二进制数变换存储器6中。二进制数变换存储器6中的数据将由打印机7打印在一张纸上。
图12详细描述了字符显现电路3。一个放大/缩小电路30进行放大/缩小操作使得与字形存储器4的字符码相对应的字符轮廓数据变成所设计的字符尺寸。
启发处理器31有一个字符显现表(后面将参考附图19和24来讨论),该表保存了每个笔划启发处理前和启发处理后的数据。启发处理器31进行四舍五入(启发)处理或类似的处理以调整笔划的宽度或将其删除从而改进二进制数变换的字符性能。
笔划间隔计算器32计算启发(四舍五入)处理后竖笔划之间或横笔划之间的间隔和计算间隔总和。比较器33将计算所得的笔划间隔总数与待考虑的笔划的总数减1进行比较。当总和小于笔划总数减1时,测定电路34指示启发电路31使所考虑的笔划变细或将其删除。填充电路35根据启发处理器31中轮廓数据填充在轮廓线内以完成一个二进制数变换图。
上述字符显现电路3的方框电路30至35都是微处理器8的软件功能块。
下面将描述这些方框电路的操作。
字符显现电路3检索字形存储器4以寻找所设计好的字符的轮廓数据。然后由放大/缩小电路30将轮廓数据放大或缩小成指定尺寸。启发处理器31将放大/缩小后的坐标数据存储在字符显现表中,并对这个数据四舍五入以获得启发处理后的坐标数据。所得的坐标数据存储在字符显现表中。
把坐标数据输给笔划间隔计算器32。笔划间隔计算器32计算启发处理后竖笔划之间或横笔划之间的间隔并计算间隔的总和。
比较器33将计算所得的笔划间隔总和与待检测的笔划总数减1进行比较,并将比较结果给测定电路34。当由比较值确定该总和小于该减法所产生的值以及在笔划之间没有空白间隔时,测定电路34指示启发处理器31使一个笔划(不包括外层两个笔划)变细或将其删除。
当比较结果表明该总和等于或大于该减法所产生的值时,启发处理器31将不进行特定处理并把启发处理后数据给填充电路35。当比较结果表明总和小于该减法所产生的值时,启发处理器31用使笔划之一(不包括外层笔划)变细或将其删除的这样一种方式来改变四舍五入后的数据以预备启发处理后的数据,并将该数据输给填充电路35。最后填充电路35根据接收到的数据填在轮廓线内以完成一个二进制数变换图。
现将参考图13和14描述字形存储器4的结构。可以参考下面的情况给以描述,在这种情况下,字符在分级结构中被拆成对应于构成该字符的左手旁根和右手旁根单元、对应于画笔移动的笔划、以及对应于笔划起始部分和笔划结尾部分的组成部分。更一步地,用这种描述将阐明:为了减少数据量,字形存储器4包括图13所示的结构数据存储器4a以存储字符的分级结构和特征数据;以及包括一个轮廓数据存储器4b以存储被拆成笔划或部分的每一个字符的轮廓数据。
如图13所示,结构数据存储器4a包括一个存储字符设置类型(Minchq黑体字等)和公用数据(例如预备好的数据)的一个标题40、一个根据字符码检索目标数据的字符指示符块41、一个表示被拆成单元(例如左手根和右手根)的单元指示符块42、以及一个描述每个单元具有什么结构的单元目录块43。
单元目录块43包括单元块44和笔划块45,每个单元块44由各单元的分类码构成,每个笔划块描述了构成每个单元的笔划的详细数据。
每个笔划块45包括:各笔划的分类码,每一个都描述构成一个笔划的区段部分的数据的组成部分块(例如由各组成部分的字符坐标系所看到的原始坐标等),以及空白空间块。存储在每个空白空间块内的数据是控制笔划之间的间隔的数据,空白空间块有X组号、Y组号、变细标示位以及删除标示位。
X数组表示是否需要在X方向控制笔划与另一笔划间的间隔。当间隔的控制不必要时,“0”写入X组号中,而当需要这种控制时,写入需要笔划控制的那组笔划的组号。例如,前面提到图1中所示的汉字字符“车”有三个竖笔划。当这些竖笔划需要在X方向间隔控制等时,同样的组号(例如“1”)写入X组号中。
Y组号表示是否需要在Y方向控制笔划与另一笔划间的间隔。当间隔的控制不需要时,“0”写入这个Y组号中,而当需要这种控制时,写入需要笔划控制的那组笔划的组号。例如,前面提到的图1所示的“车”有五个横笔划。当在Y方向这些笔划中的三个笔划需要笔划控制时,相同的组号(例如,“1”)写入Y组号中。
提供变细标识位以防止在粗字体中线之间的间隔相互接触。使带变细标识位“1”的笔划比原来的笔划要细以保持线之间的间隔。
提供删除标位以防止当一个字符被显现到一个非常小的二进制数变换图和线的宽度为一个象素并不能变细时,邻近的笔划相互接触。带标识位“1”的笔划被删除以改善可读性。
指定字符是否包括需要调整的笔划由顺序读取结构数据存储器4a中空白空间隔块中的X组号和Y组号来检测。当写入的是除“0”以外的一个组号时,对那些有相同组号的笔划进行线宽调整或线删除操作。
当一个字符分成许多组成部分时,轮廓数据存储器具有如图14所示的数据结构。更特殊地,轮廓数据存储器4b包括一个存储字符设置类型(Mincho,黑体字等)和公用数据(例如预备的数据)的一个标题块46、一个根据字符码检索目标数据的字符指示符块47、一个检索构成指定字符的组成部分的图象的组成部分指示符块48、一个以轮廓线描述组成部分图象的轮廓信息块49。
组成部分指示块48按各笔划的顺序配备了组成部分指示符1至n。组成部分指示符1至n带有指示笔划尾端的标识位。假定一个笔划有由组成部分指示符1和2表示的组成部分,表示该笔划尾端的标识位设置在组成部分指示符2中,能清楚看到那一笔划对应那些组成部分。
用上述设计,如果给每一字符配组成部分指示符块48,轮廓信息块49各组成部分的轮廓数据能由许多字符共用,因而,确保字形存储器的容量减小。
图15是根据本发明第一个实施方式的流程图,图16和17是根据本发明第一个实施例的产生字符的过程的解释图(部分1和部分2),图18表示的是用于这实施例中的汉字字符图案,图19描述了本发明一个实施例的字符显现表的解释性图表。
首先,描述图18所示的黑体字汉字字符“车”的产生过程,例如由参照图16、17和19的字形存储器4。如图16所示,根据汉字字符“车”的字符码“8ED4”在字形存储器4的结构数据存储器4a的字符指示符块41中获得一个单元的指示符。然后在单元指示符块42中得到存储结构数据的单元块44的指示符。
由于汉字字符“车”由八个笔划S1至S8构成,如图18所示,关于构成汉字字符“车”的八个笔划S1至S8的数据存在靠近单元块44中的单元分类码的笔划块45中。这个例子表明按照划字符的笔划顺序来布置数据。
第一笔划S1是一横线,它有一个横线分类码“000010”。控制标志部分是“0000”,在控制标识位部分中X组号、Y组号、变细标识位以及删除标识位按叙述的顺序排列。也就是说,对应Y方向笔划控制的组号设置为“0”,变细标识位和删除标识位,都是“0”。第二笔划S2是一竖线,它有一个竖线分类码“000001”以及这个笔划具有一个设置“1”的X组号。而且,对于第三笔划S3、第五笔划S5、第六笔划S6以及第七笔划S7都有设置为“1”的Y数组号,而第四笔划S4有一个设置为“1”的X组号。
换句话说,汉字字符“车”在X方向有三个调整笔划并且在Y方向也有三个调整笔划。
由于第五笔划S5有一个变细标识位“1”,如果若用粗的字体等,当字符显现为一个二进制数变换图时横笔划相互接触没有空着的间隔,则使这些笔划线变细以保持有间隔。
更进一步地,由于第五笔划S5有一个删除标识位“1”,如果在产生一个小的二进制变换图时,横笔划相互间靠的很近以至于涂满了黑色则删除这一笔划使得笔划间保持有间隔。
因此,根据汉字字符“车”的字符码,从结构数据存储器4a中读出相对应的笔划块45的内容。类似地,组成部分指示符块48的指示符可由图17所示的汉字字符“车”的字符码“8ED4”从字符指示符块47获得。接着,相应轮廓数据可以从组成部分指示符块48中的轮廓信息块49中获得。
图12所示放大/缩小电路30将该组成部分的轮廓数据放大或缩小为指定字符尺寸的轮廓数据。例如,在图8中为了提供指定一个X方向16象素和Y方向16象素的尺寸,由1000×1000坐标系表示的一个字符的轮廓数据在X方向和Y方向都乘以16/1000。
将这样变换过的轮廓数据与笔划块45的数据一起送到图12中的启发处理器31。启发处理器31预备图19所示的字符显现表。对于构成一个字符的每一笔划,如图19所示,该字符显现表都包括:一个笔划编号,四舍五入前的笔划的坐标(X坐标的Xl是一个竖笔划的线宽的左手边的坐标,X坐标的Xr是该竖笔划的线宽的右手边的坐标,Y坐标的Yb是一个横笔划的线宽的下端的坐标,Y坐标的Yu是该横笔划的线宽的上端的坐标),四舍五入后的笔划的坐标(X坐标的Xl是一个竖笔划的线宽的左手边的坐标,X坐标的Xr是该竖笔划的线宽的右手边的坐标,Y坐标的Yb是一个横笔划的线宽的下端的坐标,Y坐标的Yu是该横笔划的线宽的上端的坐标),一个组号(X,Y),变细标识位(X,Y),删除标识位(X,Y)以及该笔划的轮廓数据。
从而,启发处理器31将由放大/缩小电路计算的各段轮廓数据存储在图19所示字符显现表中相应笔划的轮廓数据栏中。然后启发处理器31将笔划的结构数据存储在控制标识位栏(组号(X,Y),变细标识位(X,Y),删除标识位(X,Y))中。启发处理器31根据轮廓数据并且不管笔划是竖笔划还是横笔划获得每一笔划的结尾坐标,并将坐标数据存储在四舍五入前的笔划坐标栏中。更进一步地,启发处理器31对四舍五入前的笔划坐标进行线宽保持不变四舍五入处理。启发处理器31因而得到四舍五入后的笔划坐标并将其存储在字符显现表中四舍五入后笔划坐标栏中。
上面参考图18所示汉字字符“车”被转换为图8所示的16×16点的尺寸的这种情况进行了描述。如图18所示,因第一笔划S1是一横笔划,该横笔划的线宽的下端Y坐标Yb和上端Y坐标Yu由坐标变换后的轮廓数据获得。Yb和Yu分别是13.4和15.8,它们被存储在图19所示的字符显现表中的四舍五入前笔划栏中。
对坐标进行线宽度不变四舍五入处理,结果该横笔划线宽的下端Y坐标Yb变为“13”而该横笔划线宽的下端Y坐标Yu变为15,如图8所示。所得Y坐标被存储在字符显现表的四舍五入后笔划栏中。
此后,用同样的方法,可获得第二笔划S2、第三笔划S3、第四笔划S4、第五笔划S5、第六笔划S6、第七笔划S7以及第八笔划S8的四舍五入前后的笔划坐标,并将它们存储在字符显现表中。用这种方式,四舍五入前的汉字字符“车”通过四舍五入处理变成了如图8所示的形式。
用这些数据段,由图11所示的笔划间隔计算器32、比较器33以及测定电路34来完成图15所示的线宽调整处理。
(1)启发处理器31从字形存储器4的结构数据存储器4a中读取一个指定字符一个组成部分的笔划区段。然后启发处理器31把坐标变换后的轮廓数据(该数据由放大/缩小电路30获得)以及该笔划区段的内容存储在图19所示字符显现表中。
(2)启发处理器31阅读字符显现表的组号栏采取具有相同组号的笔划组。启发处理器31读取四舍五入处理后的笔划坐标并将它们送到笔划间隔计算器32。例如,对于前面提到的汉字字符“车”,三个笔划S3,S5以及S6作为来自字符显现表具有相同组号的笔划提取出来。然后,读出四舍五入处理后的笔划坐标。
(3)笔划间隔计算器32由四舍五入后的笔划坐标计算启发处理后的笔划间隔WS。在图19所示例子中,计算两个笔划间隔a1′-b1和b1′-c1。a1′是笔划S3的下Y坐标Yb(=10),而b1是笔划S5的上Y坐标Yu(=9)。 b1′是笔划S5的下Y坐标Yb(=7),c1是笔划S6的上Y坐标Yu(=7)。因此,启发处理后笔划间隔WS变为:
WS=(a1′-b1)+(b1′-c1)
=10-9+7-7=1
然后,从笔划总数N(=3)中减去1以便获得对于N个笔划所需空白(空白)区域数目,即N-1=2。
(4)比较器33从(N-1)中减去笔划间隔数WS,并将计算结果传给测定电路34。测定电路34检测比较结果是否为“0”或正数。如果比较结果是“0”或正数这意味着在笔划间有空白间隔,不需进行线变细处理,进行步骤(7)。
(5)如果测定电路34检测到比较结果为负数,不是“0”或正,则笔划之间没有足够的间隔以及邻近的笔划相互接触。因而,测定电路34指示启发处理器31对笔划进行线变细处理。结果是,启发处理器31由四舍五入处理后的坐标值来检验这N个目标笔划的线宽度,提取具有两个或更多象素的线宽的笔划。如果没有找到具有两个或更多象素的线宽的笔划,不进行线变细处理,进行步骤(7)。
当检测到任一具有两个或更多象素线宽的笔划时,启发处理器31在字符显现表中查阅变细标识位栏以核对是否为这笔划设置了变细标识位。当没有为具有两个或更多象素线宽的每个笔划设置变细标识位时,将不进行线变细处理,而进行步骤(7)。
(6)启发处理器31将具有两个或更多象素宽度并具有变细标识位的字符的线宽减1。也就是说,改变在字符显现表中四舍五入处理后的该笔划对应的坐标以使得线宽减少了一个象素。在图18所示例子中,在汉字字符“车”中的组成部分“Hi”的中间笔划S5具有两个或更多象素一个线宽并具有变细标识位。所以,“1”与字符显现表中对应于经四舍五入处理后的笔划S5的下坐标Yb相加,使其为“8”,线宽减少了一个象素。
用这种方式,汉字字符“车”变成如图8所示,防止字符“车”的组成部分“Hi被填满并使其外形接近原始字符图。
如果对不包括最外层的两个笔划的组成部分的这个笔划进行行变细处理,所得的字符的外形更接近原始字符图。因此,为不包括最外两个笔划(在本例中为笔划S3和S6)的组成部分的笔划设置变细标识位。
(7)接着,启发处理器31检查字符显现表中的组号栏以核对是否还有未处理的组号。如果存在这样一个未处理组号,启发处理器返回到步骤(2)。
如果启发处理器31确定没有未处理的组号,则核对是否已完成了X方向和Y方向的调整。当调整还没有完成时,启发处理器31返回步骤(2)。当调整已经完成,则启发处理器31检测是否已对字符的所有的组成部分重复了上述操作。当没有对所有的组成部分完成该操作时,启发处理器31返回到步骤(1)。当已对所有的组成部分完成该操作时,启发处理器31终止该调整操作。
当完成调整操作时,字符显现电路3中的填充电路35根据字符显现表中的内容进行绘制以完成一个二进制数变换图。
通过上述处理,即使是缩小了汉字字符“车”,也能由调整笔划的线宽来获得接近原始字符设计的二进制数变换图,如图8所示。
图20是根据本发明的第二个实施方式的流程图,图21和22是根据本发明第二实施方式的字符产生方法的解释图,图23表示了一个用在该实施方式中的字符图案,图24是本发明的一个实施例中的字符显现表的解释图。
首先,描述图23所示的汉字字符“龟”的产生过程,例如由参照图21、22和24中的字形存储器4。
如图21所示,根据汉字字符“龟”的字符码“8B54”,在字形存储器4的结构存储器4a的字符指示符块41中获得一个单元指示符。然后,存储结构数据的单元块44的指示符在单元指示符块41中获得。由于汉字字符“龟”由十四笔划S1到S14组成,如图23所示,构成汉字字符“龟”的十四个笔划S1至S14的数据用笔划区块45来描述,笔划块45紧跟在单元块44的单元分类码之后。这个例子表明以字符的笔划顺序来放置数据。
由于第一笔划S1是斜线,它有一个斜线鉴别码和控制标识位部分,在控制标识位部分中以命名顺序排列的X数组、Y数组、变细标识位和删除标识位是“0000”。即,在X和Y方向笔划控制的数组设置为“0”和变细标识位及删除标识位都是“0”。由于第二笔划S2是横线,这个笔划有一个横线鉴别码,而且有在X和Y方向都设置为“0”的笔划控制的数组,变细标识位和删除标识位都是“0”。
换句话说,对于如图24所示的汉字字符“龟”,笔划S9,S11和S14设置成X方向调节的第一数组,笔划S5,S7和S8设置成Y方向调节的第一数组,笔划S10,S12和S13设置成Y方向调节的第二数组。
第七个笔划和第十二笔划S12都有为“1”的变细标识位。如果当字符用粗体或类似形式显现到二进制数图上时由于没留间隔而使横笔划相互接触,那么这些线要变细以保持按第一实施例所述的间隔。
进一步地,由于第七笔划S7和第十二笔划S12都有值为“1”的删除标识位,如果当产生小的二进制数变换图时横笔划相互非常接近以至没有留空,那么,这个笔划就会被删除以在笔划之间保留间隔。
因此,依据汉字字符“龟”的字符码,相应的笔划块45的内容从结构数据存储器4a中读出。相似地,根据图22所示的汉字字符“龟”的字符码“8B54”从字符指示符块47中得到单元指示符块48的指示符,然后,从单元指示符块48中的轮廓信息块49中得到相应的轮廓数据。
参考图12已经解释了的放大/缩小电路30将该轮廓数据放大或缩小到指定的字符尺寸的轮廓数据。例如,为了得到图9中的X方向12个象素和Y方向12个象素的尺寸,用1000×1000的坐标系表示的字符的轮廓数据在X方向乘以12/1000,在Y方向也乘以12/1000。
这样,变换过的轮廓数据和笔划块45的数据被一同送到图12中的启发处理器31中。启发处理器31形成图24所示的字符显现表。
对于构成字符的每一笔划,如图24所示,字符显现表包含有笔划数、四舍五入前的笔划的坐标(竖笔划线宽左手边的X坐标Xl,竖笔划线宽度右手边的X坐标Xr,横笔划线宽度底边的Y坐标Yb和横笔划线宽度上边的Y坐标Yu)。四舍五入后笔划的坐标(竖笔划线宽度左手边的X坐标Xl,竖笔划线宽度右手边的X坐标Xr,横笔划线宽度底边的Y坐标Yb和横笔划线宽度上边的Y坐标Yu)、数组(X、Y),变细标识位(X、Y),删除标识位(X、Y)和这个笔划的轮廓数据。
因此,启发处理器31将轮廓数据中的各部分存储在字符显现表中的相应笔划的轮廓数据栏中,轮廓数据由放大/缩小电路30进行计算。然后启发处理器31把笔划的结构数据存储在控制标识位栏中数组(X、Y)、变细标识位(X、Y)、删除标识位(X、Y)。启发处理器31根据轮廓数据和该笔划是竖笔划还是横笔划来得到四舍五入前每个笔划的坐标,并把四舍五入前的坐标数据存储在笔划坐标栏中。
进一步地,启发处理器31根据四舍五入前的笔划坐标进行线宽度保持不变的四舍五入处理,以得到四舍五入后的笔划坐标,然后,启发处理器31把取四舍五入后的这些坐标存储在字符显现表中的四舍五入后笔划坐标栏中。
上述过程参考如下情况进行描述,在这种情况下,图21和22所示的汉字字符“龟”被变换成图9中的12×12点的尺寸。如图23所示,由于第二笔划S2是横笔划,横笔划的线宽度的底Y坐标Yb和上Y坐标Yu以坐标变换后的轮廓数据中获得。Y坐标Yb和Yu分别是11.5和12.1,并存储在字符显现表中的四舍五入前的笔划栏中。
对这些坐标进行线宽度保持不变的四舍五入处理,以便第二横笔划S2的线宽度的底Y坐标Yb变成“11”,这个横笔划S2的线宽度的上Y坐标YU变成“12”,见图9。最后的Y坐标被存储在字符显现表中的四舍五入后笔划栏中。此后,相似地,可以得到竖笔划和横笔划S4、S5、S6、S7、S8、S9、S10、S11、S12、S13以及S14的四舍五入前后的笔划坐标,斜线除外,并将这些坐标存储字符显现表中。以此方式,通过四舍五入的方法使四舍五入前的汉字字符“龟”变成了如图9所示的那样。
采用那些数据,用笔划间隔计算器32、比较器33和测定电路34(如图12所示)来执行图20中的笔划删除/调整步骤。
(1)启发处理器31从字形存储器4的结构数据存储器4a中读取一个指定字符的一个组成部分的一个笔划块。启发处理器31然后存储由放大/缩小电路30获得的轮廓数据和该笔划区段的内容在字符显现表(见图24)中。
(2)启发处理器31阅读在字符显现表中的组号栏以便采集具有相同组号的笔划组。启发处理器31读取在四舍五入过程之后的笔划坐标并把它们送到笔划间隔计算器32。例如,对于图23所示的汉字字符“龟”,把三个笔划S5、S7和S8作为来自字符显现表的相同组号的笔划提取出来,并且然后读出四舍五入过程之后的笔划坐标。
(3)在启发过程之后,笔划间隔计算器32从在四舍五入过程之后的笔划坐标中计算笔划间隔WS。
在图24的例子中,计算两个笔划间隔a1′-b1和b1′-c1。a1′是笔划S5的底Y坐标Yb(=9),和b1是笔划S7的上Y坐标Yu(=9)。b1′是笔划S7的底Y坐标Yb(=8)和c1是笔划S8的上Y坐标Yu(=8)。因而,在启发过程之后,
笔划间隔变成:
WS=(a1′-b1)+(b1′-c1)
=9-9+8-8=0
接着,从笔划总数N(=3)中减去1以便获得对于N笔划所需要的白(空白)区域的数目;即,N-1=2。
(4)比较器33从(N-1)中减去笔划间隔WS,并且通知测定电路34结果。测定电路34测定比较结果是否为“0”或者正数。如果比较结果是“0”或者是正数,即意味着在笔划之间存在空白间隔,则不需要线删除。因而,流程前进到步骤(7)。
(5)如果测定电路34测定比较结果是负数(即不是“0”或正数),则在笔划之间没有足够的间隔和邻近的笔划相互接触。因而,测定电路34指示启发处理器31执行笔划删除。结果是,启发处理器31查阅字符显现表中的删除标识位栏以检查删除标识位是否为该笔划而设定。当对于每个目标笔划没有设定删除标识位时,不执行线删除过程,并且流程前进到步骤(7)。
(6)当检测到一个具有删除标识位的笔划时,启发处理器31删除该笔划。这就意味着使在字符显现表中的四舍五入后那个笔划的底和上坐标在Y方向彼此相等。在图9的例子中,在汉字字符“龟”中的上组成部分“Hi”的中间笔划S7有删除标识位。因而,对于在字符显现表中的四舍五入过程之后的笔划S7的底Y坐标Yb加“1”以使其变为“9”,因而使线宽度变为0,结果是删除了该笔划。
以此方式,汉字字符“龟”变成如图9所示那样,避免了字符“龟”的上组成部分“Hi”被涂满并且使其外形接近原字符形象。
如果除去最外面的笔划的组成部分的那个笔划进行了线删除,最后字符的字形变得更接近原始字符形象。因此,为除去最外面两笔划(在此例子中为笔划S5和S8)的组成部分的那个笔划设置删除标识位。
(7)接着,启发处理器31检查在字符显现表中的组号栏以检查是否仍有未处理的组号。如果存在有这样一个未处理的组号,启发处理器31返回到步骤(2)。如果启发处理器31测定没有未处理的组号,则启发处理器31检查对于X和Y方向的调整是否都已完成。调整还没完成,启发处理31返回到步骤(2)。当调整已经完成时,启发处理器31则检测上面的的操作是否对于字符的所有组成部分已经重复。当没有对所有组成部分重复该操作时,启发处理器31返回到步骤(1)。当对所有组成部分已经重复该操作时,启发处理器31终止该调整过程。
当已经完成调整后,在字符显现电路3中的填充电路35基于字符显现表中的内容进行绘制以完成一个二进制数变换图。
通过上述过程,即使对于缩小了的汉字字符“龟”,接近原字符设计的二进制数变换图也能通过调整笔划的线宽而获得,如图9所示。通常,在那些实施例中,当一个字符的最外面的笔划粗时,可读性高,这样最外面的笔划就不能变窄或被删除。如果使具有一个象素宽的一个笔划变细,将删除该笔划,这样来说可使具有两个象素或更多象素宽度的笔划变细。
为使一个目标笔划变细,在该笔划显现成一个二进制变换图之前改变该笔划的坐标,因此很容易地使该笔划变细。另外,有可能指定一个笔划,通过事先使线宽较细或事先设置一个要删除的笔划,该笔划既使当在字符设计时作得较细也能保持可读性。进一步说,有可能容易地识别制得较细的一个笔划,因而保证了与原始字符设计相配的笔划调整。
尽管是参考汉字字符“车”描述了第一实施例,该实施例也可应用于其它具有平行水平笔划的汉字字符,象汉字字符“龟”。尽管是参考汉字字符“龟”的上组成部分“Hi”描述了第二实施例,也可以检查这个字符的下组成部分“Hi”。同样,第二实施例也可用于具有平行垂直笔划的其它汉字字符中,象汉字字符“车”。另外,可以把第一和第二实施例结合起来,使得可以对一个具有两个象素或更多象素宽度的笔划进行第一实施例的线变细操作,并且也可以对一个小于两个象素宽度的笔划进行第二实施例的线删除操作。在字符坐标系中可以设置一个表示的一个组成部分的原点,这样由离开此原点的相对位置可以表示轮廓数据。尽管已经把字形存储器解释为一个组成部分分段式,但它也可以是一个笔划分段式的。
现描述第三实施例。根据本实施例的一个字符发生装置的结构与图11所示的相同。图25是一个字符显现电路3的方框图,图26和27是表示一个字形存储器结构的图(第一部分和第二部分)。
图25表示在字符显现电路3的方框图中的详细演示。放大/缩小电路30放大或缩小对应于来自字形存储器4的字符编码的字符轮廓数据,使得该数据具有指定的字符尺寸。启发处理器31有一个表(该表以后参考图32描述)以便保存对于每个笔划的在一个启发过程之前的数据和在此之后的数据,和执行一个四舍五入(启发)过程或相似的过程以调整线宽或位置以便因而改善一个二进制数变换的字符质量。笔划间隔计算器32计算在启发(四舍五入)过程之后的水平笔划或垂直笔划之间的间隔,和在启发过程之前的水平笔划或垂直笔划之间的间隔。一个比例因数计算器36计算一个在启发过程之前的一个笔划间隔和在该过程之后的一个笔划间隔之间的比例因数。一个最大/最小比例因数检测器38检测最大和最小比例因数并且计算它们之间的差值。一个试用部件37指示笔划间隔计算器32向在启发过程之后的笔划间隔加一个象素,这就提供了最小比例因数,和从启发过程之后的笔划间隔中减少一个象素,这就提供了最大比例因数。一个测定电路39把在试用前最大和最小比例因数之间的差值与在试用后最大和最小比例因数之间的差值进行比较。当靠试用已经使差值变得较小时,在试用之后测定电路39把计算结果供回给启发处理器31,并且当靠试用没有使差值变得更小时,把试用之前的计算结果供回给启发处理器31。填充电路35根据来自启发处理器31的轮廓数据填充进轮廓线内部以完成一个二进制数变换图。
字符显现电路3由一个处理器设成,并且方框电路30和39是该处理器的软件的功能块。
下面将描述字符显现电路3的操作。字符显现电路3为了指定的字符数据(轮廓数据)而检索字形存储器4,并且允许放大/缩小电路30来放大或缩小该数据到指定的尺寸。启发处理器31在该放大或缩小之后把该坐标数据存储在表中,并且在一个启发过程之后取整数该数据以获得坐标数据。把所得的坐标数据存在表中。把该数据给笔划间隔计算器32。该笔划间隔计算器32计算在启发过程之后在水平笔划或垂直笔划之间的间隔,以及在启发过程之前在水平笔划或垂直笔划之间的间隔。比例因数计算器36根据由笔划间隔计算其32计算的间隔来计算比例因数。最大/最小比例因数检测器38检测在计算出的比例因数中的最大和最小的比例因数。该检测器38计算在这两个比例因数之间的差值(第一差值)并且暂时把它存储在测定电路39中。
试用部件37指示笔划间隔计算器32尝试向提供了最小比例因数的启发过程之后的笔划间隔增加一个象素,以及从提供了最大比例因数的启发过程之后的笔划间隔中减少一个象素。笔划间隔计算器32根据该指示计算在启发过程之后的笔划间隔,并且把计算结果输出给比例因数计算器36。比例因数计算器36计算在启发过程之后修正了比例因数的笔划间隔。最大/最小比例因数检测器38计算在最大和最小比例因数之间的差值(第二差值),并且把它送到测定电路39。
测定电路39把暂时保留的第一差值与在试用后的第二差值进行比较,当靠试用该差值已经变小时,则在试用之后把计算结果反馈回启发处理器31,当靠试用该差值没有变小时,则把在试用前的计算结果反馈回启发处理器31。当试用不成功时,启发处理器31不执行什么特定的操作并且在启动过程之后把数据给填充电路35。当试用是成功的时候,在启发过程之后,启发处理器31预备数据,该数据是通过把位于在提供最大比例因数的笔划间隔和提供最小比例因数的笔划间隔之间的笔划向着带有最大比例因数的笔划间隔移动一个象素而获得,并且该启发处理器31把合成数据送到填充电路35。最后,根据来自启发处理器31的接收到的轮廓数据,填充电路35填充轮廓线的内部以完成一个二进制数变换图。
根据图26和27描述字形存储器4的结构。类似于图13和14的描述,可以根据这样的情形进行描述,其中以一个分级的结构来分解一个字符,以便存储对应于构成该字符的左边根及右边根的单元、对应于刷子运动的笔划、和对应于笔划开始部分及笔划结束部分的组成部分。另外,在此描述中将解释为了减少数据量,字形存储器4包括结构数据存储器4a(图26中)以存储字符的分级结构和特征数据,和一个轮廓数据存储器4b以存储分解成笔划或组成部分的每个字符的轮廓数据。
如图26所示,结构数据存储器4a具有与图13所示的存储器相同的结构。通过顺序地读取在结构数据存储器4a中的空白间隔块中的X组号和Y组号可以检查被指定的字符是否包括一个需要调整的笔划。当写入一个不是“0”的组号时,在具有相同组号的那些笔划上执行线间隔调整。
当一个字符被分解为组成部分时,轮廓数据存储器4b有一个如图27所示的数据结构。该结构与如图14所示的那个相同。
图28是根据本发明第三实施例的间隔控制的流程图,图29和30是对根据本发明的一个实施例的字符发生操作的解释性的图表(第一部分第二和部分),图31表示用于本实施例的一个字符的图案,图32是对于在本发明第三实施例中的字符显现表的解释性的图表,并且图33A、33B、及34是根据本发明第三实施例的操作的解释性的图表(第一部分第二和部分)。
首先,解释如图31所示的产生一个汉字字符“目”的操作,例如,出自参照图29、30和32的字形存储器4。如图29所示,在基于汉字字符“目”的字符编码“96DA”的字形存储器4的结构数据存储器4a的字形指示符块41中得到对于一个单元的指示符。另外,在单元指示符方框42中可得到对于其中存储有结构数据的单元块44的指示符。在接着单元块44中的单元的分类编码之后的笔划块45中描述关于构成汉字字符“目”的六个笔划S1到S6的数据。这个例子表示了以字符的笔划顺序放置数据。
由于第一笔划S1是一个垂直线,它有一个垂直线分类编码“000001”,并且一个标识位部分(其中的X组号、Y组号、变细标识位和删除标识位以标定的顺序安排)是“0000”。由于把对于在X和Y方向的间隔控制的组号设定为“0”,则无需要间隔控制,并且变细标识位和删除标识位都是“0”。
由于第二笔划S2是一个水平线,它有一个水平线分类编码“000010”,并且这个笔划有一个设置为“1”的Y组号。这个笔划S2与第四、第五和第六笔划S4、S5和S6是进行Y方向的间隔控制的目标。因而汉字字符“目”在Y方向有4个间隔控制组。
第四和第五笔划S4和S5有设置为“1”的变细标识位。如果当用一个粗体字体或类似物把字符显现为一个二进制数变换图时水平笔划彼此接触无间隔分享,则使这些线变细以维持间隔。另外,第四笔划S4有一个为“1”的删除标识位。如果当产生一个小二进制数变换图时水平笔划彼此靠得肥非常近以至于涂满了黑色,则该笔划被删除以保持笔划间的间隔。
因此,基于汉字字符“目”的字符编码,从结构数据存储器4a中读出相关笔划块45的内容。类似地,如图30所示,基于汉字字符“目”的字符编码“96DA”从字符指示符块47中可以获得对于组成部分指示符块48的指示符。然后,从在组成部分指示符块48的轮廓信息块49中可得到相关的轮廓数据。
放大/缩小电路30(已经参照图25解释过)把这部分的轮廓数据放大或缩小为指定的字符尺寸的轮廓数据。例如,为了提供在图33A中的对于X为12个象素和对于Y为14个象素的尺寸,在X方向用12/1000及在Y方向用14/1000来乘由1000×1000坐标***表示的一个字符的轮廓数据。把因而转换的轮廓数据连同笔划块45的数据一起送到在图25中的启发处理器31中。启发处理器31预备图32所示的字符显现表。
对于构成一个字符的每个笔划,该字符显现表包括一个笔划编号,四舍五入前的笔划的坐标(一个垂直笔划的线宽的左侧边的X坐标Xl,该垂直笔划的线宽的右侧边的X坐标Xr,一个水平笔划的线宽的底边的Y坐标Yb,和该水平笔划的线宽的顶边的Y坐标Yu),四舍五入后的笔划的坐标(一个垂直笔划的线宽的左侧边的X坐标Xl,该垂直笔划的线宽的右侧边的X坐标Xr,一个水平笔划的线宽的底边的Y坐标Yb,和该水平笔划的线宽的顶边的Y坐标Yu),一个组号(X,Y),变细的标识位(X,Y),删除标识位(X,Y)和那个笔划的轮廓数据。
因而,启发处理器31将由放大/缩小电路30计算的每个轮廓数据存储在字符显现表中的相关笔划的轮廓数据栏中的。接着,启发处处理器31在控制标识位栏中存储笔划的结构数据(组号(X,Y),变细标识位(X,Y),删除标识位(X,Y))。根据轮廓数据及根据该笔划是一个垂直笔划还是一个水平笔划,启发处理器31得到四舍五入前每个笔划的坐标,并且把坐标数据存储在四舍五入前笔划坐标栏中。另外,启发处理器31对四舍五入前的笔划坐标执行上面提到的线宽保留不变的四舍五入处理。启发处理器31则得到四舍五入后的笔划坐标并且把它们存在字符显现表中的四舍五入后的笔划坐标栏中。
以上所说将参照这种情况描述,这种情况是图29和30所示的汉字字符“目”被转变为图33A所示的尺寸。如图31所示,由于第一笔划S1是一个垂直笔划,可以得到在图33A中的e的坐标“1.3”作为左边X坐标Xl以及可以得到在图33A中的e′的坐标“2.7”作为该垂直笔划的线宽的右边X坐标Xr,这些笔划是在坐标变换之后从轮廓数据中得到的。把这些坐标Xl和Xr存储在字符显现表之中的四舍五入前的笔划栏中。
当坐标进行了线宽保留不变四舍五入处理后,第一笔划S1的线宽的左边X坐标Xl变为“1”并且该笔划S1的线宽的右边X坐标Xr变为“3”(如图33B所示)。把合成的X坐标存在字符显现表中四舍五入后的笔划栏中。
在此之后,同样,可以得到对于第二笔划S2、第三笔划S3、第四笔划S4、第五笔划S5和第六笔划S6的四舍五入之前和之后的笔划坐标,并且把它们存储在字符显现表中。以此方式,以四舍五入之前汉字字符“目”如图33A所示,在四舍五入之后汉字字符“目”如图33B所示。
用这些数据,通过笔划间隔计算器32、比例因数计算器36、最大/最小比例因数检测器38、试用部件37和测定电路39(图25所示)可以进行图28所示的间隔控制处理。
(1)启发处理器31从字形存储器4的结构数据存储器4a中读取一个指定字符的一个组成部分的一个笔划块,并且把该笔划块的内容和由放大/缩小电路30得到的轮廓数据一起存储在图32所示的字符显现表中。
(2)启发处理器31读取在字符显现表中的组号栏以便采集具有相同组号的笔划组。启发处理器31读取在四舍五入前的笔划坐标和在四舍五入处理后的笔划坐标并且把它们送给笔划间隔计算器32。例如对于图31所示的汉字字符“目”,把四个笔划S2、S4、S5和S6作为来自字符显现表的相同组号的笔划提取出来,并且读出在四舍五入处理前的笔划坐标和四舍五入处理后的笔划坐标。
(3)笔划间隔计算器32由四舍五入处理之前的笔划坐标来计算原始字符的笔划间隔,并且由四舍五入处理之后的笔划坐标来计算在启发过程之后的笔划间隔。在图32、33A和33B所示的例子中,在图33A中计算出三个笔划间隔Wa1=d-c′,Wa2=c-b′和Wa3=b-a′作为原始字符的笔划间隔。另外,在图33B中计算出三个笔划间隔Wb1=d0-c′0,Wb2=c0-b′0和Wb3=b0-a′0作为在启发处理后的笔划间隔。
(4)接着,比例因数计算器36用启发处理后的笔划问隔除以原始字符的笔划间隔以计算出每个笔划间隔的比例因数(比率)。在图33A和33B的例子中,计算出Wb1/Wa1,Wb2/Wa2和Wb3/Wa3作为各个笔划间隔的比例因数。最大/最小比例因数检测器38相互比较计算出来的比例因数以检测出最小和最大的比例因数。检测38还可得到在最大比例因数(例如Wb1/Wa1)和最小比例因数(例如Wb2/Wa2)之间的差值(第一差值)。
(5)试用部件37指示笔划间隔计算器32从最大比例因数(在启发过程之后的笔化间隔)计算器中减去“1”,并且向最小比例因数(在启发过程之后的笔划间隔)的计数器加“1”。
(6)结果是,笔划间隔计算器32从最大比例因数,Wa1,的计数器中减去“1”,并且向最小比例因数,Wa2,的计数器中加上“1”。比例因数计算器36计算对于最大比例因数的笔划间隔的比例因数并且计算对于最小比例因数的笔划间隔的比例因数。即是,计算器36计算(Wb1-1)/Wa1和(Wb2+1)/Wa2。
接着,最大/最小比例因数检测器38计算在这两个比例因数之间的差值(第二差值)。
(7)测定电路39比较第一差值和第二差值以测定是否第二差值变小了,变小了则表明通过试用差值变小了。如果差值没有变小,则测定电路39不改变启发处理器31的字符显现表。如果该差值变小了,则测定电路39指示启发处理器31向位于在最大比例因数的笔划间隔和最小比例因数的笔划间隔之间的笔划的坐标加一个象素或者从这些坐标中减去一个象素,因而改变了笔划图。启发处理器31改变在字符显现表中四舍五入后的笔划的坐标值一个象素。
在这里,向在笔划间隔Wb1和Wb2之间的水平笔划S4的线宽的每个底Y坐标Yb和顶Y坐标Yu加“1”,改变了字符显现表。因此,这样产生的汉字字符“目”变成如图34所示。
(8)接着,启发处理器31检查在字符显现表中的组号栏以检查是否还有未处理的组号。如果有这样的一个未处理的组号,则启发处理器31返回到步骤(2)。如果启发处理器31测定没有未处理的组号,则它检查是否已经完成了对X和Y方向的间隔控制。当该间隔控制还没有完成时,启发处理器31返回到步骤(2)。如果已经完成了间隔控制,则启发处理器31测定是否上面的操作已经对字符的所有组成部分重复。当该操作还没有对所有组成部分完成时,启发处理器31返回到步骤(1)。当该操作已经对所有组成部分完成时,启发处理器31结束间隔控制过程。
当已经完成了间隔控制时,在字符显现电路3中的填充电路35基于字符显现表的内容进行绘制以完成一个二进制数变换图。
作为例子,用图32、33A、33B和34所示的汉字字符“目”详细解释这一点。在步骤(2)中,从图32所示的字符显现表示中把笔划S2、S4、S5和S6作为相同的水平笔划组而提取出来,并且读出在四舍五入前的水平笔划坐标和四舍五入后的笔划坐标。然后,在步骤(3)中如以下计算在四舍五入前的笔划之间的间隔Wa1、Wa2和Wa3。
Wa1=d(笔划S2的Yb)-c′(笔划S4的Yu)
=11.5-9.5-2.0
Wa2=c(笔划S4的Yb)-h′(笔划S5的Yu)
=8.3-5.7=2.6
Wa3=b(笔划S5的Yb)-a′(笔划S6的Yu)
=4.5-1.5=3.0
如以下计算在四舍五入过程之后的笔划之间的间隔Wb1、Wb2和Wb3。
Wb1=d0(笔划S4的Yb)-c′0(笔划S5的Yu)
=12-9=3
Wb2=c0(笔划S4的Yb)-b′0(笔划S5的Yu)
=8-6=2
Wb3=c0(笔划S5的Yb)-a′0(笔划S6的Yu)
=5-1=4
接着,如下述在步骤(4)中计算笔划间隔的比例因数Wb1/Wa1,Wb2/Wa2和Wb3/Wa3。
Wb1/Wa1=3/2.0=1.5
Wb2/Wa2=2/2.6=0.77
Wb3/Wa3=4/3.0=1.33
如下述计算在最大和最小比例因数之间的差值r1。
r1=Wb1/Wa1-Wb2/Wa2=1.5-0.77=0.73
接着,对最小比例因数的笔划间隔四舍五入之后的间隔Wb2增加“1”并且对最大比例因数的笔划间隔四舍五入之后的间隔Wb1减去“1”。然后,在步骤(6)中再计算笔划间隔的比例因数Wb1/Wa1,Wb2/Wa2和Wb3/Wa3。
Wb1/Wa1=2/2.0=1.0
Wb2/Wa2=3/2.6=1.15
Wb3/Wa3=4/3.0=1.33
如下述计算在最大和最小比例因数之间的差值。
r2=Wb3/Wa3-Wb1/Wa1=1.33-1.0=0.33
当比较在步骤(7)中在变换试用前的差值r1和在试用之后的差值r2时,在试用之后的差值r2较小。很明显该试用已经使笔划间隔的倍率因数(比例因数)之间的差值变小。
所有夹在最小比例因数的笔划间隔和最大比例因数的笔划间隔之间的笔划向着最大比例因数的笔划间隔移动一个象素。由于在此例子中最小比例因数的笔划间隔是c0-b′0并且最大比例因数的笔划间隔是d0-c′0,只有从顶部往下的第二水平笔划S4是被夹在所述的两个笔划间隔中。因而,向着最大比例因数的笔划间隔移动该笔划S4的坐标。
这就是,把在字符显现表中四舍五入过程之后的水平笔划的坐标向上移动一个象素。向该水平笔划S4的线宽的底Y坐标Yb加“1”,使其从“8”变为“9”,并且向该水平笔划S4的线宽的上Y坐标Yu加“1”,使其从“9”变成“10”。
通过以上操作,如图34所示,可以得到接近汉字字符“目”的原始设计的二进制数变换图。
为了使在最大比例因数和最小比例因数之间的差值变小(如上所述),当移动一个笔划一个象素时可以得到在这些比例因数之间的差值,比较在移动之前的第一差值和在移动之后的第二差值以决定使该差值最小的笔划位置。通过简单的操作可完成该移动。由于在四舍五入前的笔划间隔是从四舍五入前的笔划坐标中计算出来的,则很容易计算在四舍五入过程前的笔划间隔。另外,由于指定一个字符(该字符的笔划间隔将受到控制)的笔划的数据与该字符的轮廓数据设定在一起,将要控制的笔划间隔将易于识别,保证了与原始字符设计相配的笔划调整。另外,由于从通过转变由字符轮廓数据而得到的笔划数据来计算四舍五入前的笔划间隔,所以在四舍五入前的笔划间隔很容易得到,因此在不使产生速度降低很大的情况下完成字符的产生。
尽管该实施例的描述是参照汉字字符“目”进行的,该实施例也可应用于其它具有平行水平笔划的汉字字符或者具有平行的垂直笔划的汉字字符。尽管可以从在坐标转变之后的坐标值中计算在四舍五入前的笔划间隔,这些笔划间隔也可以从在字形存储器4中的原始轮廓数据中计算出,并且可以把笔划间隔存储在字形存储器中。在字符坐标系中可以设定一个表示组成部分的原起点,这样轮廓数据可由离开该原点相对的位置来表示。尽管把字形存储器已经被解释为一个组成部分段式,但它也可以是一个笔划分段式。
简言之,根据本发明可以检测笔划之间的任何接触,并且可以使四舍五入后目标笔划变细或者删除该笔划。即使当字符缩小时,也有可能避免在邻近笔划之间的间隔被抹掉并且提供一个复制原始字符设计的二进制数变换图。可以得到在四舍五入之后的笔划间隔的总数并且可以把它与笔划总和减“1”相比较。当该总和比该减法的所得值小时,则判定目标笔划彼此接触,并且使某一笔划变细或删除,因此在不使产生速度降低很多的情况下完成字符产生。
另外,当把在四舍五入之后的笔划间隔调整到等于原始字符的笔划间隔时,则有可能提供一个复制原始字符设计的二进制数变换图。以这样的一种方式调整笔划间隔,使得可以从在四舍五入前的笔划间隔和在四舍五入后的笔划间隔中计算各个间隔的比例因数,并且这样变换位于多个笔划间隔之间的笔划的坐标以减小计算得到的比例因数之中的最大和最小比例因数之间的差值。这可以在不使产生速度降低很多的情况下完成字符产生过程。
Claims (34)
1.一种从轮廓字形数据产生一个二进制数变换图的字符产生方法,在该轮廓字形数据中用坐标表示一个字符的轮廓线,该方法包括以下步骤:
把所说的轮廓字形数据转换成一个指定尺寸的坐标系的坐标值;
把所说的转换的坐标值四舍五入成整数坐标值;
用在四舍五入过程之后的坐标计算在同一方向的多个笔划的间隔的总和;
把所说的总和与目标笔划数减1比较:
当所说的总和小于由减法所得的值时,改变所说的整数坐标值以便调整所说目标笔划的一个所需要的笔划的线宽;和
显现包括所说的调整的坐标值的所说整数坐标值以产生所说的二进制数变换图。
2.根据权利要求1的字符产生方法,其特征在于:所说的整数坐标值变化步骤以这样的方式改变所说的整数坐标值以便使所说的所需要的笔划变细。
3.根据权利要求2的字符产生方法,其特征在于;所说的整数坐标值变化步骤以这样的方式改变所说的整数坐标值以便使那些所说的非最外边的且具有两个象素或更大的线宽的多个笔划变细一些。
4.根据权利要求1的字符产生方法,其特征在于:所说的整数坐标值变化步骤以这样的方式改变所说的整数坐标值以删除所需的变细的笔划。
5.根据权利要求1的字符产生方法,其特征在于:所说的总和计算步骤从多个指定笔划的所说的四舍五入后的整数坐标中计算笔划之间的间隔的总和。
6.根据权利要求5的字符产生方法,其特征在于:当所说的总和小于由该减法所得的所说值时,所说的整数坐标值改变步骤改变所说指定的多个笔划中的特定一个的线宽。
7.根据权利要求1的字符产生方法,其特征在于:所说的二进制数变换图产生步骤显现构成每个笔划的多个组成部分的轮廓字形数据以产生所说的笔划字符的二进制数变换图。
8.根据权利要求2的字符产生方法,其特征在于:所说的总和计算步骤从多个指定笔划的所说的四舍五入后的整数坐标中计算在笔划之间的所说间隔的总和。
9.根据权利要求8的字符产生方法,其特征在于:当所说的总和小于由该减法所得的所说值时,所说的整数坐标值改变步骤改变所说指定的多个笔划中的特定一个的线宽。
10.根据权利要求4的字符产生方法,其特征在于:所说的总和计算步骤从多个指定笔划的所说的四舍五入后的整数坐标中计算笔划之间的间隔的总和。
11.根据权利要求10的字符产生方法,其特征在于:当所说的总和小于由该减法所得的所说值时,所说整数坐标值改变步骤改变所说指定的多个笔划中的特定一个的线宽。
12.一种从轮廓字形数据产生一个二进制数变换图的字符产生方法,在该轮廓数据中用坐标表示一个字符的轮廓线,该方法包括以下步骤:
把所说的轮廓字形数据转换成一个指定尺寸的坐标系的坐标值;
把所说的转换坐标值四舍五入成整数坐标值;
从在四舍五入前的各个笔划间的间隔和在所说四舍五入后的各个笔划间的间隔中计算各个间隔的比例因数;
计算在所说比例因数中在最大比例因数和最小比例因数之间的差值;
沿一个方向改变在所说笔划中一个所需笔划的所说整数坐标值;和
显现包括所说改变的坐标值的所说整数坐标值以产生所说的二进制数变换图。
13.根据权利要求12的字符产生方法,其特征在于:所说的整数坐标值变化步骤包括以下步骤:
计算第一比例因数和第二比例因数通过从在所说的提供所说最大比例因数的四舍五入过程之后的笔划间隔中减1而得到第一比例因数,和通过向在提供所说最小比例因数的所说四舍五入过程之后的笔划间隔加1而得到第二比例因数;
计算在所说第一比例因数和所说第二比例因数之间的差值;
把所说初始差值与在所说第一和第二比例因数之间的所说差值进行比较;和
当在所说第一和第二比例因数之间的所说差值比所说初始差值小时,则向着所说最大比例因数的所说笔划间隔移动位于所说最大比例因数的所说笔划间隔和所说最小比例因数的所说笔划间隔之间的笔划一个坐标单位。
14.根据权利要求12的字符产生方法,其特征在于:根据多个指定的笔划,所说的比例计算步骤从在所说的四舍五入过程之前的各个笔划和在所说的四舍五入过程之后的各个笔划之间的间隔中计算各个间隔的比例因数。
15.根据权利要求14的字符产生方法,其特征在于:所说的整数坐标值变化步骤沿一个方向改变所说多个指定笔划中的一个所需要笔划的所说整数坐标值以使所说的差值变小。
16.根据权利要求12的字符产生方法,其特征在于:所说的二进制数变换图产生步骤显现构成每个笔划的多个组成部分的轮廓字形数据以产生所说的字符的二进制数变换图。
17.一种从轮廓字形数据产生一个二进制数变换图的字符产生装置,在该轮廓字形数据中用坐标表示一个字符的轮廓线,该装置包括:
一个字形存储器以存储每个字符的所说轮廓字形数据;和
一个字符显现电路,该字符显现电路可用来把从所说的字形存储器读取的一个指定字符的轮廓字形数据转变成一个指定尺寸的坐标系的坐标值,把所说的坐标值四舍五入成整数坐标值,从在四舍五入处理后的所说坐标值中检查在所说字符的笔划之间是否有任何接触,和如果存在这样的接触则改变所说整数坐标值以产生所说二进制数变换图。
18.根据权利要求17的字符产生装置,其特征在于:在通过在四舍五入处理之后的坐标沿相同的方向计算了多个笔划间的间隔的总和之后,所说字符显现电路把所说的总数与目标笔划数减1进行比较,当所说的总和小于由减法所得的值时改变所说整数坐标值以便调整所说目标笔划的一个所需笔划的线宽,和显现包括所说调整的坐标值的所说整数坐标值以产生所说二进制数变换图。
19.根据权利要求18的字符产生装置,其特征在于:所说的字符显现电路以这样的方式改变所说的整数坐标值以使所说的需要的笔划变细。
20.根据权利要求19的字符产生装置,其特征在于:为了改变所说的整数坐标值,所说的字符显现电路以这样的方式改变所说整数坐标值以使得所说的多个不是最外边且具有两个象素或更多象素的线宽的笔划变细。
21.根据权利要求18的字符产生装置,其特征在于:所说的字符显现电路以这样的方式改变所说的整数坐标值以删除所说的所需变细的笔划。
22.根据权利要求18的字符产生装置,其特征在于:所说的字符存储器存储指定的所说目标笔划的数据作为对应于所说字符的笔划数据;和
所说笔划显现电路由多个指定的笔划的所说的四舍五入后的整数坐标来计算笔划之间的所说的间隔的总和。
23.根据权利要求22的字符产生装置,其特征在于:所说的字形存储器存储指定将被调整的所述笔划的数据作为对应于所说字符的笔划数据;和
为了改变所说的整数坐标值,当所说的总和比所说的从减法所得的值小时,所说的字符显现电路改变所说的多个指定笔划中指定的一个的线宽。
24.根据权利要求18的字符产生装置,其特征在于:所说的字形存储器存储每个字符的组成部分的轮廓字形数据和每个字符的组成部分指定的数据;和
所说字符显现电路通过一个指定字符的所说组成部分指定数据提取该指定的轮廓字形数据,并且显现构成每个笔划的多个组成部分的轮廓字形数据以产生所说字符的所说二进制数变换图。
25.根据权利要求19的字符产生装置,其特征在于:所说的字形存储器存储指定所说目标笔划的数据作为对应于所说字符的笔划数据;和
所说笔划显现电路由多个指定的笔划的所说的四舍五入后的整数坐标来计算笔划之间的所说的间隔的总和。
26.根据权利要求25的字符产生装置,其特征在于:所说的字形存储器存储指定将被调整的笔划的数据作为对应于所说字符的笔划数据;和
为了改变所说的整数坐标值,当所说的总和比所说的从减法所得的值小时,所说的字符显现电路改变所说的多个指定笔划的一个的线宽。
27.根据权利要求21的字符产生装置,其特征在于:所说的字形存储器存储指定所说目标笔划的数据作为对应于所说字符的笔划数据:和
所说笔划显现电路由多个指定的笔划的所说的四舍五入后的整数坐标来计算笔划之间的所说的间隔的总和。
28.根据权利要求27的字符产生装置,其特征在于:所说的字形存储器存储指定将被调整的笔划的数据作为对应于所说字符的笔划数据;和
为了改变所说的整数坐标值,当所说的总和比所说的从减法所得的值小时,所说的字符显现电路改变所说的多个指定笔划中指定的一个的线宽。
29.一种从轮廓字形数据产生一个二进制数变换图的字符产生装置,在该轮廓字形数据中用坐标表示一个字符的轮廓线,该装置包括:
一个字形存储器以存储每个笔划的所说轮廓字形数据;和
一个字符显现电路,该字符显现电路可用来把从所说的字形存储器读取的一个指定字符的轮廓字形数据转变成一个指定尺寸的坐标系的坐标值,把所说的坐标值四舍五入成整数坐标值,并且以这样的方式改变所说的整数坐标值以使在四舍五入之前和之后的笔划间隔的最大和最小比例因数之间的差值变小,以便因而产生所说的二进制数变换图。
30.根据权利要求29的字符产生装置,其特征在于:在从取整数之前的各个笔划之间的间隔和在四舍五入之后的各个笔划之间的间隔中计算完各个间隔的比例因数之后,所说的字符显现电路计算在所说比例因数之中在最大比例因数和最小比例因数之间的差值,沿一个方向改变在所说笔划当中的一个所需笔划的所说整数坐标值以使所说的差值变小,和显现包括所说改变的坐标值的所说整数坐标值以产生所说的二进制数变换图。
31.根据权利要求30的字符产生装置,其特征在于:在计算完第一比例因数和第二比例因数之后,该第一比例因数是通过从在提供所说的最大比例因数的所说四舍五入处理之后的该笔划间隔中减1而获得,该第二比例因数是通过向在提供所说的最小比例因数的所说取整数之后的该笔划间隔中加1而获得,所说的字符显现电路计算在所说第一比例因数和所说第二比例因数之间的差值,把所说的初始差值与在所说第一和第二比例因数之间的所说差值进行比较,并且当在所说第一和第二比例因数之间的所说差值比所说初始差值小时,则向着所说最大比例因数的所说笔划间隔移动位于所说最大比例因数的所说笔划间隔和所说最小比例因数的所说笔划间隔之间的笔划一个坐标单位。
32.根据权利要求30的字符产生装置,其特征在于:所说的字形存储器存储指定所说目标笔划的数据作为对应于所说字符的笔划数据;和
所说的字符显现电路计算所说指定的多个笔划间隔。
33.根据权利要求32的字符产生装置,其特征在于:所说的字形存储器存储指定将被改变的所说笔划的数据作为对应于所说字符的笔划数据;和
所说的字符显现电路改变所说指定的多个笔划中的特定的一个。
34.根据权利要求29的字符产生装置,其特征在于:所说的字形存储器存储每个字符的组成部分的轮廓字形数据和每个字符的组成部分指定的数据;和
所说字符显现电路通过一个指定字符的所说组成部分指定数据提取该指定的轮廓字形数据并且显现构成每个笔划的多个组成部分的轮廓字形数据以产生所说字符的所说二进制数变换图。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP326656/92 | 1992-12-07 | ||
JP4326656A JP3034140B2 (ja) | 1992-12-07 | 1992-12-07 | 文字生成方法及びその装置 |
JP326657/92 | 1992-12-07 | ||
JP4326657A JP3034141B2 (ja) | 1992-12-07 | 1992-12-07 | 文字生成方法及びその装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1090937A CN1090937A (zh) | 1994-08-17 |
CN1045835C true CN1045835C (zh) | 1999-10-20 |
Family
ID=26572254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN93121146A Expired - Fee Related CN1045835C (zh) | 1992-12-07 | 1993-12-07 | 产生字符的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5526476A (zh) |
KR (2) | KR0124961B1 (zh) |
CN (1) | CN1045835C (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100578604C (zh) * | 2003-05-15 | 2010-01-06 | 夏普株式会社 | 字符/图形显示装置、字符/图形显示方法 |
US11842429B2 (en) | 2021-11-12 | 2023-12-12 | Rockwell Collins, Inc. | System and method for machine code subroutine creation and execution with indeterminate addresses |
US11887222B2 (en) | 2021-11-12 | 2024-01-30 | Rockwell Collins, Inc. | Conversion of filled areas to run length encoded vectors |
US11915389B2 (en) | 2021-11-12 | 2024-02-27 | Rockwell Collins, Inc. | System and method for recreating image with repeating patterns of graphical image file to reduce storage space |
US11954770B2 (en) | 2021-11-12 | 2024-04-09 | Rockwell Collins, Inc. | System and method for recreating graphical image using character recognition to reduce storage space |
US12002369B2 (en) | 2021-11-12 | 2024-06-04 | Rockwell Collins, Inc. | Graphical user interface (GUI) for selection and display of enroute charts in an avionics chart display system |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748798A (en) * | 1993-12-28 | 1998-05-05 | Matsushita Wlectric Ind. | Method and system for adding effects to gray scale images |
JPH0816144A (ja) * | 1994-06-29 | 1996-01-19 | Fujitsu Ltd | アウトラインフォント展開方法およびアウトラインフォント展開装置 |
EP0695088B1 (en) * | 1994-07-29 | 2000-05-10 | Sharp Kabushiki Kaisha | Video storage type communication device |
JP3238580B2 (ja) * | 1994-09-14 | 2001-12-17 | シャープ株式会社 | 太め細め文字生成装置 |
JPH08194459A (ja) * | 1995-01-19 | 1996-07-30 | Fujitsu Ltd | アウトライン文字描画装置 |
JPH0916149A (ja) * | 1995-04-28 | 1997-01-17 | Canon Inc | 文字処理装置、文字処理方法、及び、メモリ |
JPH09134156A (ja) * | 1995-11-09 | 1997-05-20 | Fujitsu Ltd | アウトラインフォントのストローク化及びパーツ化方法 |
JP3315861B2 (ja) * | 1996-05-13 | 2002-08-19 | シャープ株式会社 | 文字生成装置 |
JP3481136B2 (ja) * | 1998-05-29 | 2003-12-22 | シャープ株式会社 | 文字フォント生成方法およびそのための装置ならびに文字フォント生成プログラムを記録したコンピュータで読取可能な記録媒体 |
NZ505784A (en) | 2000-07-17 | 2003-04-29 | Compudigm Int Ltd | A data visualisation system producing a contoured graphical representation of call centre activity |
US7239318B2 (en) * | 2001-03-23 | 2007-07-03 | Rise Kabushikikaisha | Method and computer software program product for processing characters based on outline font |
JP2004078070A (ja) * | 2002-08-22 | 2004-03-11 | Denso Corp | ナビゲーション装置 |
US7289123B2 (en) * | 2004-09-30 | 2007-10-30 | Microsoft Corporation | Simplifying complex characters to maintain legibility |
JP3883554B2 (ja) * | 2005-01-19 | 2007-02-21 | シャープ株式会社 | 文字図形表示装置、プログラムおよび記録媒体 |
TWI274257B (en) * | 2005-03-17 | 2007-02-21 | Arphic Technology Co Ltd | Method for generating a bitmap character by scaling strokes of the character |
US7680333B2 (en) * | 2005-04-21 | 2010-03-16 | Microsoft Corporation | System and method for binary persistence format for a recognition result lattice |
JP4367511B2 (ja) * | 2007-03-26 | 2009-11-18 | セイコーエプソン株式会社 | 文字描画装置、表示装置及び印刷装置 |
US8102397B2 (en) * | 2009-01-26 | 2012-01-24 | Mitsubishi Electric Research Laboratories Inc. | Method for improving uniform width character strokes using multiple alignment zones |
JP5375577B2 (ja) * | 2009-12-15 | 2013-12-25 | 富士通株式会社 | 字形要素判定装置及び字形要素判定方法 |
JP5519065B2 (ja) * | 2012-09-27 | 2014-06-11 | シャープ株式会社 | 輪郭線幅設定装置、輪郭階調数設定装置、輪郭線幅設定方法、及び輪郭階調数設定方法 |
JP5752157B2 (ja) | 2013-01-31 | 2015-07-22 | シャープ株式会社 | 文字表示装置及び文字表示方法 |
CN103862882B (zh) * | 2014-02-24 | 2016-06-15 | 广东宝莱特医用科技股份有限公司 | 一种热敏打印机自适应纸张打印的方法及*** |
CN105835536B (zh) * | 2015-04-03 | 2018-04-27 | 江苏浩宇电子科技有限公司 | 一种用于小型便携式写字机的书写方法 |
JP7009316B2 (ja) * | 2018-06-20 | 2022-01-25 | キヤノン株式会社 | 画像形成装置及びその画像形成方法、並びにプログラム |
CN111949156B (zh) * | 2020-07-10 | 2024-03-29 | 广州视源电子科技股份有限公司 | 书写装置的汉字书写测试方法及***、书写装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4962465A (en) * | 1987-12-28 | 1990-10-09 | Sharp Kabushiki Kaisha | Character processor provided with dot pattern correcting function |
EP0416635A2 (en) * | 1989-09-08 | 1991-03-13 | Tokyo Electric Co., Ltd. | Character pattern forming apparatus |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2096866B (en) * | 1981-04-10 | 1985-02-20 | Philips Electronic Associated | Improvements relating to character display |
JPS61118791A (ja) * | 1984-11-15 | 1986-06-06 | 株式会社東芝 | フオント圧縮装置 |
JPS6263384A (ja) * | 1985-08-20 | 1987-03-20 | Fujitsu Ltd | パタ−ンの相似変換方式 |
AU629210B2 (en) * | 1988-10-26 | 1992-10-01 | Sun Microsystems, Inc. | Method and apparatus for minimizing the visual degradation of digital typefaces |
US5274365A (en) * | 1988-10-26 | 1993-12-28 | Sun Microsystems, Inc. | Method and apparatus for minimizing the visual degradation of digital typefaces-character analysis |
JP2748486B2 (ja) * | 1989-01-13 | 1998-05-06 | 松下電器産業株式会社 | 文字パターン変倍装置 |
JP2782753B2 (ja) * | 1989-01-13 | 1998-08-06 | 松下電器産業株式会社 | 文字パターン変倍装置 |
JP2836086B2 (ja) * | 1989-03-10 | 1998-12-14 | セイコーエプソン株式会社 | 文字パターンデータ発生装置 |
US5050103A (en) * | 1989-05-12 | 1991-09-17 | Adobe Systems Incorporated | Method for displaying kanji characters |
US5237313A (en) * | 1989-08-01 | 1993-08-17 | Adobe Systems Incorporated | Method for editing character bitmaps at small sizes |
JPH03290691A (ja) * | 1990-04-09 | 1991-12-20 | Ricoh Co Ltd | ベクタフォントの縮小方法 |
US5241653A (en) * | 1990-04-12 | 1993-08-31 | Adobe Systems Incorporated | Apparatus and method for adjusting and displaying scaled, rasterized characters |
US5255357A (en) * | 1990-07-13 | 1993-10-19 | Adobe Systems Incorporated | Method for editing character bit maps at small sizes using connected runs |
JPH04116594A (ja) * | 1990-09-07 | 1992-04-17 | Ricoh Co Ltd | ベクトルフォントの展開方式 |
JPH04296795A (ja) * | 1991-03-27 | 1992-10-21 | Nec Off Syst Ltd | 文字パターン発生装置 |
JPH04350897A (ja) * | 1991-05-29 | 1992-12-04 | Canon Inc | 文字発生方法及び装置 |
JPH0511736A (ja) * | 1991-06-28 | 1993-01-22 | Toshiba Corp | 文字パターン出力装置 |
-
1993
- 1993-12-03 US US08/161,751 patent/US5526476A/en not_active Expired - Fee Related
- 1993-12-07 KR KR1019930026683A patent/KR0124961B1/ko not_active IP Right Cessation
- 1993-12-07 CN CN93121146A patent/CN1045835C/zh not_active Expired - Fee Related
-
1997
- 1997-04-28 KR KR1019970015855A patent/KR100209455B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4962465A (en) * | 1987-12-28 | 1990-10-09 | Sharp Kabushiki Kaisha | Character processor provided with dot pattern correcting function |
EP0416635A2 (en) * | 1989-09-08 | 1991-03-13 | Tokyo Electric Co., Ltd. | Character pattern forming apparatus |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100578604C (zh) * | 2003-05-15 | 2010-01-06 | 夏普株式会社 | 字符/图形显示装置、字符/图形显示方法 |
US11842429B2 (en) | 2021-11-12 | 2023-12-12 | Rockwell Collins, Inc. | System and method for machine code subroutine creation and execution with indeterminate addresses |
US11887222B2 (en) | 2021-11-12 | 2024-01-30 | Rockwell Collins, Inc. | Conversion of filled areas to run length encoded vectors |
US11915389B2 (en) | 2021-11-12 | 2024-02-27 | Rockwell Collins, Inc. | System and method for recreating image with repeating patterns of graphical image file to reduce storage space |
US11954770B2 (en) | 2021-11-12 | 2024-04-09 | Rockwell Collins, Inc. | System and method for recreating graphical image using character recognition to reduce storage space |
US12002369B2 (en) | 2021-11-12 | 2024-06-04 | Rockwell Collins, Inc. | Graphical user interface (GUI) for selection and display of enroute charts in an avionics chart display system |
Also Published As
Publication number | Publication date |
---|---|
US5526476A (en) | 1996-06-11 |
CN1090937A (zh) | 1994-08-17 |
KR100209455B1 (ko) | 1999-07-15 |
KR19980078335A (ko) | 1998-11-16 |
KR0124961B1 (ko) | 1997-11-28 |
KR940013853A (ko) | 1994-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1045835C (zh) | 产生字符的方法和装置 | |
CN1187952C (zh) | 校正输入图象失真的设备与方法 | |
CN1114888C (zh) | 图像处理方法、设备和*** | |
CN1098515C (zh) | 字符发生装置及其实现方法 | |
CN1213382C (zh) | 用于从多值图象提取划线的设备 | |
CN1120442C (zh) | 文件图象处理设备及其方法 | |
CN1400807A (zh) | 图象处理方法和设备,图象处理***以及存储介质 | |
CN1251147C (zh) | 无失真的图象对比度增强的方法 | |
CN1115650C (zh) | 图象生成***和方法 | |
CN1027472C (zh) | 文字生成方法及其装置 | |
CN1253010C (zh) | 图像压缩方法及装置、图像编码装置及图像编码方法 | |
CN1270277C (zh) | 图像失真校正方法和设备 | |
CN1359587A (zh) | 信息记录方法 | |
CN1719864A (zh) | 图像处理***及图像处理方法 | |
CN1419679A (zh) | 估计文本颜色和图像的分割 | |
CN1122022A (zh) | 手写体匹配技术 | |
CN1117160A (zh) | 产生未知字母之字模的方法与*** | |
CN1009591B (zh) | 计算机编辑排版***及其方法 | |
CN1525733A (zh) | 图像数据中具有不同特征的区域之间的边界检测方法 | |
CN1684492A (zh) | 图像词典作成装置、编码装置、图像词典作成方法 | |
CN1859541A (zh) | 图像处理设备及其控制方法 | |
CN85107228A (zh) | 套准分色软片的方法和装置 | |
CN1551017A (zh) | 图像检索装置、方法、程序及存储有该程序的存储介质 | |
CN1190764A (zh) | 利用候选表进行分类的模式识别设备及其方法 | |
CN1227612C (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 |