CN1111838C - 字符生成器 - Google Patents
字符生成器 Download PDFInfo
- Publication number
- CN1111838C CN1111838C CN97116129A CN97116129A CN1111838C CN 1111838 C CN1111838 C CN 1111838C CN 97116129 A CN97116129 A CN 97116129A CN 97116129 A CN97116129 A CN 97116129A CN 1111838 C CN1111838 C CN 1111838C
- Authority
- CN
- China
- Prior art keywords
- characters
- radicals
- traditional chinese
- chinese dictionaries
- information
- 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
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
一种字符生成器,由微机构成并对于每个字符代码和每种字体将包括代表汉字或类似符号的类型和位置/大小的部首结构信息和除部首以外每一笔画信息的字符结构信息存入ROM,根据部首结构信息对于每种字体将部首的每一笔画信息和与笔画信息对应的轮廓信息存入ROM,CPU顺序地读取和定位诸如与字体对应的部首笔画信息,还指定轮廓信息以生成字符样式。于是,可减小数据容量而根据字体的类型生成考虑到部首的笔画形状及匀称的高品质字符样式。
Description
技术领域
本发明涉及一种字符生成器,特别涉及一种应用于诸如字处理器、计算机、电子笔记本等的电子信息装置,用来从字符结构信息产生字符样式的字符生成器,此字符结构信息共享了汉字及类似字符的部首(“根”)的笔画。
背景技术
一般而言,诸如字处理器、计算机、电子笔记本等的电子信息装置包括一个用于生成高品质字形的字符生成器。然而,通过从存储与许多字符相对应的字形数据的字形存储器中读取表示字符轮廓的字形数据的方法生成字符字形。由于这一原因,在字形存储器中的数据量非常大。为了解决这个问题,例如,日本未审查专利公报63(1988)-340590揭示了一种字符样式合成器,而日本未审查专利公报4(1992)-340590揭示了一种字符字形输出装置。
根据日本未审查专利公报63(1988)-70290所揭示的字符样式合成器,合成由笔画组合构成的多个部分样式(部分)以确定一种字体的字符样式,并且修正合成的部分样式的位置及大小以生成一个匀称的字符样式。相应地,可以存储和共享对于每一笔画的部分样式并调节部分样式的形状及同其他样式之间的平衡。
根据日本未审查专利公报4(1992)-340590所揭示的字符字形输出装置,将诸如一笔画的一横、它的一点等的字符部件部件和形成诸如部首等公共部分的部件作为部分分级存储起来。根据字符形状把部分组合起来,而且还可把字符本身用作其他字符的部分,从而生成字符字形。
然而,根据日本未审查专利公报63(1988)-70290所揭示的字符样式合成器,然而,没有考虑与多种字体相对应的字符数据的生成,而且除了存储在字符数据中的字符数据之外,在字体方面生成的字符数据在部分样式的形状和平衡方面都有问题。
根据日本未审查专利公报4(1992)-340590所揭示的字符字形输出装置,把诸如笔画的横、它的点等的部件和形成诸如部首等公共部分的部件简单地组合起来以生成字符。由于这个原因,不总是恢复部首部分的形状以符合生成的字符。于是便存在字符降低品质的问题。
发明内容
考虑到上述情况,本发明提供一种字符生成器,其中共享、根据代表字体的轮廓信息交换、和作为部分分级存储关于形成汉字的部首部分的笔画信息(骨架信息)。顺序地读取输入字符代码、诸如与字体对应的部首部分的笔画信息和轮廓信息,以生成字符样式(汉字样式),从而可以减小数据的数量,并且根据字体的类型生成部首具有良好形状的、笔画匀称的高品质的字符样式。
本发明提供一种字符生成器,它包括输入部分、字符信息存储部分、部首信息存储部分、轮廓信息存储部分、笔画信息读取部分、字符生成部分和输出部分,其中,输入部分用于输入诸如要生成的字符样式的字符代码、字体和字符大小等信息;字符信息存储部分用于对于每个字符代码存储包括代表一个汉字的部首的类型和位置大小的部首结构信息和关于除部首之外的每一笔画的笔画信息的字符结构信息;部首信息存储部分用于对于每种字体根据部首结构信息存储关于部首的每一笔画的笔画信息;轮廓信息存储部分用于对于每种字体存储,与笔画信息对应的轮廓信息;笔画信息读取部分用于根据由输入部分输入的字符代码和字体从字符信息存储部分读取部首结构信息和包括在一个字符结构信息中的除部首之外每一笔画的笔画信息,而且从部首信息存储部分读取关于与被读取的部首结构信息相对应的部首的笔画信息;字符生成部分,用于根据被输入字体从轮廓信息存储部分读取与被读取的笔画信息对应的轮廓信息,并且生成一个字符样式;而输出部分用于输出生成的字符样式。
附图说明
图1是示出根据本发明的字符生成器的基本结构的方框图;
图2是示出根据本发明实施例1的字符生成器结构的方框图;
图3是示出根据本发明实施例1的字符生成器的处理过程流程图;
图4a和图4b是示出存储在根据本发明的字符信息存储部分的字符结构信息的图。
图5是示出存储在根据本发明的字符变换信息存储部分的经变换的字符结构信息的图;
图6a至图6d是示出存储在根据本发明的部首信息存储部分的部首信息和已改变的部首信息的图;
图7是示出存储在根据本发明的部首变换信息存储部分的经变换的部首信息的图;
图8a和图8b是示出存储在根据本发明的粘贴信息存储部分的粘贴信息的图;
图9是示出根据本发明实施例2的字符生成器结构的方框图;
图10a和10b分别示出了根据本发明的部首恢复部分和基本骨架恢复部分结构的方框图;
图11a和11b分别示出了根据本发明的修正部分和基本骨架修正部分结构的方框图;
图12是示出根据本发明的字符样式数据存储部分结构的方框图;
图13a至13c分别示出了部首样式数据存储部分、基本骨架形状信息和基本轮廓合成信息的结构方框图;
图14是示出根据本发明的笔画样式数据存储部分结构的方框图;
图15a和15b分别示出修正数据存储部分和基本骨架修正信息结构的方框图;
图16(1)至16(8)是示出字符样式的图像的图,其中图16(1)示出了字符样式数据的图象,图16(2)示出了字符样式数据的图象,图16(3)示出了部首样式数据的图象,图16(4)示出了基本骨架样式数据的图象,图16(5)示出了笔画样式数据的图象,图16(6)示出了部首样式数据的图象,图16(7)示出了经修正的部首样式数据的图象,和图16(8)示出了经修正的字符样式数据的图象。
图17是示出根据本发明实施例2的字符生成器的处理过程流程图;和
图18是示出设置在根据本发明的数据处理部分中的修正部分的处理过程流程图。
具体实施方式
以下将参照附图详细说明本发明的较佳实施例。本发明并不局限于下列实施例。特别将根据本发明的字符生成器作为生成各种字体的汉字样式的装置应用在诸如字处理器、计算机、电子笔记本等电子信息处理装置中。
图1是示出根据本发明的字符生成器的基本结构的方框图。如图1所示,对于每个字符代码,把包括代表汉字部首的类型和位置/大小的部首结构信息和关于除部首以外的每一其他笔画的笔画信息的字符结构信息存储在字符信息存储部分2中。对于每种字体,根据部首结构信息,把关于部首的每一笔画的笔画信息存储在部首信息存储部分3中。把与笔画信息相对应的轮廓信息存储在轮廓信息存储部分4中。当通过输入部分1输入诸如要被生成的字符样式的字符代码、字体、字符大小等信息时,根据输入部分1输入的字符代码和字体,笔画信息读取部分5从字符信息存储部分2读取包括在一个字符结构信息内的部首结构信息和关于除部首以外其他笔画的笔画信息。此外,从部首信息存储部分3读取关于与已读取的部首结构信息相对应的部首的笔画信息。根据输入的字体,字符生成部分6从轮廓信息存储部分4读取与已读取的笔画信息相对应的轮廓信息,并生成一个字符样式。构造输出部分7以输出已生成的字符样式。
根据本发明,输入部分1是由诸如键盘、触笔式子盘等输入装置构成的。
字符信息存储部分2、部首信息存储部分3、轮廓信息存储部分4、笔画信息读取部分5和字符生成部分6是由包括CPU、ROM、RAM和I/O端口的微机构成的。特别是,字符信息存储部分2、部首信息存储部分3和轮廓信息存储部分4是由ROM或软盘(它是外部存储器)构成的。ROM存储着程序使CPU起到笔画信息读取部分5和字符生成部分6的作用。
输出部分7是由诸如LCD(液晶显示器)或CRT显示器等显示装置和诸如热敏式打印机或激光打印机等打印装置构成。
根据本发明,对于每个字符代码和每种字体存储字符结构信息,它包括代表汉字部首的类型及位置/大小的部首结构信息和关于除部首以外的其他笔画的笔划信息。对于每种字体根据部首结构信息存储笔画信息,它是关于形成部首的每一个笔画的信息。对于每种字体存储轮廓信息,它与笔画信息相对应。顺次读取和定位关于与字体相对应的部首等的笔画信息。规定轮廓信息从而生成字符样式。结果,只需要较少的数据量即可生成各种字体的匀称及美观的高品质字符样式。
较好的是,存储在字符信息存储部分2中的部首结构信息包括代表部首类型的部分编号和代表它的位置/大小的两点坐标。
较好的是,存储在字符信息存储部分2中的关于部首以外的笔画的笔画信息应包括代表笔画形状的轮廓信息的部分编号和代表它的位置/大小的骨架点坐标。
较好的是,部首信息存储部分3存储代表部首类型的部分编号、代表与部分编号相对应的部首的笔画形状的轮廓信息部分编号,和基于部首结构信息的骨架点坐标。
较好的是,存储在轮廓信息存储部分4中的轮廓信息应包括代表笔画形状的轮廓信息的部分编号和关于与部分编号相对应的轮廓点的坐标信息。
根据上述结构,共享关于形成汉字的部首的笔画信息(骨架信息),并且将代表字体的轮廓信息作为笔画的部分分级存储。于是,可以减少存储数据的数量。
可使代表笔画基本形状的笔画信息,特别是关于部首的笔画信息适应于代表字体的轮廓信息以改变其形状。因此,可生成各种字体的匀称的字符样式。
较好的是,字符生成器还包括用于存储根据字符样式的形状来修正部首笔画的修正信息的修正信息存储部分8,和用于基于修正信息修正部首笔画的轮廓、骨架、倾度、结构等的部首修正部分9。
较好的是,修正信息应包括对于部首笔画的轮廓变换信息、骨架变换信息和旋转角信息。
根据上述结构,修正信息存储部分8可由微机的ROM构成,而部首修正部分9可由CPU构成。
根据上述结构,根据修正信息,按照字符样式的形状或字体,来修正部首笔画的轮廓、骨架和倾度,其中修正信息包括轮廓变换信息、骨架变换信息和旋转角信息。于是,生成了匀称的字符样式。
较好的是,修正信息存储部分8还具有存储包括对于部首笔画的结构坐标移动信息、基本骨架交换信息和骨架点移动信息的修正信息的功能,而修正部分9还具有根据结构坐标移动信息移动部首笔画、根据基本骨架交换信息交换笔画的骨架和根据骨架点移动信息移动笔画的骨架点的功能。
根据上述结构,由于可以移动、变形及交换部首笔画,所以在不增加数据量的情况下,可以生成各种字体的匀称的字符样式。
图2是示出根据本发明实施例1的字符生成器的结构的方框图。图2中,标号101代表包括键盘或触笔式字盘的输入部分,其功能同图1所示的输入部分1相同。
标号102代表字符信息存储部分,它起到图1所示的字符信息存储部分2的作用;标号103代表字符变换信息存储部分;标号104代表部首信息存储部分,它起到图1所示的部首信息存储部分3的作用;标号105代表部首变换信息存储部分;标号106代表粘贴信息存储部分,它起到图1所示的轮廓信息存储部分4的作用;标号107代表部首展开部分;标号108代表字符生成部分;而标号109代表字符大小变换部分,它们是由包括CPU、ROM、RAM和I/O端口的微机构成的。
部首展开部分107和字符生成部分108起到图1所示的笔画信息读取部分5和字符生成部分6的作用。
特别是,字符信息存储部分102、字符变换信息存储部分103、部首信息存储部分104、部首变换信息存储部分105和粘贴信息存储部分106是由ROM组成的。ROM存储程序以使CPU起到部首展开部分107、字符生成部分108和字符大小变换部分109的作用。
标号110代表输出部分,它起到图1中由诸如LCD(液晶显示器)或CRT显示器的显示装置和诸如热敏式打印机或激光打印机的打印装置构成的输出部分7的作用。
输入部分101是用于输入信息,例如,要生成的字符样式的字符代码、字体信息和大小。
字符信息存储部分102对于每一字符代码存储字符结构信息(它包括代表汉字部首的类型、位置、大小等的部首结构信息)和关于部首以外笔画的固有笔画信息(骨架信息)(见图4a和图4b)。字符变换信息存储部分103在ROM中存储根据字体类型(见图5)改变字符结构信息的经变换的字符结构信息。可将字符信息存储部分102和字符变换信息存储部分103看作一个字符信息存储部分。
部首信息存储部分104根据部首结构信息存储关于部首的笔画信息(见图6a至图d)。部首变换信息存储部分105根据字体类型存储用于改变部首信息的经变换的部首信息(见图7)。类似地,可将部首信息存储部分104和部首变换信息存储部分105看成是一个部首信息存储部分。
粘贴信息存储部分106对于每种字体存储当从笔画的轮廓信息生成字符样式时用到的粘贴信息(轮廓信息)(见图8a和图8b)。
部首展开部分107从字符生成部分108接收代表部首类型等的部首结构信息,而且从部首信息存储部分104或部首变换信息存储部分105读取关于相应部首的笔画信息并将它们转移到字符生成部分108。
根据由输入部分101输入的字符代码、字体类型和大小,字符生成部分108从字符信息存储部分102读取包括在对于字符代码的字符结构信息中的部首结构信息及除部首以外的笔画信息,将已读取的部首结构信息转移到部首展开部分107,对由部首展开部分107读取的部首笔画信息和除部首以外的笔画信息进行定位,并且根据字体从粘贴信息存储部分106读取与已读取的笔画信息相对应的轮廓信息,从而生成了相应的字符样式。
字符大小变换部分109将由字符生成部分108生成的字符样式变换成具有输入大小的字符。
图3是示出根据本发明实施例1的字符生成器的工作流程图。图3中,例如,从一个字符结构信息顺次地选择及生成两种字体(字体1和2)的字符样式的处理过程将在下面一步一步地介绍。
步骤S01:处理开始。
步骤S02:输入部分101输入要生成的字符样式的字符代码、表示字体类型的字体信息和关于要输出的字符大小的信息。
步骤S03:根据输入的字符代码,字符生成部分108从字符信息存储部分102读取相应的字符结构信息。假设输入字符代码C100并且在字符生成部分108中读取与代码C100相对应的字符结构信息。
图4a是示出存储在字符信息存储部分中的字符结构信息例子的图而图4b解释了根据本发明怎样将字符结构信息存储在它里面。图4a显示了与字符代码C100对应的字符样式“阿”。图4b显示了关于存储在字符信息存储部分中的字符结构信息内的字符代码C100的数据,它包括代表字符样式“阿”的部首“阝”的部首部分编号B100及代表它的位置和大小的两点坐标P1和P2,粘贴部分编号F100(它是与固有笔画相对应的轮廓信息)及它的骨架点坐标P3和P4;对于其他笔画的粘贴部分编号F200及它的骨架点坐标P5、P6和P7;和代表部首“口”的部首部分编号B200及代表它的位置和大小的坐标P8和P9。
更准确地说,存储在字符信息存储部分102中的部首结构信息包括代表部首类型的部首部分编号和代表它的位置及大小的两点坐标。类似地,存储在字符信息存储部分102中的关于部首以外笔画的笔画信息包括代表笔画形状的轮廓信息的部分编号和代表它的位置及大小的骨架点坐标。
步骤S04:从字符变换信息存储部分103将与所输入的字符代码和字体信息相对应的已变换的字符结构信息读入字符生成部分108,以根据字体来改变字符结构信息。
图5解释了根据本发明怎样将已变换的字符结构信息存储在字符变换信息存储部分中,示出了一个与用于图4a和4b所示的字符代码C100(“阿”)的字体1和2相对应的已变换的字符结构信息数据的例子。由于字体1是同图4a和4b中相同的数据,所以没有改变任何项。因此,用“无”表示字体1的项。对于字体2,应改变不是由“无”表示的项。例如,粘贴部分和部首部分由对于字体2已指出的部分编号的粘贴部分和部首部分来代替。对于坐标数据,将字体1的字符结构信息中的坐标值改成字体2的坐标值。
如果对于要生成的字符代码C100输入字体1,那么,不改变已变换的字符结构信息,因为字体1的所有已变换的字符结构信息都为“无”。如果输入字体2,那么根据对于在字体2中的字符代码C100的字符样式的已变换的字符结构信息,分别由ΔP1、ΔP2、ΔP3、ΔP7和ΔP8改变坐标值P1、P2、P3、P7和P8,将粘贴部分编号F100改成F101,并将部首部分编号B200改变成B201。换言之,用字体1的字符结构信息来变换部首部分编号、粘贴部分编号和坐标。
步骤S05:字符生成部分108决定包括部首部分编号、位置、大小等的部首结构信息是否出现在已读取的字体1的字符结构信息中。如果部首结构信息包括在已读取的字符结构信息中,则程序进至步骤S06。如果部首结构信息没有包括在已读取的字符结构信息中,则程序进到步骤S08。例如,关于两个部首的部首结构信息包括在对于字体1中的字符代码C100的字符结构信息中。因此,程序进至步骤S06。
步骤S06:字符生成部分108将字符结构信息中的部首结构信息(部首部分编号)和字体信息转移到部首展开部分107,部首展开部分107从部首信息存储部分104读取部首部分编号的笔画的骨架数据和粘贴编号,而且从部首变换信息存储部分105读取用于根据字体改变部首信息的变换的部首信息。
图6a至6d是示出存储在部首信息存储部分中的部首信息和已改变的部首信息的例子的图,并且图6b和6d解释了根据本发明怎样存储部首信息和已改变的部首信息。图6a显示了关于字体1的“阝”和“ロ”的部首信息。图6b示出如何将关于示于图6a的部首信息“阝”的数据存储在存入部首信息存储部分中。图6c示出了字体2的“阝”和“ロ”的部首信息。图6d显示了如何存储关于图6b所示的已改变的部首信息“阝”的数据。
关于图6b所示的字体1的部首部分编号B100的数据包括粘贴部分编号F300的骨架坐标BP1和BP2、粘贴部分编号F400的骨架坐标BP3和BP4,和粘贴部分编号F500的骨架坐标BP5、BP6、BP7和BP8。
更准确地说,存储在部首信息存储部分104中的部首结构信息包括代表部首类型的部分编号、代表与部分编号对应的部首笔画形状的轮廓信息的粘贴部分编号,和骨架点坐标。
在关于字体1和部首部分编号B100的信息从字符生成部分108转移至部首展开部分107的情况下,部首展开部分107读取关于图6b所示的部首部分编号B100的部首信息。在关于字体2和部首部分编号B100的信息从字符生成部分108转移到部首展开部分107的情况下,将关于图6b所示的部首部分编号B100的部首信息改变成图6d所示的部首部分编号B100的部首信息。
如果从对于一种字体的部首信息要生成多种字体的部首样式,那么只把关于图6b所示的部首信息的数据存入部首信息存储部分104,而把用于例如将部首信息从字体1改成字体2的已变换的部首信息存入部首变换信息存储部分105。
图7解释了根据本发明如果将已变换的部首信息存入部首变换信息存储部分。图7显示了用于将关于字体1的部首部分编号B100的部首信息改成字体2的部首信息的信息。
部首展开部分107读取存储在部首变换信息存储部分105中的字体2的已变换的部首信息的部首部分编号B100,而且进行同字符结构信息的改变一样的处理。结果,将已变换的部首信息的坐标值δBP1、δBP3和δBP6至δBP8加至B100的坐标点,那就是说,BP1、BP3和BP6至BP8,与粘贴部分编号从F400改变成F101,如图6d所示。如图6c中B100所示,进行变成字体2的部首信息的变换。
步骤S07:字符生成部分108读取由部首展开部分107展开的部首信息,并将部首信息同关于除部首以外其他笔画的笔画信息结合起来,以形成对于一个字符的骨架信息,然后,程序回到步骤S05。根据代表被定位部首的位置及大小的坐标P1和P2,增大/减小已被读取的部首信息B100。
步骤S08:字符生成部分108对于已形成的骨架样式,从粘贴信息存储部分106读取与字体对应的粘贴信息(轮廓信息),以生成轮廓字形(字符样式)。
图8a和8b显示了根据本发明的存储在粘贴信息存储部分中的粘贴信息的例子。如图8a和8b所示,存储在粘贴信息存储部分106中的粘贴信息(轮廓信息)包括代表笔画形状的轮廓信息的部分编号和与部分编号对应的轮廓点坐标。
在从部首展开部分107转移字体1和粘贴部分编号F300的情况下,字符生成部分108从粘贴信息存储部分106读取相应的粘贴部分编号,根据与F300相关的笔画信息(骨架信息)的大小来增大/减小粘贴部分信息,并且生成一个笔画的轮廓数据。对于字符结构信息的所有笔画,进行这种处理,以生成具有轮廓字形的字符样式。
步骤S09:字符大小变换部分109增大/减小由字符生成部分108生成的字符样式以获得具有规定的字符大小的字符样式。
步骤S10:输出部分110从显示器/打印机输出通过字符大小变换部分109的变换获得的字符数据。
步骤S11:处理结束。
图9是示出根据本发明实施例2的字符生成器结构的方框图。图9中,标号201代表由用于输入诸如字符代码、字符大小、字体等信息的键盘、鼠标、指点装置(pointing device)等构成的输入部分。
标号202代表由用于存储字符恢复信息(字符结构信息)的ROM制成的字符样式数据存储部分(如图2所示的字符信息存储部分102),字符恢复信息包括对于各字符样式的字符代码和代表形成字符样式的部首样式的代码编号、位置及大小的部首结构信息。
标号203代表由用于存储部首恢复信息的ROM制成的部首样式数据存储部分(图2所示的部首信息存储部分104),部首恢复信息包括形成部首样式的基本骨架样式的代码编号和基本骨架样式的基本骨架点的坐标值。
标号204代表由用于存储笔画样式代码(基本骨架样式的代码编号)和代表笔画样式的轮廓形状的笔画样式数据(轮廓形状信息)的ROM制成的笔画样式数据存储部分。
标号205代表由用于存储修正数据的ROM制成的修正数据存储部分,修正数据用于根据字符样式的形状修正每个字符的部首样式。
标号210代表数据处理部分,它由CPU、RAM和程序存储器构成,并具有从输入数据检索字符数据和根据已检索的字符数据恢复部首样式数据的功能,还具有根据修正数据修正已恢复的部首样式数据和恢复字符样式的功能。程序存储器存储用于控制各种处理的控制程序。RAM起到用于执行各种处理的工作区或临时缓冲区的作用。
标号211代表由用于将已恢复的字符数据展开成点样式(位图数据)的位图存储器制成的展开部分。
标号212代表输出部分,它包括用于输出已生成的字符样式的诸如CRT显示器或LCD(液晶显示器)的显示器和诸如行热敏打印机或喷墨打印机的打印机。
数据处理部分210还包括字符样式检索部分206,用于从字符样式数据存储部分202检索与字符代码相应的字符样式;部首恢复部分207,用于恢复形成字符样式的部首样式;修正部分208,用于根据修正数据存储部分205的修正数据修正每个基本骨架样式的部首样式;和字符样式改变部分209,用于根据字符大小改变字符样式。
根据上述结构,当改变字符样式时,分别规定包括在一个部首样式中的多个笔画样式数据,而且根据修正数据变换笔画样式数据,并作为各字符样式恢复它。相应地,可提供一种字符生成器用于通过较少的存储数据生成高品质的字符样式。
图10a和10b分别示出了根据本发明的部首恢复部分和基本骨架恢复部分的结构的方框图。图10a显示了部首恢复部分207的结构,它起到了部首样式检索部分207-10、基本骨架恢复部分207-20和部首样式改变部分207-30的作用,其中部首样式检索部分207-10用于从部首样式数据存储部分203检索与字符样式数据存储部分202中的部首样式代码相对应的部首样式,基本骨架恢复部分207-20用于恢复形成部首样式的基本骨架样式,而部首样式改变部分207-30用于根据部首恢复信息改变部首样式。
图10b显示了基本骨架恢复部分207-20的结构,它起到了基本骨架样式检索部分207-21、笔画样式检索部分207-22和基本骨架样式恢复部分207-23的作用,基本骨架样式检索部分207-21用于从部首样式数据存储部分203中的基本骨架形状信息203-20检索基本骨架样式,笔画样式检索部分207-22用于从笔画样式数据存储部分204检索笔画样式,而基本骨架样式恢复部分207-23用于根据基本骨架合成信息(203-30)改变基本骨架样式。
图11a和11b是示出根据本发明的修正部分和基本骨架修正部分结构的方框图。图11a显示了修正部分208的结构,它起到了用于确定是否要修正部首样式数据的部首样式改变信息确定部分208-10的作用,它还起到了用于根据字符样式形状检索基本骨架修正信息并修正基本骨架样式的基本骨架修正部分208-20的作用。
图11b显示了在修正部分208中的基本骨架修正部分208-20的结构。基本骨架修正部分208-20起到了旋转角信息确定部分208-21、基本骨架旋转部分208-22、结构坐标移动信息确定部分208-23、基本骨架结构坐标移动部分208-24、交换信息确定部分208-25、基本骨架交换部分208-26、骨架点移动信息确定部分208-27和骨架点移动部分208-28的作用,旋转角信息确定部分208-21用于确定关于基本骨架样式的旋转角信息的存在;基本骨架旋转部分208-22用于根据旋转角信息旋转基本骨架,如果确定旋转角信息是存在的话;结构坐标移动信息确定部分208-23用于确定关于基本骨架样式的结构坐标移动信息的存在;基本骨架结构坐标移动部分208-24用于根据结构坐标移动信息移动基本骨架的结构坐标,如果确定结构坐标移动信息是存在的话;交换信息确定部分208-25用于确定基本骨架样式的基本骨架样式代码的存在;基本骨架交换部分208-26用于根据基本骨架交换信息交换基本骨架,如果确定基本骨架交换信息是存在的话;骨架点移动信息确定部分208-27用于确定基本骨架样式的骨架点移动信息的存在;而骨架点移动部分208-28用于根据骨架点移动信息移动骨架点,如果确定骨架点移动信息是存在的话。
图12是示出字符样式数据存储部分结构的方框图,其中作为一个例子给出了字符代码“1720”的字符样式“呗”,图12中,字符样式数据存储部分202存储字符代码“1720”和形成与字符代码(202-10)对应的字符的部首样式的个数“2”。
将形成字符(202-11)的部首样式“口”的代码编号“C1”、对于代表部首样式(202-12)的结构坐标的骨架点的个数“2”、对于骨架点坐标数据的指针(202-13)、和用于修正数据标志的“1”(如果要修正部首样式)和“0”(如果不要修正部首样式),作为关于具有字符代码的字符信息存储起来。
将骨架点个数“2”(202-20)和关于骨架点“X1,Y1”和“X2,Y2”的坐标数据(202-21),作为关于代表部首样式的结构坐标的骨架点的数据存储起来。由骨架点的坐标值决定字符样式中安排部首样式的位置和部首样式的大小。这里骨架点指出了左上点“X1,Y1”和右下点“X2,Y2”,它们是包围部首样式并确定部首样式大小的矩形的两个对角顶点。
字符样式数据存储部分202的上述内容是关于一个字符样式的数据。类似地,按字符样式代码的顺序存储关于其它字符样式的字符样式数据。
图16(1)至16(8)是示出字符样式的图象的图。图16(1)显示了存储在字符样式数据存储部分202中的“呗”的字符数据的图象。将代表“呗”的字符代码“1720”、部首样式“ロ”的部首样式代码“C1”、代表要恢复部首样式“ロ”的形状所需的位置及大小的恢复信息、部首样式“贝”的部首样式代码“C2”和部首样式“贝”的恢复信息存储起来。这里恢复信息指出包围部首样式的矩形的两个对角顶点的坐标“X3,Y3”和“X4,Y4”。
图13a至13c是示出根据本发明的部首样式数据存储部分、基本骨架形状信息和基本骨架合成信息的结构方框图。将部首样式数据的总个数(203-10)、形成部首样式的基本骨架样式的基本骨架形状信息(203-20)、和用于合成基本骨架样式以生成部首样式的基本骨架合成信息(203-30)作为部首恢复信息存储起来。
基本骨架形状信息(203-20)存储基本骨架样式代码”KC1”(203-21)、笔画样式代码编号”SC1”(203-22)(它是基本骨架样式“KC1”的轮廓信息)、代表形成基本骨架样式的骨架点个数“2”(203-23)、和对于骨架点坐标数据的指针(203-24)。
基本骨架形状信息(203-20)还存储了由指针(203-24)读取的骨架点坐标数据的个数“2”(203-25),和骨架点坐标数据“kx1,ky1”和“kx2,ky2”(203-26)。
上述基本骨架形状信息是对于一个基本骨架样式的数据。类似地,按基本骨架样式代码的顺序存储关于其它基本骨架样式的基本骨架形状信息。
由骨架点坐标数据(203-26)确定基本骨架样式的骨架点的结构,并且由连接骨架点的直线形成基本骨架样式的骨架。此骨架和笔画样式(它是轮廓信息)生成基本骨架样式。
参见图16(4),由直线连接骨架点“kx1,ky1”和“kx2,ky2”以形成部首样式“口”和第一基本骨架样式“KC1”的骨架。由与基本笔画样式“KC1”对应的轮廓信息“SC1”的笔画样式和基本笔画样式“KC1”的轮廓生成基本骨架样式。将笔画样式“SC1”存入笔画样式数据存储部分204。
基本骨架合成信息(203-30)存储“口”的部首样式代码“C1”,还将包括在“C1”中的基本骨架样式的个数“4”、形成部首样式“C1”的基本骨架样式的代码编号“KC1”(203-32)、参考点(它们是基本骨架样式的结构坐标)、的个数“2”(203-33)和对于参考点坐标数据的指针(203-34)作为关于部首样式代码“C1”(203-31)的信息存储起来。
基本骨架合成信息(203-30)还存储由指针(203-34)读取的参考点坐标的个数“2”(203-35),和参考点坐标“gx1,gy1”和“gx2,gy2”(203-36)。
这里参考点指出左上点“gx1,gy1”和右下点“gx2,gy2”,它们是包围基本骨架样式并代表它的大小的矩形的两个对角顶点。由参考点坐标数据(203-36)确定基本骨架样式的结构。
假设按照字符的书写顺序来确定形成一个字符的部首样式的顺序。此外,还按照字符的书写顺序确定一个部首样式中基本骨架样式的顺序。
上述基本骨架合成信息是对于一个部首样式中的一个基本骨架样式的数据。类似地,还按基本骨架样式的书写顺序存储其它基本骨架样式的数据。
图14是示出根据本发明的笔画样式数据存储部分结构的方框图。图14中,存储笔画样式的总个数(204-10),并且将笔画样式的代码编号“SC1”(204-11)、形成笔画样式的轮廓点的个数“4”(204-12)、和对于轮廓点坐标数据的指针(204-13)作为关于笔画样式的信息存储起来。
笔画样式数据存储部分204还存储由对于轮廓点坐标数据的指针读取的轮廓点坐标数据的个数“4”(204-10),和轮廓点坐标“rx1,ry1”、“rx2,ry2”、“rx3,ry3”和“rx4,ry4”(204-21)。
由轮廓点坐标数据(204-21)确定形成笔画样式的轮廓点的结构,并且从连接轮廓点的曲线和直线生成笔画样式。此笔画样式和骨架形成基本骨架样式。
图16(5)中,通过连接轮廓点“rx1,ry1”、“rx2,ry2”、“rx3,ry3”和“rx4,ry4”,生成部首样式“口”的第一笔画样式代码“SC1”的笔画样式。由与笔画样式代码“SC1”对应的基本骨架代码“KC1”生成基本骨架样式。将基本骨架样式代码“KC1”和笔画样式代码“SC1”存入基本骨架形状信息(203-20)。
上述笔画样式数据与一个笔画样式相对应。类似地,还按笔画样式代码的顺序存储关于其它笔画样式的数据。
图15a和15b分别示出了根据本发明的修正数据存储部分和基本骨架修正信息结构的方框图。图15a中,存储有字符样式代码(205-10)和用于修正形成具有字符样式代码的字符样式的基本骨架样式的基本骨架修正信息(205-20)。
给出字符样式“呗”作为一个例子。字符样式“呗”是由部首样式“口”和部首样式“贝”形成的。通过绕着包围基本骨架的矩形的左下点顺时针转θ°并沿左下方向移动的方法,修正部首样式“贝”的第七基本骨架样式。
按存储在字符样式数据存储部分202中的部首样式的顺序存储修正数据。因此,首先按部首样式“口”然后按部首样式“贝”的顺序存储形成字符样式“呗”的部首样式修正数据。
字符样式代码(205-10)包括“呗”的字符代码“1720”。基本骨架修正信息(205-20)具有代表部首样式的修正数据存在的部首样式修正标志(205-21)。如果修正标志为“0”,则判断不要进行修正。如果修正标志为“1”,则判断要进行修正。
对于形成字符样式“呗”的第一部首样式“口”的基本骨架修正信息(205-20)具有部首样式修正标志“0”。
对于形成字符样式“呗”的第二部首样式“贝”的基本骨架修正信息(205-20)存储部首样式修正标志“1”(205-21)。作为修正的内容,将“7”作为修正基本骨架样式编号存储起来,而将旋转角“θ”(205-23)作为旋转角信息存储起来。作为用于将部首样式“贝”的第七基本骨架样式坐标”hx1,hy1”和”hx2,hy2”的参考点移到坐标“ix1,iy1”和“ix2,iy2”的数据,如图16(6)和16(7)所示,将”hx1-ix1”(205-24)作为对于hx1的参考点移动信息中的坐标差数据存储起来,将”hy1-iy1”(205-25)作为对于hy1的参考点移动信息中的坐标差数据存储起来,将”hx2-ix2”(205-26)作为对于hx2的参考点移动信息中的坐标差数据存储起来,并将”hy2-iy2”(205-27)作为对于hy2的参考点移动信息中的坐标差数据存储起来。
如果通过交换另一个基本骨架样式来修正基本骨架样式,那么将交换后的基本骨架样式编号存入交换信息确定数据(205-28)。如果没有交换基本骨架样式,则将“0”存入交换信息确定数据中。这里,不交换基本骨架信息。因此,将“0”存入交换信息确定数据中。
存储基本骨架样式的基本骨架点的个数(205-29)、要修正的骨架点的个数(205-30)作为对于坐标nx1的移动信息中的坐标差数据的骨架点的X坐标差(205-31)、和作为对于坐标ny1的骨架点移动信息中的坐标差数据的骨架点的Y坐标差(205-32),用作骨架变换信息。
这里,没有通过移动骨架点以变换骨架来进行修正。由于这一原因,对于包括在一个基本骨架样式中的基本骨架点的个数(205-29)、要修正的骨架点的个数(205-30)、nx1的骨架点移动信息中代表修正前后骨架点X坐标差的坐标差数据(205-31)、和ny1的骨架点移动信息中代表修正前后骨架点Y坐标差的坐标差数据(205-32),没有进行修正。所有这些数据都是用于变换基本骨架的信息。所以,存储表示未进行处理的“0”。
给出字符样式“利”作为另一个用于解释修正数据结构的例子。字符样式“利”是由部首样式“禾”和部首样式“刂”形成的。通过用另一个基本骨架与它的第一笔画的基本骨架样式作交换并移动它的第四笔画的骨架点,使部首样式“禾”经受修正。
由于按存入字符样式数据存储部分202中的部首样式的顺序存储修正数据,所以,首先按部首样式“禾”,然后部首样式“刂”的顺序存储关于形成字符样式“利”的部首样式的修正数据。
字符样式代码(205-10)存储“利”的字符代码“4588”。对于形成字符样式“利”的第一部首样式“禾”的基本骨架修正信息(205-20)存储”1”作为部首样式修正标志(205-21)。
由于修正部首样式“禾”的第一基本骨架样式以与另一个基本骨架样式交换,所以,在作为交换信息确定数据进行交换后,存储“1”作为修正基本骨架样式编号(205-22)并且存储“KC2”作为基本骨架样式编号(205-28)。由于没有进行其它修正,所以对于其它修正信息存储代表“不要执行”的“0”。
对于部首样式“禾”的图16(8)所示的第四基本骨架样式(S),按此序存储骨架点l、m和n。为了移动第三骨架点n,将“4”(205-22)存入修正基本骨架样式编号内,将基本骨架点的个数“3”(205-29)存入基本骨架点的个数内,并将“3”(205-30)存入修正骨架点编号内。
在骨架点移动信息的nx1的坐标差数据(205-31)中存储了修正前的X坐标”nx1”和修正后的X坐标“nx2”的差值数据“nx1-nx2”,和在骨架点移动信息的ny1的坐标差数据(205-32)中存储了修正前的Y坐标”ny1”和修正后的Y坐标“ny2”的差值数据“ny1-ny2”。由于没有进行其它修正,对于其它修正信息存储代表“不要进行”的“0”。
对于形成字符样式“利”的第二部首样式“刂”的基本骨架修正信息(205-20)将“0”作为部首样式修正标志(205-21)存储起来。
图17是示出根据本发明的第二个实施例的字符生成器的处理步骤流程图。参照流程图和图9,下面给出说明。
步骤S101:开始字符生成处理。
步骤S102:通过诸如键盘等输入装置,输入字符样式“呗”的字符代码“1720”、它的字符大小“56点”等,它们是用于将字符样式“呗”从输入部分201输出到输出部分212的信息。
步骤S103:将诸如输入字符代码“1720”、字符大小“56点”等输入信息存入输入缓冲区。
步骤S104:将存入输入缓冲区的字符代码和字符大小转移到设在数据处理部分210内的工作存储器。假设由设在数据处理部分210内的工作存储器执行直至字符样式的恢复的所有控制操作。
步骤S105:设置在数据处理部分210内的字符样式检索部分206从字符样式数据存储部分202检索具有与从输入缓冲区移至工作存储器的字符代码“1720”相对应的字符代码的字符样式。
如果由字符样式检索部分206检索读入工作存储器的字符代码“1720”,那么把对于一个具有字符代码“1720”的字符的字符样式数据存入输入缓冲区。
步骤S106:数据处理部分210将字符代码“1720”、形成与字符代码“1720”对应的字符样式“呗”的部首样式的个数“2”(202-10)、形成字符样式“呗”的部首样式“口”的部首样式代码“C1”(202-11)、代表部首样式“口”的结构坐标的骨架点的个数“2”(202-12)和骨架点坐标“X1,Y1”和“X2,Y2”(202-21)读入工作存储器,而且类似地,对于形成字符样式“呗”的部首样式“贝”,用与部首样式“口”(它们的信息都存入输入缓冲区)相同的方法,将部首样式代码、骨架点的个数和骨架点坐标读入工作存储器。
步骤S107:由部首样式检索部分(207-10)从部首样式数据存储部分203的基本骨架合成信息(203-30)检索从输入缓冲区读入工作存储器的具有与部首样式代码“C1”对应的部首样式代码的部首样式数据。
如果部首样式检索部分(207-10)从基本骨架合成信息检索读入工作存储器的与部首样式代码“C1”等同的部首样式代码,那么把对于具有部首样式代码“C1”的一个部首样式的基本骨架合成信息存入输入缓冲区。
步骤S108:数据处理部分210将部首样式“口”的部首样式代码“C1”、形成部首样式“口”的基本骨架样式的个数“4”(203-31)、形成部首样式“口”的基本骨架样式的代码编号“KC1”(203-32)、参考点(它们是基本骨架样式”KC1”的结构坐标)的个数“2”(203-33)“和参考点的坐标“gx1,gy1”及“gx2,gy2”(203-36)读入工作缓冲区,而且对于形成部首样式的其它基本骨架样式,用与基本骨架样式“KC1”相同的方法(它们是被存入输入缓冲区内的),将包括代码编号参考点的个数、形成部首样式“口”的基本骨架样式的参考点坐标读入工作存储器。于是,把对于一个部首样式的基本骨架合成信息读入工作存储器。
步骤S109:由基本骨架样式检索部分(207-21)从部首样式数据存储部分203中的基本骨架形状信息(203-20)检索与读入工作存储器的基本骨架样式代码“KC1”对应的基本骨架样式代码。
如果基本骨架样式检索部分(207-21)从基本骨架形状信息检索读入工作存储器中的与基本骨架样式代码“KC1”等同的基本骨架样式代码,那么把对于具有基本骨架样式代码“KC1”的一个基本骨架样式的基本骨架形状信息存入输入缓冲区。
步骤S110:数据处理部分210把存入输入缓冲区内的,对于存储基本骨架样式代码“KC1”的一个基本骨架样式的基本骨架形状信息(203-21)、形成基本骨架样式“KC1”的笔画样式的代码编号“SC1”(203-22)、形成基本骨架样式的骨架点的个数“2”(203-23)和骨架点的坐标“kx1,ky1”和“kx2,ky2”(203-26)读入工作存储器。
步骤S111:由笔画样式检索部分(207-22)从笔画样式数据存储部分204检索读入工作存储器内的与笔画样式代码“SC1”对应的笔画样式代码。
如果笔画样式检索部分(207-22)从笔画样式数据存储部分204检索与读入工作存储器内的笔画样式代码“SC1”等同的笔画样式代码,那么把对于具有笔画样式代码“SC1”的一个笔画样式的笔画样式数据存入输入缓冲区内。
步骤S112:数据处理部分210中的基本骨架样式恢复部分(207-23)把存储在输入缓冲区内的,具有笔画样式代码“SC1”的笔画样式数据、形成该笔画样式的轮廓点的个数“4”(204-12)和轮廓点的坐标“rx1,ry1”、“rx2,ry2”、“rx3,ry3”和“rx4,ry4”读入工作存储器。
根据读入工作存储器的轮廓点“rx1,ry1”、“rx2,ry2”、“rx3,ry3”和“rx4,ry4”的坐标数据,恢复该笔画样式。
然后,根据读入工作存储器的基本骨架形状信息的骨架点)的坐标数据“kx1,ky1”和“kx2,ky2”(203-26,基本骨架样式恢复部分(207-23)恢复基本骨架样式的骨架。基本骨架样式是由已恢复的骨架和已恢复的笔画样式形成的。
于是,恢复了一个字符中的一个部首的第一基本骨架“KC1”。
步骤S113:这里,由于已恢复的基本骨架样式的个数比读入工作存储器的基本骨架合成信息的基本骨架样式的个数“4”要小,所以程序回到步骤S109,以恢复尚未恢复的基本骨架样式。
按存储在读入工作存储器的基本骨架合成信息的样式代码的顺序来恢复基本骨架样式。由于这一原因,接着恢复尚未恢复的基本骨架样式中的一个,它与紧挨着已恢复的基本骨架样式“KC1”存储的基本骨架样式代码对应。
当已恢复的基本骨架样式的个数与基本骨架合成信息的基本骨架样式的个数“4”相等时,就判断出已恢复了形成部首样式”口”的所有基本骨架样式。
步骤S114:部首样式改变部分(207-30)根据读入工作存储器的字符样式数据中的部首样式的骨架点坐标”X1,Y1”和”X2,Y2”(202-21)改变具有所有己恢复的基本骨架样式的部首样式“口”。
于是,恢复了形成字符样式“呗”的部首样式“口”。
步骤S115:如果已恢复的部首样式的个数比读入工作存储器的字符样式数据的部首样式的个数“2”小,那么程序回到步骤S107以恢复尚未已恢复的部首样式。
按存储在读入工作存储器的字符样式数据中的部首样式代码的顺序,恢复部首样式。由于这一原因,尚未恢复的部首样式中的一个与紧接着恢复的部首样式“C1”存储的部首样式代码对应。
当已恢复的部首样式的个数等于字数样式数据的部首样式的个数“2”时,就判定出所有形成字符样式“呗”的部首样式已被恢复。
步骤S116:将部首样式已被恢复的字符样式数据转移到修正部分208。
步骤S117:在修正部分208中,如果将“1”作为修正数据标志(202-14)存储在已恢复其部首样式“口”和“贝”的“呗”的字符样式数据中,那么程序进至步骤S118,那里从修正数据存储部分205检索存储在关于“呗”的相同的字符样式数据的字符样式代码“1720”。如果修正数据恢复部分205具有相同的字符代码“1720”,那么把对于具有字符代码“1720”的字符的修正数据存入输入缓冲区内。
如果将“0”作为修正数据标志存入字符样式数据中,就判断不要执行修正,因此,程序进至步骤S119。
字符样式“呗”是由部首样式“口”和部首样式“贝”形成的。参见图16(6)和16(7),通过绕着包围基本骨架的矩形的左下点顺时针旋转θ°并沿左下方向移动的方式来修正基本骨架样式(H),它是部首样式“贝”的第七笔画。
按存储在字符样式数据中的部首样式代码的顺序,因而相应地按部首样式“口”然后部首样式“贝”的顺序,存储用于修正基本骨架样式的基本骨架修正信息(205-20)。通过按部首样式代码的顺序规定要修正的部首样式的方式进行修正处理。
图18是示出关于设置在根据本发明的数据处理部分中的修正部分的处理步骤流程图。图18中,进行以下处理。
步骤S202:由于将“0”作为包括在存储在输入缓冲区内的修正数据的基本骨架修正信息(205-20)中的部首样式“口”的部首样式修正标志(205-21)存储起来,所以判断不修正部首样式“口”,并读取下一个部首样式“贝”的部首样式修正标志。
由于将“1”存入部首样式“贝”的部首样式修正标志中,所以把具有部首样式修正标志的基本骨架修正信息(205-20)读入工作存储器。
步骤S203:由于将“7”(205-22)存储在读入工作存储器的修正基本骨架线编号中,所以修正部首样式“贝”的第七基本骨架样式(H)。
步骤S204:由于将旋转角“θ”存入旋转角信息中,所以认为进行旋转。
步骤S205:通过使“贝”的第七基本骨架样式(H)的每个参考点绕包围基本骨架样式的矩形的左下点为旋转中心旋转θ°的方式,进行修正。对于参考点的修正移动计算旋转后的每一个参考点的坐标。
步骤S206:对于线标号”7”的基本骨架样式(H)的参考点坐标”hx1,hy1”和”hx2,hy2”,将”hx1-ixl”(205-24)存入参考点移动信息hx1的坐标差数据,将”hy1-iy1”(205-25)存入参考点移动信息hy1的坐标差数据,将”hx2-ix2”(205-26)存入参考点移动信息hx2的坐标差数据,和将”hy2-iy2”(205-27)存入参考点移动信息hy2的坐标差数据。因此,判断出两个参考点移动并且大小改变。
步骤S207:通过把差值数据加至要移动的每个参考点的坐标值的方式,计算坐标值。
除了上面提到的以外,将”0”作为部首样式”贝”的第七基本骨架样式(H)的基本骨架修正信息存储起来。因此,结束部首样式”贝”的第七基本骨架样式(H)的修正。
步骤S212:当结束一个部首样式的修正时,检索下一个基本骨架线编号。
在这个例子中,只修正第七基本骨架样式(H),并且除了”7”没有其他基本骨架线编号。因此,判断出结束修正部首样式”贝”的处理。于是,程序进至步骤S213。
步骤213:由于除了”贝”,不包括其他部首样式,所以没有基本骨架修正数据。
步骤S214:于是,判断出结束修正字符样式“呗”的处理。将字符样式“呗”转移到字符样式改变部分209。
步骤S119:根据读入工作存储器的字符大小“56点”,字符样式改变部分209改变已恢复部首样式“口”和的部首样式“贝”的字符样式“呗”展开为点样式,并且将经改变的字符样式转移到展开部分211。
步骤S120:展开部分211把从工作存储器转移字符样式数据“呗展开为点样式,并且将点样式转移到输出部分212。
步骤S121:输出部分212使得输出装置输出从展开部分211转移来的被展开成点样式的字符样式。
步骤S122:结束处理。
接着,将给出字符样式“利”作为修正部分208的处理过程的另一个例子。字符样式“利”是由部首样式“禾”和部首样式“刂”形成的,并且是通过将部首样式“禾”的第一基本骨架样式换成另一个基本骨架样式并移动第四基本骨架样式的第三骨架点的方式来修正的。
在如图17所示的步骤S117,由于将”1”作为修正数据标志(202-14),存入已恢复的部首样式“禾”和部首样式“刂”的“利”的字符样式数据中,所以修正部分208从修正数据存储部分205检索与存储在字符样式数据中的字符样式代码”4588”等同的字符样式代码。如果修正数据存储部分205具有字符样式代码”4588”,那么把对于具有字符样式代码”4588”的一个字符的修正数据存入输入缓冲区中,而且程序进至步骤S118。
根据存储在字符样式数据中的部首样式代码的顺序,按部首样式“禾”然后部首样式“刂”的顺序,存储用于修正基本骨架样式的基本骨架修正信息。根据部首样式代码的顺序通过规定要修正的部首样式的方式,进行修正处理。
在图18所示的步骤S202,由于将“1”存入部首样式“禾”的部首样式修正标志中,其中把“禾”存入存储在输入缓冲区内的修正数据的基本骨架修正信息中,因此将存储部首样式改变标志“1”的基本骨架修正信息读入工作存储器中。
步骤S203:由于将“1”存储在读入工作缓冲区中的修正基本骨架线编号中,所以对部首样式“禾”的第一基本骨架样式(P)进行修正。
步骤S204:由于将“0”存储在旋转角信息中,所以判断出不进行旋转修正而程序进至步骤S206。
步骤S206:由于将“0”存入对于px1,py1,px2和py2的参考点移动信息的坐标差值数据中,所以判断出没有进行移动参考点的处理而程序进至步骤S208。
步骤S208:由于将交换后获得的基本骨架样式代码“KC2”存入交换信息确定数据中,所以判断出要交换基本骨架。
步骤S209:对于基本骨架样式“KC2”交换基本骨架样式(P)。
由于在对于部首样式“禾”的第一基本骨架样式(P)的交换信息后,将“0”存储在基本骨架修正信息中,所以结束修正部首样式“禾”的第一基本骨架样式的处理。
步骤S212:当完全修正好一个基本骨架后,检索下一个基本骨架线编号。在形成部首样式“禾”的基本骨架样式中,修正第一基本骨架样式(P)和第四基本骨架样式(S),并且将“4”作为基本骨架线编号存储起来。在步骤S212,由于存在对于第四基本骨架的修正信息,所以程序回到步骤S203,以读取修正基本骨架线编号。
步骤S204:由于将“0”存入旋转角信息内,所以判断出不进行旋转修正。于是,程序进至步骤S206。
步骤S206:由于将“0”存入对于sx1,sy1,sx2和sy2的参考点移动信息的坐标差值数据中,所以判断出不要进行移动参考点的处理。于是,程序进至步骤S208。
步骤S208:由于将“0”存储在交换信息确定数据中,所以判断出不要交换基本骨架样式。于是,程序进至步骤S210。
步骤S210:按要变换的基本骨架样式(S)的顺序,存入骨架点l、m和n。这里,为了变换,要移动第三骨架点n。由于将骨架点的总数“3”存储在基本骨架点的个数中,所以判断出要移动基本骨架点。于是,程序进至步骤S211。
步骤S211:由于将基本骨架点n的个数“3”存储在基本骨架点编号(205-29)中,所以将修正前的X坐标“nx1”与修正后的X坐标“nx2”之间的差值“nx1-nx2”作为坐标差值数据(205-31)存储在对于nx1的骨架点移动信息中,将修正前的Y坐标“ny1”和修正后的Y坐标“ny2”之间的差值“ny1-ny2”作为坐标差值数据(205-32)存储在对于ny1的骨架点移动信息中,将基本骨架点n移至通过把差值加至基本骨架点n的坐标值的方式计算的坐标值“nx2,ny2”的点。
结束修正部首样式“禾”的第四基本骨架样式(S)的处理。
步骤S212:当完全修正好基本骨架样式(S)时,检索下一个基本骨架线编号。
只有形成部首样式“禾”的第一和第四基本骨架样式(P)和(S)的要被修正,而且只将“1”和“4”作为要被修正的基本骨架编号存储起来。因此,判断出结束修正部首样式“禾”的处理。
步骤S213:结束修正形成字符样式“利”的部首样式“禾”的处理,并且接着检索部首样式“刂”的基本骨架修正数据。由于将“0”作为“刂”的部首样式修正标志存储起来,所以判断出不要进行修正,于是,结束修正“刂”的处理。
由于没有形成字符样式“利”的其他部首样式,所以判断出结束修正字符样式“利”的处理,并将字符样式“利”转移到字符样式改变部分。
根据本发明的第一个实施例,当从共享汉字的部首信息的一种字体的字符信息生成具有多种字体的字符数据时,要为每一种字体准备部首信息,而且根据要生成的字体来变换字符数据。此外,还根据字体展开和合成部首信息。于是,可以生成具有适合所需字体形状的高品质的字符数据。
当从一种字体的部首信息生成具有多种字体的部首信息时,要准备用于改变每种字体的部首信息的信息,而且按照要生成的字体根据变换信息生成部首信息。所以,用一种字体的数量较少的部首信息和变换信息可生成多种字体的部首信息。
此外,可将本发明应用于从骨架信息和粘贴信息(轮廓信息)的字符生成。于是,可较容易地生成具有多种字体的字符数据。
根据本发明的实施例2,可以将包括在一个部首样式中的多个基本骨架样式个别地规定和恢复成适合于每个字符样式的部首样式。此外,在字符生成方法中,可减小数据量,而且可精确地恢复部首样式的相同形状,从而生成高品质的字符样式。其中,将诸如一笔画的一横、它的一点等等字符部件和形成诸如部首的公共部分的字符部件,可作为根据字符形状组合的部分而分级存储起来。
此外设置根据包括轮廓变换信息和骨架变换信息的修正信息用作变换部首样式的轮廓骨架的修正部分。而,部首样式是字符样式的部件。相应地,变换形成部首样式的基本骨架样式的轮廓和骨架。因此,可对于形成部首样式的基本骨架样式进行精确的修正处理。
此外,修正部分包括基本骨架旋转部分、基本骨架结构坐标移动部分、基本骨架交换部分和骨架点移动部分。因此,由基本骨架旋转部分、基本骨架结构坐标移动部分和基本骨架交换部分旋转、移动和交换基本骨架样式,而且由骨架点移动部分移动基本骨架样式的骨架点。这样,对于形成部首样式的基本骨架样式可进行精确的修正处理。
根据本发明,对于每个字符代码和每种字体存储包括代表汉字部首的类型和位置/大小的部首结构信息和关于除部首以外每一笔画的笔画信息的字符结构信息;对于每种字体根据基于部首结构信息存储关于部首的每一笔画的笔画信息,对于每一种字体存储与笔画信息对应的轮廓信息;根据字体顺次地读取诸如部首等笔画信息并定位,并指定轮廓信息以生成字符样式。于是,根据每种字体,用数量较少的数据就可以生成具有良好形状的笔画匀称的高品质字符样式。
虽然,参考附图通过例子,充分地说明了本发明,但是应理解,各种各样的变化和调整对于那些熟悉本技术领域的人来说是显而易见的。因此,除非这些变化和调整脱离本发明的范围,否则它们应被看作是被包括在内的。
Claims (8)
1.一种字符生成器,其特性在于,包括:
输入部分,它用于输入包括要生成的字符样式的字符代码、字体和字符大小的信息;
字符信息存储部分,它用于对于每个字符代码存储,包括代表汉字或类似符号的部首的类型和位置/大小的部首结构信息和关于除所述部首外每一笔画的笔画信息的字符结构信息;
部首信息存储部分,它用于根据所述部首结构信息对于每种字体存储,关于所述部首的每一笔画的笔画信息;
轮廓信息存储部分,它用于对于每种字体存储与所述笔画信息对应的轮廓信息;
笔画信息读取部分,它用于根据由所述输入部分输入的所述字符代码和所述字体从所述字符信息存储部分读取包括在一个字符结构信息中的所述部首结构信息和关于除所述部首外其他笔画的所述笔画信息,而且从所述部首信息存储部分读取关于与所述被读取的部首结构信息相对应的所述部首的所述笔画信息;
字符生成部分,它用于根据所述被输入的字体从所述轮廓信息存储部分读取与所述被读取的笔画信息对应的所述轮廓信息,并生成一个字符样式;和
输出部分,它用于输出所述已生成的字符样式。
2.如权利要求1所述的字符生成器,其特性在于,存储在所述字符信息存储部分中的所述部首结构信息包括代表所述部首的所述类型的部首部分编号和代表它的所述位置/大小的两点坐标。
3.如权利要求1所述的字符生成器,其特征在于,关于存储在所述字符信息存储部分中的除所述部首外的每一笔画的所述笔画信息包括代表笔画形状的轮廓信息部分编号和代表笔画位置/大小的骨架点坐标。
4.如权利要求1所述的字符生成器,其特征在于,所述部首信息根据所述部首结构信息存储部分存储代表所述部首的所述类型的部首部分编号、代表与所述部分编号对应的所述部首笔画形状的轮廓信息部分编号所述骨架点坐标。
5.如权利要求1所述的字符生成器,其特征在于,存入所述轮廓信息存储部分中的所述轮廓信息包括代表笔画形状的所述轮廓信息部分编号和与所述部分编号对应的轮廓点坐标。
6.如权利要求1所述的字符生成器,其特征在于,还包括修正信息存储部分,用于存储根据所述字符的形状修正所述部首的笔画的修正信息;和
部首修正部分,它用于根据所述修正信息修正所述部首的笔画的轮廓、骨架、倾度和结构。
7.如权利要求6所述的字符生成器,其特征在于,所述修正信息包括所述部首的所述笔画的轮廓变换信息、骨架变换信息和旋转角信息。
8.如权利要求6所述的字符生成器,其特征在于,所述修正信息存储部分还具有存储包括对于所述部首的所述笔画的结构坐标移动信息、基本骨架交换信息和骨架点移动信息的修正信息的功能,并且所述部首修正部分还具有根据所述结构坐标移动信息移动所述部首的所述笔画的功能、根据所述基本骨架交换信息交换所述笔画的所述骨架的功能和根据所述骨架点移动信息移动所述笔画的骨架点的功能。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20077296A JP3317852B2 (ja) | 1996-07-30 | 1996-07-30 | 文字生成装置 |
JP200772/1996 | 1996-07-30 | ||
JP200772/96 | 1996-07-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1174347A CN1174347A (zh) | 1998-02-25 |
CN1111838C true CN1111838C (zh) | 2003-06-18 |
Family
ID=16429930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN97116129A Expired - Fee Related CN1111838C (zh) | 1996-07-30 | 1997-07-30 | 字符生成器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6011561A (zh) |
JP (1) | JP3317852B2 (zh) |
KR (1) | KR100257030B1 (zh) |
CN (1) | CN1111838C (zh) |
TW (1) | TW342476B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11149284A (ja) * | 1997-11-18 | 1999-06-02 | Sharp Corp | 文字パターン生成装置及び文字パターン生成装置制御プログラムを記憶した媒体 |
JPH11288262A (ja) * | 1998-04-01 | 1999-10-19 | Omron 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 |
JP4544669B2 (ja) * | 1999-09-30 | 2010-09-15 | 三洋電機株式会社 | キャラクタ読み出し回路 |
JP4079268B2 (ja) * | 2003-07-03 | 2008-04-23 | シャープ株式会社 | 文字表示装置、文字表示方法、文字表示プログラムおよび可読記録媒体 |
US7710422B2 (en) * | 2004-07-26 | 2010-05-04 | Microsoft Corporation | Font representations |
JP4251565B2 (ja) * | 2004-11-10 | 2009-04-08 | シャープ株式会社 | 処理装置、プログラムおよび記録媒体 |
CN100498927C (zh) * | 2006-07-28 | 2009-06-10 | 中国科学院声学研究所 | 二维图形引擎中的点阵字符的缩进方法与中文处理方法 |
JP4177865B2 (ja) * | 2006-09-28 | 2008-11-05 | 株式会社東芝 | ベクトルグラフィックス形状データ生成装置、描画装置、方法およびプログラム |
CN109697275A (zh) * | 2017-10-20 | 2019-04-30 | 北大方正集团有限公司 | 字库生成方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04340590A (ja) * | 1991-05-16 | 1992-11-26 | Casio Comput Co Ltd | 文字フォント出力装置 |
US5468077A (en) * | 1993-07-16 | 1995-11-21 | Fujitsu Limited | Method and apparatus for combining characters |
US5537131A (en) * | 1993-05-24 | 1996-07-16 | Fujitsu Limited | Character generating method and apparatus |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6370290A (ja) * | 1986-09-11 | 1988-03-30 | 松下電器産業株式会社 | 文字パタ−ン合成装置 |
US4897638A (en) * | 1987-02-27 | 1990-01-30 | Hitachi, Ltd. | Method for generating character patterns with controlled size and thickness |
CN1027472C (zh) * | 1992-01-27 | 1995-01-18 | 富士通株式会社 | 文字生成方法及其装置 |
US5416898A (en) * | 1992-05-12 | 1995-05-16 | Apple Computer, Inc. | Apparatus and method for generating textual lines layouts |
US5586241A (en) * | 1993-06-10 | 1996-12-17 | Hewlett-Packard Company | Method and system for creating, specifying, and generating parametric fonts |
JP3113175B2 (ja) * | 1995-06-29 | 2000-11-27 | シャープ株式会社 | 文字・記号パターン発生装置 |
JP3344188B2 (ja) * | 1995-10-13 | 2002-11-11 | シャープ株式会社 | 文字生成装置 |
-
1996
- 1996-07-30 JP JP20077296A patent/JP3317852B2/ja not_active Expired - Fee Related
-
1997
- 1997-07-10 TW TW086109755A patent/TW342476B/zh not_active IP Right Cessation
- 1997-07-14 US US08/892,093 patent/US6011561A/en not_active Expired - Fee Related
- 1997-07-29 KR KR1019970035795A patent/KR100257030B1/ko not_active IP Right Cessation
- 1997-07-30 CN CN97116129A patent/CN1111838C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04340590A (ja) * | 1991-05-16 | 1992-11-26 | Casio Comput Co Ltd | 文字フォント出力装置 |
US5537131A (en) * | 1993-05-24 | 1996-07-16 | Fujitsu Limited | Character generating method and apparatus |
US5468077A (en) * | 1993-07-16 | 1995-11-21 | Fujitsu Limited | Method and apparatus for combining characters |
Also Published As
Publication number | Publication date |
---|---|
US6011561A (en) | 2000-01-04 |
JP3317852B2 (ja) | 2002-08-26 |
TW342476B (en) | 1998-10-11 |
JPH1049131A (ja) | 1998-02-20 |
CN1174347A (zh) | 1998-02-25 |
KR100257030B1 (ko) | 2000-05-15 |
KR980010872A (ko) | 1998-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1098515C (zh) | 字符发生装置及其实现方法 | |
CN1238819C (zh) | 三维字符生成设备及三维图形数据生成设备 | |
CN1027472C (zh) | 文字生成方法及其装置 | |
CN1093968C (zh) | 图象处理装置 | |
CN1111838C (zh) | 字符生成器 | |
CN1112651C (zh) | 一种图象生成装置 | |
CN1198255C (zh) | 显示设备和显示方法 | |
CN1115650C (zh) | 图象生成系统和方法 | |
CN1099888A (zh) | 脸部图像数据处理装置 | |
CN101046892A (zh) | 图形描绘设备 | |
CN1231452A (zh) | 字体共享系统和方法及存储实行该方法的程序的记录媒体 | |
CN1471055A (zh) | 图像失真校正方法和设备 | |
CN1445650A (zh) | 面向像素子分量的图像的硬件加强图形加速 | |
CN1111464A (zh) | 图像处理装置及其方法和带图像处理装置的电子装置 | |
CN1089046A (zh) | 图像数据处理器 | |
CN1645415A (zh) | 绘制装置和绘制方法 | |
CN1703724A (zh) | 用于波特-达夫合成的背景色去除方法 | |
CN85108017A (zh) | 具有多个能独立显示表意文字及/或ascii字符的crt显示器的个人计算机 | |
CN1846229A (zh) | 图像处理设备、图像处理程序和计算机可读记录介质 | |
CN1097239C (zh) | 图形计算机 | |
CN1093953C (zh) | 字符图形发生装置 | |
CN1160667C (zh) | 轮廓平滑化处理方法及其装置 | |
CN1099096C (zh) | 字符发生装置 | |
CN1120626C (zh) | 目标图象建立设备和方法 | |
CN1325058A (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20030618 Termination date: 20110730 |