CN1181556A - 字符发生方法及设备 - Google Patents

字符发生方法及设备 Download PDF

Info

Publication number
CN1181556A
CN1181556A CN97121515A CN97121515A CN1181556A CN 1181556 A CN1181556 A CN 1181556A CN 97121515 A CN97121515 A CN 97121515A CN 97121515 A CN97121515 A CN 97121515A CN 1181556 A CN1181556 A CN 1181556A
Authority
CN
China
Prior art keywords
stroke
character
produces
mentioned
interested
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
Application number
CN97121515A
Other languages
English (en)
Other versions
CN1144140C (zh
Inventor
师冈秀和
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN1181556A publication Critical patent/CN1181556A/zh
Application granted granted Critical
Publication of CN1144140C publication Critical patent/CN1144140C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour

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

字符发生方法及设备
本发明涉及借助于组合字元而用来重组诸如字符图形之类的字符发生方法和设备。
为了减少字符发生中的字形数据的数量,现有技术的方法是采用基于笔划组合的字形方案,其中的字形贮存在存贮器中,先拆成各由一个笔划主体组成的字元(以下称之为“笔划”),然后从存贮器读出各个笔划并组合起来产生字符。在这种字符发生过程中,先构建组成字符的各个笔划,如有需要则进行笔划的比例缩放,再将各个笔划以组成字符的元素的形式放置在给于各个字符的位置上,从而最终获得字符。
然而,在基于笔划组合的字形方法中,字符发生所需总的处理时间的大约30%被笔划构建处理所占用。因此,比起外形字形处理(其中字符图形由代表字符整个外形的数据产生)来,基于组合笔划的字形方法的字符图形产生时间被延长了一段笔划构建处理所需的时间。
因此,本发明的一个目的是提供一种字符处理方法和设备,借以用缩短笔划构建处理时间的方法而能够缩短字符发生所需要的时间。
本发明的另一目的是提供一种字符发生方法,用以借助于组合笔划而产生字符图象,此方法包含下列步骤:根据代表组成一个字符的一个笔划的笔划数据,确定此笔划对外形产生的计算为简单的简单笔划,还是对外形产生的计算为复杂的普通笔划;通过与确定的结果一致的一种处理而产生笔划外形;以及借助于组合在笔划产生步骤中所产生的各个笔划外形而产生字符图象。
本发明的另一目的是提供一种字符发生方法,用以借助于组合各笔划而产生字符的光栅图象,此方法包含下列步骤:产生感兴趣的笔划的光栅图象,使笔划的一行纵向延伸的连续象素的各个象素贮存在具有连续地址的存贮器位置;借助于组合在笔划产生步骤中所产生的各个笔划而产生一个字符图象。
本发明的另一目的是提供一种字符发生设备,用以借助于组合各笔划而产生字符图象,此设备包含下列装置:根据代表组成字符的一个笔划的笔划数据,确定此笔划是对外形产生的计算为简单的简单笔划还是对外形产生的计算为复杂的普通笔划的确定装置;用一种与确定的结果相一致的处理,产生各笔划外形的笔划产生装置;以及借助于组合由笔划产生装置所产生的各个笔划外形而产生字符图象的字符产生装置。
本发明的另一目的是提供一种字符发生设备,用以借助于组合各笔划而产生一个字符的光栅图象,此设备包含下列装置:用来产生有兴趣的笔划的光栅图象,使此笔划的一行纵向延伸的连续象素的各个象素贮存在具有连续地址的存贮器位置的笔划产生装置,以及借助于组合由笔划产生装置所产生的各个笔划而产生字符图象的字符产生装置。
本发明的另一目的是提供一种用来存储借助于组合各个笔划而产生字符图象的字符产生程序的计算机可读存贮器,此程序带有:根据代表组成字符的笔划的笔划数据而确定此笔划是对外形产生的计算为简单的简单笔划还是外形产生的计算为复杂的普通笔划的确定装置;通过与所确定的结果一致的手续而产生各笔划的外形的笔划产生装置;以及借助于组合由笔划产生装置所产生的各个笔划外形而产生字符图象的字符发生装置。
本发明的另一目的是提供一种用来贮存借助于组合各个笔划而产生字符光栅图象的字符产生程序的计算机可读存贮器,此程序带有:用来产生感兴趣的笔划的光栅图象,使此笔划的一行纵向延伸的连续象素的各个象素贮存在具有连续地址的存贮器位置的笔划产生装置,以及借助于组合由笔划产生装置所产生的各个笔划而产生字符图象的字符产生装置。
参照附图,从下列描述中,本发明的其它特点和优点将显而易见,在所有附图中,相似的参考号表示相同或相似的部件。
图1方框图说明了根据本发明第一实施例的系统的结构;
图2用来规定笔划主体数据和局部外形(头部或尾部)数据;
图3是用来描述笔划数据的示意图;
图4说明了一例笔划布局和特征数据;
图5方框图说明了根据本发明另一系统的结构;
图6流程图说明了在根据本发明第一至第三实施例的系统中的字符图形产生过程;
图7流程图说明了根据第一实施例的字符产生过程;
图8流程图说明了构建简单笔划的过程;
图9流程图说明了构建普通笔划的过程;
图10A和10B示出了在设计坐标系统中头部及尾部数据的布局;
图11A和11B示出了由笔划主体及头部确定的角;
图12示出了根据第一至第三实施例的存贮器的构成;
图13示出了其上记录有根据第一至第三实施例的程序的诸如软盘或CD-R0M的媒体上的内容的编制;
图14的概念图示出了由其上记录有根据第一至第三实施例的程序的诸如软盘或CD-ROM的媒体所提供的程序;
图15示出了其上记录有根据第一实施例的程序的诸如软盘或CD-ROM的媒体上用来产生字符图形的程序文件的结构;
图16方框图说明了根据本发明第二和第三实施例的系统的结构;
图17说明了根据第二和第三实施例的一例笔划布局数据;
图18流程图说明了在第二实施例的系统中的字符产生过程;
图19流程图说明了在第二和第三实施例中笔划构建过程的步骤;
图20示出了根据第二实施例的字符产生概念;
图21流程图说明了在第三实施例的系统中的字符产生过程;
图22示出了根据第三实施例的字符产生概念;以及
图23示出了其上记录有根据第二和第三实施例的程序的诸如软盘或CD-ROM之类的媒体上用来产生字符图形程序文件的结构。
第一实施例
图1方框图说明了采用本发明的一种信息处理系统的基本结构。此系统可以是一个日文文字处理器、工作站或个人计算机等等。在图1中,中央处理器(CPU)101执行系统的总体控制并执行处理等。只读存贮器(ROM)102诸存着系统起动程序、用于字符转换的字符图形数据等。随机存取存贮器(RAM)103暂时贮存CPU101所执行的程序(稍后描述)、此程序被执行时所用到的数据、CPU101的处理结果等。键盘控制器(KBC)104接收由键盘(KB)105上各键所输入的数据(字符代码和控制码)并将此数据送至CPU101。显示控制器(CRTC)106读取已被存入RAM103中的显示信息亦即由转换字符码所得到的位图图象,并将位图图象传送到显示器(CRT)107。后者从CRTC106接收位图图象,并在显示屏上显示此位图图象。磁盘控制器(DKC)108控制着数据向外部贮存单元109的传输。后者包括软盘(FD)109-1和硬盘(HD)109-2或CD-ROM109-3。程序和数据被预先贮存在外部贮存单元109中。CPU101访问所贮存的数据或将数据按需要载入RAM103中。打印控制器(PRTC)110控制着打印机(PRT)111的工作。系统总线112被用来在上述各部件之间传送数据。
图12示出了当根据本发明的字符产生过程由图1所示的系统执行时,在RAM103中的一种存贮器图。此系统的工作由CPU101执行一个基本输入/输出(I/O)程序81、一个诸如Windows系统的操作系统(OS)82以及一个产生字符图形的字符图形产生程序83或采取此程序的一个应用程序而进行。基本I/O程序81贮存在图1所示的ROM102中,而操作系统82贮存在硬盘(HD)109-2上。当电源接通时,操作系统82被基本I/O程序81中所提供的IPL(初始程序装载)功能从硬盘109-2读入ROM103中,然后开始操作。
此实施例中的程序和有关的数据由图1中的FD109-1或CD-ROM109-3馈送。图13说明了已贮存在FD109-1或CD-ROM109-3中的一个文件的结构。借助于在HD109-2中安装一个已从FD109-1或CD-ROM109-3中读出的程序文件和一个有关的数据文件,有可能将各文件从HD109-2载入到RAM103并由CPU101执行该程序。或者,有可能将各文件直接从FD或CD-ROM载入RAM103,然后就可执行该程序。
图5方框图示出了可采用根据本发明的字符处理设备的第二种系统的控制结构。在图5中,打印机211可以是一个激光打印机、一个喷墨打印机或一个热转印式打印机等。CPU211执行系统的总体控制并执行处理等。ROM212贮存系统起动程序、字符图形数据等。RAM213是一个用途不受限制的数据贮存区。此处根据处理的类型而装载各种程序和数据,使程序得以执行。打印机控制器2110控制着打印机2111。系统总线2112为数据在上述各部件之间流动提供了道路。
图5所示的安排可用来取代图1所示的安排。但由于图5的安排未配备贮存文件的外部贮存装置,故程序、字形数据等都贮存在ROM212中。此种情况下的存贮器图除数据外可能与图12所示的相同。
现参照流程图6-9和图2-4来描述如上所述地构成的本实施例的工作。
图2说明了用基于组合各笔划的字形办法来产生字符的方法的一个例子。根据此法,字符被拆成各个笔划,各个笔划以笔划主体201(组成字符框架的一个水平或垂直的笔划)以及加接于此笔划主体201的起点或终点的一个局部外形(笔划头部或笔划尾部)202之组合的形式按向量格式贮存。借助于组合此笔划主体及笔划头部或尾部而形成笔划,并借助于组合如此形成的各个笔划而构成字符。也可形成只由笔划主体组成的笔划。图3示出了规定笔划形状的数据。具体地说,笔划的骨架由直线301表示,而外形302由离骨架的距离(亦即由骨架+宽度)表示。各个笔划都具有宽度信息(以下亦称之为“加重信息”)。再对每个笔划规定一个笔划标志。笔划组合信息与各个字符码有一对一的对应关系。贮存在笔划组合信息中的是笔划标志和用来合成字符的笔划布局信息。用这种信息来组合各个笔划。为了产生笔划组合信息,根据类型、字符码、字符偏旁和加重信息而预先决定待要组合的各个笔划。这些笔划就产生笔划组合信息。
图4B说明了与图4A所示字符图形有关的笔划组合信息的一个例子。STROKE_COUNT表示构成字符图形的笔划数目,笔划ID表示字符中所用各个笔划的标志。可以理解,图4A所示的字符由笔划标志为1、2和3的三个笔划组成。笔划布局坐标表示在字符设计坐标系统各个笔划骨架的二端处的坐标STROKE、ST和STROKE_END(本实施例中的坐标系统最大为800×800点)。笔划加重表示各个笔划的宽度信息。现在描述用于字符图形产生中的坐标系统。首先,笔划布局信息表示在用800×800点坐标系统被称之为字符设计坐标系统。代表各个笔划和各笔划局部外形控制点的数据在笔划设计坐标系中被规定。笔划设计坐标系统中的尺度等于字符设计坐标系统中的尺宽。更具体地说,笔划设计坐标系统中确定的笔划可用于字符设计坐标系统中而无需进行比例缩放。但坐标系统的原点是根据所定义的笔划的尺寸或局部外形的尺寸来确定的。而且,最终输出的字符图形是在与输出尺寸一致的字符输出坐标系中产生的。
已贮存在ROM102或外部贮存单元109中的笔划数据根据笔划标志而被检索并读出。笔划数据包括D_STROKE_SIZE(各个笔划在笔划设计坐标系统中的尺寸)、加重信息D_STROKE_WEIGHT、控制点数据D_STROKE_POINT
Figure A9712151500131
以及表示连接于此笔划的局部外形的头部数据H_ID和尾部数据T_ID。由局部外形的ID所表示的数据是笔划设计坐标系统中的局部外形的一个控制点数据串。而且,当笔划组合信息产生时,局部外形的头部数据H_ID和尾部数据T_ID被从笔划数据中读出,且这些数据项被加入作为部分笔划组合信息。
图6-9流程图表明了根据本实施例的系统的基本操作过程。这些流程图说明了字符图形发生程序83。CPU101根据这些流程图的步骤而执行处理并产生字符。
与待要用到的字形文件一致,笔划组合信息被从安装在系统中的多个字形文件中读出,且在图6的步骤S6-1中将这些信息贮存在RAM103中。根据类型、字符码、字符尺寸和加重信息而在步骤S6-2中确定要读出的笔划组合信息。然后在步骤S6-3中,从贮存于RAM103中的笔划组合信息中读取笔划组合信息。接着在步骤S6-4中,根据笔划信息而产生一个字符,且代表此字符的数据被建立于输出缓冲器中。所产生的字符数据在步骤S6-5中被输出。
图7流程图说明了图6中步骤S6-4的字符发生过程。
在步骤S3-1中,已完成发生的笔划的数目与表示组成正产生的字符的笔划数目的笔划计数STROKE_COUNT进行比较。若二者不一致,则意味着尚未完成全部笔划的发生;因此,程序进行到步骤S3-2。若二者一致,则意味着已完成字符产生,因而程序返回到图6中的步骤S6-5。
步骤S3-2进行布局坐标计算。关于感兴趣的一个笔划,以下述方式从字符设计坐标系统中笔划的布局坐标得到字符输出坐标系统中的笔划布局坐标O_STROKE_ST和O_STROKE_EN:
O_STROKE_ST=STROKE_STX(OUT_SIZE/800)
O_STROKE_EN=STROKE_ENX(OUT_SIZE/800)其中的(OUT_SIZE/800)表示字符输出坐标系统中的最大字符尺寸。
步骤S3-3进行控制点数据的坐标变换。具体地说是进行从字符设计坐标系到字符输出坐标系的转换。借助于这一变换,由控制点所定义的笔划根据字符输出坐标系的尺度被按比例缩小或放大。
字符输出坐标系对字符设计坐标系的比率根据下式得到:
Stroke_Ratio=abs(O_STROKE_ST-O_STROKE_EN)/(D_STROKE_ST-D_STROKE_EN)应该指出的是,D_STROKE_ST和D_STROKE_EN分别表示感兴趣的笔划在笔划设计坐标系中的起点和终点。而且,感兴趣的笔划的控制点数据按下式被变换成输出坐标系中的数据:
Stroke_Ratio×D_STROKE_POINT 其中的D_STROKE_POINT
Figure A9712151500142
是感兴趣的笔划在笔划设计坐标系中的一个控制点,它确定了笔划中所包含的Bezier曲线等。得到的控制点坐标被定为O_STROKE_POINT
步骤S3-4进行笔划加重信息的调整。具体地说,若含O_Weight表示字符输出坐标系的加重,则根据下式得到加重转换比率:
Wight_Ratio=O_Weight/D_STROKE_Weight且O_STRORE-POINT 经受加重调整,使笔划加重变成O_Weigt。此处,字符输出坐标系中的笔划加重被独立于Stroke_Weigt而确定。但若字符是一个标准尺寸,则Stroke_Ratio可用作Weight_Ratio或Weight_Ratio可根据Stroke_Ratio来计算。
步骤S3-5进行笔划类型的判断。具体地说,在步骤S3-5中,对代表笔划的骨架数据的起点坐标X、Y和终点坐标X、Y进行比较,从而确定感兴趣的笔划是简单笔划(即笔划的主体部分具有水平或垂直的大致线性形状的笔划)还是普通笔划(即其主体部分为斜线或非直线)。换言之,各种笔划被分成简单笔划和普通笔划。在简单笔划情况下,笔划位置或外形的变换可由简单的计算来执行,例如对各坐标无独立地执行计算或借助于交换X和Y来执行。在普通笔划的情况下,则执行复杂的计算,其中各坐标元相互有关联。虽然普通笔划也包括主体部分弯曲的笔划,但这种笔划可根据规定笔划外形的控制点的存在而被判断。而且,用来识别笔划为简单笔划或普通笔划的标志可预先存为与笔划标志有关的笔划数据的一部分,从而可根据标志判断一个笔划是简单笔划还是普通笔划。
若确定的结果是笔划为简单笔划,则程序进行到步骤S3-6;否则,程序进行到步骤S3-7。在步骤S3-6和S3-7中执地与笔划类型一致的笔划构建处理。
步骤S3-8中,用笔划构建处理所得到的主体数据来合并头部数据和尾部数据。
图8流程图说明了产生简单笔划的过程。步骤S4-1确定是否存在一个待要连接到笔划生体的笔划头部。笔划头部的存在与否根据笔划数据的标志H_ID来确定。若头部存在,则程序进行到步骤S4-2,若头部不存在,则进行到步骤S4-3。
步骤S4-2根据头部的尺寸来重新计算笔划的起点以便将头部连接到笔划主体。在简单笔划情况下,沿X轴方向或Y方向中的一个方向进行起点的重新计算。换言之,若笔划是一个垂直笔划,则计算只沿Y轴进行,而若笔划是一个水平笔划,则只沿X轴进行计算。
步骤S4-3对代表待要连接到笔划主体的头部的头部数据控制点系列进行从笔划主体部分加重数据的坐标转换,从而缩放笔划头部。根据下式得到头部的加重变换比率
Head_Weight_Ratio=O_Weight/D_Head_Weight其中O_Weight表示字符输出坐标系中的笔划头部加重。用这一比率对控制点系列O_HEAD_POINT 进行调整,使笔划头部的加重变为O_Weight。为此,作为例子,控制点系列用上述比率进行放大。如图10A和10B所示,头部及尾部控制点系列安排成使头部或尾部的连接窗口变成相对于设计坐标系的坐标轴平行于水平或垂直方向。此系列预先被贮存作为数据。
在步骤S4-4中,确定是否存在待要连接到笔划主体的笔划尾部。笔划尾部是否存在根据笔划数据的标志T_ID来判断。若有笔划尾部,则程序进行到步骤S4-5,而若不存在笔划尾部,则进行到步骤S4-7。在步骤S4-5中,用相似于步骤S4-2的方法重新计算笔划的终点。在步骤S4-6中,用相似于步骤S4-3的方法,执行笔划部的缩放。加重变换比率从字符输出坐标系中的笔划加重O_Weight以及字符设计坐标系中笔划尾部的加重D_Tail_Weight得到。利用这个比率得到字符输出坐标系中的控制点系列O_Tail_POINT,使笔划尾部的加重变成O_Weight。计算要点相似于步骤S4-3所述的。
在步骤S4-7中产生笔划主体。组成笔划主体的4个点由加重数据、笔划起点和笔划端点产生。例如,此步骤包括产生被笔划起点平分且垂直相交于连接笔划起点和终点的骨架的线段的二个端、产生被笔划终点平分且垂直相交于骨架的线段的二个端、以及采用以此4个点为角的矩形作为笔划主体。在简单笔划情况下,骨架平行于x轴或Y轴,计算极为简单。
步骤S4-8确定是否存在待要连接到笔划主体的笔划头部。若有笔划头部,则程序进行到步骤S4-9,而若不存在笔划头部,则进行到步骤S4-10。在步骤S4-9中,笔划头部被连接到笔划主体。将笔划头部按90°为单位进行旋转,使笔划头中得以连接于笔划主体。若笔划头部的连接窗口已沿使它面对笔划主体的端部的方向进行了旋转,则笔划主体和头部被连接到一起。亦即,笔划头部各控制点的坐标被变换成使窗口连接到输出坐标系中的笔划主体的端部。
在步骤S4-10中确定是否存在待要连接到笔划主体的笔划尾部。若存在笔划尾部,则程序进行到步骤S4-11。若不存在笔划尾部,则图8的处理终止,程序返回到图7的步骤S3-8。步骤S4-11进行笔划尾部到笔划主体的连接。将笔划尾部按90。为单位进行旋转,使笔划尾部得以连接到笔划主体。若笔划尾部的连接窗口已沿使它面对笔划主体的端部的方向进行了旋转,则笔划主体和尾部被连接到一起。亦即,笔划尾部各控制点的坐标被变换成使窗口连接到输出坐标系中的笔划主体的端部。
图9流程图说明了发生普通笔划的过程。在步骤S5-1中,确定是否存在待要连接到笔划主体的笔划头部。笔划头部的存在与否根据笔划数据的标志H_ID来确定。若存在头部,则程序进行到步骤S5-2,而若不存在头部,则进行到步骤S5-3。
步骤S5-2对笔划头部的控制点系列进行从笔划主体部分加重数据的坐标变换并缩放笔划头部。头部的加重转换比率根据下式得到:
Head_Weight_Ratio=O_Weight/D_Head_Weight其中O_Weight表示字符输出坐标系中的字符加重,D_Head_Weight表示设计坐标系中的头部加重。字符输出坐标系的控制点系列O_HEAD_POINT
Figure A9712151500171
以使笔划头部加重变为O_Weight的方式获得。
步骤S5-3重新计算笔划的起点以便连接头部。具体地说,相对于笔划骨架的方向,用仿射变换来计算笔划头部的尺寸,并将计算得到的尺寸从起点坐标中减去以重新计算起点。
在步骤S5-4中,确定是否存在待要连接到笔划主体的笔划尾部。笔划尾部是否存在根据笔划数据的标志T_ID来判断。若存在笔划尾部,则程序进行到步骤S5-5,而若笔划尾部不存在,则进行到步骤S5-7。步骤S5-5用相似于步骤S4-3的方法对部数据进行比较转换。加重转换比率由字符输出坐标系中的笔划加重O_Weight以及字符设计坐标系中的笔划尾部的加重D_Tail_Weight得到。借助于将控制点坐标乘以这一比率而得到笔划尾部在输出坐标系中的控制点O_Tail_POINT。
在步骤S5-6中,用相似于步骤SD5-3中所用的方法重新计算笔划的终点。
在步骤S5-7中产生笔划主体。笔划主体的加重转换比率从字符输出坐标系中的加重数据和笔划主体在字符设计坐标系中的加重数据得到,笔划主体的控制点被变换并在输出坐标系中产生构成笔划主体的控制点。
步骤S5-8用来确定是否存在待要连接到笔划主体的笔划头部。若存在笔划头部,则程序进行到步骤S5-9,而若不存在笔划头部,则进行到步骤S5-10。步骤S5-9寻找使笔划头部得以连接到笔划主体的笔划头部旋转角度。如图11A和11B所示,根据下式得到由连接笔划头部连接部分二个端点A和B的向量A与连接主体连接部分二个端点C和D的向量B所定义的角度θ: cos θ = → A • → | A | • → B → | B | 然后,在步骤S5-10中,用找到的旋转角θ,对头部的控制点数据进行旋转处理,从而使数据变换成可连接到主体。
在步骤S5-11中确定是否存在待要连接到笔划主体的笔划尾部。若存在笔划尾部,则程序进行到步骤S5-12。若不存在笔划尾部,则程序进行图7的步骤S3-8。步骤S5-9用来寻找使笔划尾部控制点数据得以连接到笔划主体的笔划尾部的旋转角度。此处用相同于对笔划头部所用的方法来得到旋转角γ。然后在步骤S5-13中,用找到的旋转角γ,对尾部的控制点数据进行旋转处理,从而使数据变换成可连接到主体。
借助于这一过程,就从普通笔划的笔划数据中产生了字符图形。
若构成字符图形的各个笔划都这样产生并置于字符输出坐标系中,则可得到所需字符的外形。在这一字符图形以图象的形式被输出的情况下,在字符外形的基础上就产生一个点图象,且此点图象借助于显示或打印而输出。
如上所述,根据本实施例,笔划构建过程是在笔划主体为水平或垂直亦即沿一个坐标轴取向的第一种情况与笔划主体相对于坐标轴定义一个0°或90°以外的角度即为一曲线的第二种情况之间转换。在第一种情况下,无需复杂的计算就可获得笔划头部和笔划尾部的旋转,并无需复杂的计算就可执行用来将主体连接到头部和尾部的旋转。因此,借助于转换笔划构建过程,根据笔划的形状有可能大大简化处理过程。带有垂直或水平笔划的字符是非常多的。因此,在第一和第二情况之间进行处理的转换就使得有可能高速地产生字符。本实施例即使安排成笔划构建过程的转换基于类型时也是有效的。
上述实施例说明了字符发生程序在载入RAM103时被执行的一个例子。但也可采用先在硬盘109中安装此程序和有关数据然后在程序要运行时再从硬盘109载入RAM103的方法。
而且,用来记录程序的媒体不局限于软盘,也可以是CD-ROM以及IC存贮卡等。而且,可以采用预先将程序贮存在ROM12中并做成存贮器图的一部分的安排。这样就能够直接由CPU101来执行此程序。
图15示出了用来执行图13所示的字符图形发生程序的文件的模块结构。其中至少包括一个用于读出步骤(利用以向量形式贮存字符的各个笔划成为一个笔划主体和一个局部外形的组合而得到的数据来读出组成一个字符的笔划数据)的编码模块、一个用于确定已被读出的笔划是否具有预定形状的确定步骤的编码模块、一个用于笔划产生步骤(借助于按照所确定的形状用最大速度的过程加接局部外形与笔划主体来产生一个笔划)的编码模块,以及一个用于借助于将笔划产生步骤中所产生的各个笔划进行组合而产生字符图象的字符产生步骤的编码模块。第二实施例
图16方框图说明了根据本发明的系统的基本结构。此系统可以是一个工作站或一个计算机系统。在图16中,CPU1执行系统的总体控制并执行处理等。ROM102是一个用来贮存系统起动程序、字符图形数据等的贮存区。RAM103是一个用途不受限制的数据贮存区。此处的各种程序和数据根据处理的种类而装载以便可执行程序。键盘控制器104接收键盘105上击键所输入的数据,并将数据送至CPU101。显示控制器106将数据送至显示器107,从而显示数据。外部贮存单元109是一个软盘或一个硬盘。程序和数据被预先贮存在外部贮存单元109中,并在程序执行时按需要被访问或装载。磁盘控制器108控制着数据的传输。打印机控制器110控制着打印机111的工作。系统总线112为上述各部件之间的数据流动提供通路。图象旋转器113使位图图象旋转。
如上所述构成的本实施例的系统的字符图形发生操作由第一实施例的图6流程图表明。
图17B说明了笔划组合信息的结构。STROKE_COUNT表示构成一个字形的笔划数目。STROKE_ST和STROKE_END表示一个笔划在字形设计坐标系统中的骨架的二个端点的位置坐标(在本发明的本实施例中为800×800),而STROKE_Weight表示笔划的宽度信息。借助于从笔划ID中检索笔划数据而读出各个笔划在笔划设计坐标系中的尺寸D_STROKE_SIZE、加重信息D_STROKE_Weight以及控制点数据D_STROKE_POINT
Figure A9712151500201
图18流程图说明了根据本实施例的图6中步骤S6-4的字符发生过程,而图20概念图示出了字符发生过程的步骤。根据本实施例,垂直延伸的笔划的位图图象(即图象被输出单元输出时,其纵方向垂直于主扫描方向的笔划)被产生成一个其纵向平行于主扫描方向的水平笔划。然后对此水平笔划进行旋转变换以产生原本垂直延伸的笔划并构成字符。在图20°的例子中,字符“+”的垂直线被产生成90°后的一个水平延伸线,所产生的笔划由图象旋转器113旋转90°以恢复原来的垂直线,而且此线最终与分别产生的水平成组合以产生字符“+”。
在图18的步骤S18-1中,借助于将已完成产生的各笔划的数目同包含在待要产生的字符中的笔划的数目STROKE_COUNT进行比较而判断字符发生是否完成了。若尚未完成全部笔划的展开,则程序进行到步骤S18-2。另一方面,若全部笔划均已展开,则程序返回到图6,具体地说是返回到步骤S6-5。
在步骤S18-2中执行笔划构建处理。此步骤的细节示于图19的流程图中。
在图19的步骤S19-1中,计算布局坐标,并以下法获得字符输出坐标系中的笔划位置坐标O_STROKE_ST和O_STROKE_EN:
O_STROKE_ST=STROKE_STX(OUT_SIZE/8OO)
O_STROKE_EN=STROKE_ENX(OUT_SIZE/800)应该指出的是,字符输出坐标系中字符的尺寸被假设为(OUT_SIZE×OUT_SIZE)。
步骤S19-2进行控制点数据的坐标变换。根据下式得到缩放比率:Stroke_Ratio=abs(O_STROKE_ST-O_STROKE_EN)/abs(O_STROKE_ST-D_STROKE_EN)笔划的控制点D_STROKE_POINT 被变换为Stroke_Ratio×D_STROKE_POINT 且得到的值被定为O_STROKE_POINT
Figure A9712151500213
。应该指出的是,函数abs(x)输出X的绝对值。
步骤S19-3对笔划加重进行调整。具体地说若令O_Weigt表示字符输出坐标系的加重,则根据下式得到加重变换比率:
Weight_Ratio=O_Weight/D_STROKE_Weight且以此比率对控制点系列O_STROKE_POINT
Figure A9712151500214
进行加重调整,使笔划加重变为O_Weight。
步骤S19-4借助于组合各笔划来产生字符。借助于将局部外形(笔划头部或笔划尾部)的控制点系列连接到组成笔划主体的控制点系列而产生笔划的外形。
若这样构成了一个笔划,则程序进行到图18中的步骤S18-3。
步骤S18-3对笔划类型进行判断。此处用笔划的起点(O_STROKE_ST)和终点(O_STROKE_EN)来确定感兴趣的笔划是一个垂直延伸的笔划还是一个水平延伸的笔划。在垂直延伸的笔划的情况下,程序进行到步骤S18-4,而在水平延伸的笔划的情况下,程序进行到步骤S18-10。
在步骤S18-10中产生水平延伸的笔划的外形点。然后在步骤S18-11中,用所产生的外形点填充外形的内部,并在显示缓冲器B中保存位图图象。在图20的203处指出了此处产生的一个图象的例子。
另一方面,步骤S18-4对规定笔划外形的控制点进行旋转处理。对笔划的控制点进行90°旋转处理。在步骤S18-5中用此控制点产生笔划外形点。然后在步骤S18-6中,用所产生的外形点填充外形的内部,并在显示缓冲器A中保存位图图象。图20中201处指出了此处产生的一个图象的例子。应该指出的是,图象201的笔划的纵向是一个其中存贮器地址一个接一个地出现在显示缓冲器A中的方向。亦即,当图象201被产生时,连续的黑区段很长,因而此区段常常被写入具有连续地址的位置,以致图象的发生可以快速地执行。
然后在步骤S18-7中,用硬件构成的位图图象旋转器113来旋转所产生的笔划的位图图象。图20中202处示出了所得到图象的一个例子。然后进行步骤S18-8,用“或”处理将旋转后的位图图象叠加在字符发生显示缓冲器B上。
于是就一个接一个地产生了垂直延伸的各个笔划并叠加在显示缓冲器B上以构成一个字符图象。在步骤S6-5中对所产生的图象进地字符数据输出处理,从而由CRT106或打印机110执行规定字符的输出。
上述流程图不具体涉及到笔划,笔划可以是简单的垂直或简单的水平。但足以产生这种笔划而无需执行旋转处理,亦即足以产生水平延伸的笔划。至此,在笔划类型判断步骤S18-3中就判断了笔划数据的特征而无需比较笔划的二个端点。若此特征是预先贮存为笔划数据的信息,即表明笔划的形状是垂直的、水平的或其它形状的数据就足够了。
根据本实施例,如上所述,一个垂直的笔划被变换成了一个沿光栅线方向延伸的水平笔划,而水平笔划则被光栅化以产生位图图象。光栅线方向通常与物理上连续的存贮器的方向相同。此时,一个垂直延伸的图象(即其纵向垂直于光栅线方向的一个图象)是这样的,即大量(对应于沿纵向的象素的数目)黑色象素的较短的团簇(对应于沿横向的象素的数目)被贮存在不连续的存贮器。但在水平延伸的图象(亦即其纵向平行于光栅线方向的图象)的情况下,少量(对应于沿横向的象素的数目)较长的连续团簇(对应于沿纵向的象素的数目)被贮存。因此,由于图象在与水平延伸的笔划相关的连续存贮器位置能成批地展开,故能够高速地执行图象外形内部的填充处理,因而能够高速地产生字符。第三实施例
下面描述本发明的第三实施例。
此处描的字符发生过程是对于第二实施例中的显示缓冲器A可确信具有相同于显示缓冲器B的尺寸的情况。因此,在此实施例中,字符产生是用图21的方法而不是用第二实施例的图18的方法来执行的,此方法的细节示于图6的S6-4步骤中。
图21流程图示出了在图6的步骤S6-4中所执行的字符产生过程。图22的概念图示出了根据本实施例的字符发生过程。
步骤S21-1包括确定字符的展开是否完成并将展开已完成的各笔划的数目与包括在正在展开的字符中的笔划的数目STORKE_COUNT进行比较。若尚未完成全部笔划的展开,则程序进行到步骤S21-2。另一方面,若已产生全部笔划,则程序返回到图6中的步骤S6-5。
在步骤S21-2中执行笔划构建过程。此步骤的细节与第二实施例中的步骤S18-2相同。
步骤S21-3进行笔划类型的判断。此处用笔划的起点(O_STROKE_ST)和终点(O_STROKE_EN)来判断感兴趣的笔划是垂直延伸的笔划还是水平延伸的笔划。在垂直延伸笔划的情况下,程序进行到步骤S21-4,而在水平延伸笔划的情况下,程序进行到步骤S21-7。步骤S21-4进行控制点的旋转处理。对笔划的控制点进行90°旋转处理。在步骤S21-5中,用控制点来产生笔划外形点。然后在步骤S21-6中,用所产生的外形点来填充外形的内部,并将位图图象保存在显示缓冲器A中。
借助于重复步骤S21-2至S21-6,在这些笔划旋转90°时,在对应于字符中配置的位置只产生原来的垂直笔划。
在步骤S21-7中产生水平延伸笔划的外形点。然后在步骤S21-8中,用所产生的外形点来填充外形的内部并将位图图象保存在显示缓冲器B中。
若在步骤S21-1中确定所有的笔划都已产生,则程序进行到步骤S21-9。此处确定笔划旋转过程是否已经进行。若已进行旋转,则程序进行到步骤S21-10。此处用旋转器旋转显示缓冲器A中的位图图象。然后进行步骤S21-11,将步骤S21-10中旋转过的缓冲器A中的位图图象用“或”处理叠加到字符发生显示缓冲器B上。
在此系统中,步骤S6-5对所产生的图象进行字符数据输出处理,从而由CRT106或打印机110执行规定的字符输出。
如上所述,包括在一个字符中的各个垂直笔划就一同被光栅化为水平笔划然后旋转90°。然后将旋转过的笔划叠加到原来的水平笔划上以形成字符。
根据本实施例,如上所述,采用了垂直笔划的缓冲器A和水平笔划的缓冲器B,且组成字符的各个笔划被描绘在二个缓冲器中。在全部笔划都产生之后,用旋转器将垂直笔划缓冲器A旋转,并叠加到水平笔划缓冲器B上,从而可高速地产生字符。本实施例提供了有额外优点的第二实施例。具体地说,当已被旋转90°的笔划返回到它们的原来取向时,是一同执行的,从而相应地提高了处理速度。
应该指出的是,有可能以下述方法进行处理之间的转换,即当组成字符的各个笔划之中垂直笔划的数目小时,使用第二实施例的处理来产生字符,而当组成字符的各笔划中垂直笔划的数目大时,则使用第三实施例的处理来产生字符。而且,有可能以下列方式来改变字符产生的过程,即若可供使用的存贮小,且缓冲器的大小使A<B成立,就采用第二实施例,而若缓冲器的大小使A≥B成立,则采用第三实施例。
而且,若第三实施例的处理与第一实施例的处理联合使用(其中各笔划根据字符形状是否简单笔划而产生),则能够以更高的速度产生字符图象。
本发明可应用于由多个器件(例如一个主计算机、接口、读出机、打印机等)组成的系统,或应用于只包含单个器件的设备(例如复印机或传真机等)。
而且不言自明,借助于向系统或设备提供一个贮存为执行上述各实施例的上述功能的软件程序码的贮存媒体,由系统或设备的计算机(例如CPU或MPU)从贮存媒体读出程序码,然后执行该程序,也可以达到本发明的目的。
此时,读自贮存媒体的程序码实现了本发明的新颖功能,且贮存程序码的贮存媒体构成了本发明。
而且,诸如软盘、硬盘、光盘、磁光盘、CD-ROM、CD-R磁带、非易失型存贮器卡或ROM之类的贮存媒体都可用来提供程序码。
而且,除了借助于执行计算机读出的程序码而完成根据本实施例的上述各功能的情况,本发明还覆盖了计算机上工作的操作系统(OS)之类根据程序码的规定而执行部分或全部过程并完成根据本实施例的各种功能的情况。
而且,本发明还覆盖了下述情况,其中,在读自贮存媒体的程序码被写入到插入在计算机中的功能扩展板中或被写入到提供在连接于计算机的功能扩展单元的存贮器中之后,包含在功能扩展板或功能扩展单元中的CPU之类根据程序码的规定而执行部分或全部过程,并完成上述各实施例的功能。
在本发明应用于上述贮存媒体的情况下,对应于上述流程图的程序码被贮存于贮存媒体上。更具体地说,说明图15和23的存贮器图的例子的模块被贮存于贮存媒体上。图15的安排如上所述。至于图23,存贮器图包括一个用于读出步骤(利用以向量格式作为一个笔划主体和局部外形的组合贮存字符的各个笔划,而得到的数据来读出组成一个字符的笔划数据)的编码、一个用于确定步骤(根据已被读出的笔划数据确定是垂直笔划还是水平笔划)的编码、一个用于笔划产生步骤(借助于将已被确定为垂直笔划的笔划变换成水平笔划并保持已确定为水平笔划的笔划不变而产生一个位图图象,并贮存到的编码已被变换成水平笔划的那人笔划的位图图象恢复到原来力象)的编码、以及一个用于字符产生步骤(借助于组合由笔划产生步骤所产生的各个笔划而产生字符图象)的编码。
如上所述,本发明的字符发生方法和设备,借助于根据笔划的形状而改变笔划构建过程,使得有可能大大简化笔划构建过程并高速产生笔划。
而且,借助于在以使细长笔划的纵向延伸的一行连续象素发生于连续的存贮器处的方式而转换笔划之后再产生图象,字符产生速度可进一步提高。
由于能够作出许多明显地差异很大的本发明的实施例而不超越本发明的构思与范围,故显然,除了所附权利要求所确定的范围外,本发明不局限于其具体的实施例。

Claims (39)

1.一种借助于线合各个笔划而产生字符的字符发生方法,包括:
确定步骤,根据代表组成字符的一个笔划的笔划数据而确定此笔划是对外形产生的计算为简单的简单笔划还是对外形产生计算为复杂的普通笔划;
笔划产生步骤,用符合确定结果的过程来产生笔划的外形;以及
字符产生步骤,借助于将上述笔划产生步骤中所产生的各个笔划外形进行组合来产生字符图象。
2.根据权利要求1的方法,其中若笔划不平行于坐标轴,则此笔划在上述确定步骤上被确定为普通笔划。
3.根据权利要求1的方法,其中若笔划的外形包含曲线,则此笔划在上述确定步骤中被确定为普通笔划。
4.根据权利要求1的方法,其中在上述确定步骤中,用预先存贮的代表笔划特征的数据来确定此笔划是简单笔划或普通笔划。
5.根据权利要求2的方法,其中若笔划是简单笔划,则在上述笔划产生步骤中,产生其各边平行于坐标轴的一个矩形的各个角点作为上述笔划的外形。
6.根据权利村注5的方法,其中各个笔划包含一个笔划主体和一个连接到此笔划主体一端的一个局部外形,且笔笔划是简单笔划,则在上述笔划产生步骤中,将局部外形以90°为单位旋转并连接到笔划主体以产生笔划。
7.根据权利要求1的方法,其中在上述确定步骤中,确定一个笔划在规定笔划形状的坐标系中具有平行于一个坐标轴的线性形状,且若笔划具有平行于上述坐标轴的线性形状,则对平行于笔划的坐标轴进行局部外形的定位以便将局部外形连接到笔划主体,而若笔划不具有平行于上述坐标轴的线性形状,则根据相对于笔划主体的连接位置和连接角度进行局部外形的定位以便将局部外形连接到笔划主体,从而产生笔划。
8.一种借助于组合各个笔划而产生字符的光栅图象的字符发生方法,包括:
笔划产生步骤,以这样的方式产生感兴趣的笔划的光栅图象数据,使笔划的纵向延伸的一行连续象素的各个象素贮存于具有连续地址的存贮器位置;以及
字符产生步骤,它借助于将上述笔划产生步骤中所产生的各个笔划进行组合而产生字符图象。
9.根据权利村注8的方法,其中所述的笔划产生步骤确定感兴趣的笔划是一个其纵向与光栅线方向重合的水平笔划还是一个其纵向不与光栅线方向重合的垂直笔划,若感兴趣的笔划已被确定为垂直笔划,则将感兴趣的笔划变换成水平笔划并产生其光栅图象数据,而若感兴趣的笔划已被确定为水平笔划,则如原样产生感兴趣的笔划的光栅图象数据,从而以下述方式产生感兴趣笔划的光栅图象,使此笔划的纵向延伸的一行连续象素的各个象素贮存于具有连续地址的存贮器位置。
10.根据权利要求9的方法,其中在上述笔划产生步骤中作出的关于感兴趣的笔划是其纵向与光栅线方向重合的水平笔划还是其纵向不与光栅线方向重合的垂直方向的决定,是采用感兴趣的笔划的起点坐标和终点坐标来进行的。
11.根据权利要求9的方法,其中所述的笔划产生步骤包括借助于将其控制点旋转90°而将已确定为垂直笔划的笔划变换成水平笔划,并产生此笔划的位图图象数据。
12.根据权利要求9的方法,其中一旦在上述笔划产生步骤中产生了各笔划的光栅图象数据,在上述字符产生步骤中,将各笔划组合起来。
13.根据权利要求9的方法,其中包括在正被产生的字符中的所有各个垂直笔划都已产生为水平笔划之后,在上述笔划产生步骤中,各个水平笔划一起被恢复到原来的笔划以产生垂直笔划。
14.一种借助于组合各个笔划而产生这符图象的字符发生设备,包括:
确定装置,根据代表组成字符的笔划的笔划数据而确定笔划是对外形产生的计算为简单的简单笔划还是对外形产生的计算为复杂的普通笔划;
笔划产生装置,用于用符合上述确定装置所作出的确定结果的过程来产生笔划的外形;以及
字符发生装置,它借助于组合由上述笔划产生装置所产生的笔划外形而产生字符图象。
15.根据权利要求14的设备,其中若笔划不平行于坐标轴,则所述的确定装置确定此笔划为普通笔划。
16.根据权利要求14的设备,其中若笔划的外形包含曲线,则所述的确定装置确定此笔划为普通笔划。
17.根据权利要求14的设备,其中所述的确定装置用预先贮存的代表笔划特征的数据来确定一个笔划是简单笔划还是普通笔划。
18.根据权利要求15的设备,其中若笔划是简单笔划,则上述笔划产生装置产生一个其各边平行于坐标轴的矩形的各个角点作为上述笔划的外形。
19.根据权利要求18的设备,其中每个笔划包括一个笔划主体和一个连接于此笔划主体一端的局部外形,且若笔划是一个简单笔划,则上述笔划产生装置以90°为单位旋转此局部外形,并将局部外形连接到笔划主体以产生笔划。
20.根据权利要求14的设备,其中所述的确定装置确定一个笔划在规定笔划形状的坐标系中具有平行于一个坐标轴的线性形状,且若笔划具有平行于上述坐标轴的线性形状,则上述笔划产生装置对平行于笔划的坐标轴进行局部外形的定位以便将局部外形连接到笔划主体,而若笔划不具有平行于上述坐标轴的线性形状,则上述笔划产生装置根据相对于笔划主体的接位置和连接角度进行局部外形的定位以便将局部外形连接到笔划主体,从而产生笔划。
21.一种借助于组合各个笔划而产生字符的光栅图象的字符发生设备,包括:
笔划产生装置,以这样的方式产生感兴趣的笔划的光栅图象数据,就是使笔划的纵向延伸的一行连续象素的各个象素被贮存于具有连续地址的存贮器位置;以及
字符产生装置,它借助于组合由上述笔划产生装置所产生的各个笔划而产生字符图象。
22.根据权利要求21的设备,其中所述的笔划产生确定感兴趣的笔划是其纵向与光栅线方向重合的水平笔划还是其纵向不与光栅线方向重合的垂直笔划,若感兴趣的笔划已被确定为垂直笔划,则将有兴趣的笔划数据变换成水平笔划并产生其光栅图象数据,而若感兴趣的笔划已被确定为水平笔划,则原样产生感兴趣笔划的光栅图象数据,从而以下述方式产生感兴趣笔划的光栅图象,使笔划的纵向延伸的一行连续象素被贮存于具有连续的地址的存贮器位置。
23.根据权利要求22的设备,其中由上述笔划产生装置作出的关于感兴趣的笔划是其纵向与光栅线方向重合的水平笔划还是其纵向不与光栅线方向重合的垂直笔划的决定,是用感兴趣笔划的起点坐标和终点坐标来进行的。
24.根据权利要求22的设备,其中所述的笔划产生装置借助于将其控制点旋转90°而将已确定为垂直笔划的笔划变换成水平笔划,并产生此笔划的位图图象数据。
25.根据权利要求22的设备,其中一旦由上述笔划产生装置产生了各笔划的光栅图象数据,上述字符产生装置就组合各个笔划。
26.根据权利要求22的设备,其中在包含于正产生的字符中的所有垂直笔划都已被产生为水平笔划之后,上述笔划产生装置一同将各水平笔划恢复到原来的笔划以产生垂直笔划。
27.一种计算机可读存贮器,用于贮存借助于组合各个笔划而产生字符图象的字符产生程序,此程序具有:
确定编码方法,它根据代表组成字符的笔划的笔划数据而确定此笔划是对外形产生的计算为简单的简单笔划还是对外形产生的计算为复杂的普通笔划;
笔划产生编码方法,它用与上述确定方法所作出的确定结果一致的过程来产生笔划的外形;以及
字符产生编码方法,它借助于组合由上述笔划产生方法所产生的各个笔划外形而产生字符图象。
28.根据权利要求27的计算机可读存贮器,其中若笔划不平行于一个坐标轴,则所述的确定编码方法确定此笔划是普通笔划。
29.根据权利要求27的计算机可读存贮器,其中若笔划的外形包含曲线,则所述的确定编码方法确定该笔划是普通笔划。
30.根据权利要求27的计算机可读存贮器,其中所述的确定编码方法用预先存的代表笔划特征的数据来确定一个笔划是简单笔划还是普通笔划。
31.根据权利要求28的计算机可读存贮器,其中若笔划是简单笔划,所述的笔划产生编码方法就产生其各边平行于坐标轴的一个矩形的各个角点作为上述笔划的外形。
32.根据权利要求31的计算机可读存贮器,其中各个笔划包含一个笔划主体和一个连接于此笔划主体一端的局部外形,且若笔划是简单笔划,则上述笔划产生编码方法以90°为单位旋转局部外形,并将局部外形连接到笔划主体以产生笔划。
33.根据权利要求27的中读存贮器,其中所述的确定编码方法确定一个笔划具有平行于规定笔划形状的坐标系中一个坐标轴的线性形状,且若笔划具有平行于上述坐标轴的线性形状,则上述笔划产生方法对平行于笔划的坐标轴进行局部外形的定位以使将局部外形连接到笔划主体,而若笔划不具有平行于上述坐标轴的线性形状,则上述笔划产生编码方法根据相对于笔划主体的连接位置和连接角度对局部外形进行定位以便将局部外形连接到笔划主体,从而产生笔划。
34.一种计算机可读存贮器,它贮存借助于组合各个笔划而产生字符的光栅图象的字符产生程序,此程序具有:
笔划产生编码方法,它以下述方式产生感兴趣的笔划的光栅图象数据,使笔划的纵向延伸的一行连续象素中的各个象素被贮存于具有连续地址的存贮器位置;以及
字符产生编码方法,它借助于组合由上述笔划产生方法所产生的各个笔划而产生字符图象。
35.根据权利要求34的计算机可读存贮器,其中所述的笔划产生编码方法确定感兴趣的笔划是其纵向与光栅线方向重合的水平笔划还是其纵向不与光栅线方向重合的垂直笔划,则将感兴趣的笔划变换成水平笔划并产生其光栅图象数据,而若感兴趣的笔划已被确定为水平笔划,则原样产生感兴趣笔划的光栅图象数,从而以下述方法产生感兴趣的笔划的光栅图象,即将笔划的纵向延伸的一行连续象素中的各个象素贮存于具有连续地址的存贮器中。
36.根据权利要求35的计算机可读存贮器,其中由上述笔划产生编码方法作出的关于感兴趣的笔划是其纵向与光栅线方向重合的水平笔划其纵向不与光栅线方向重合的垂直笔划的决定,是用感兴趣的笔划的起点坐标和终点坐标来进行的。
37.根据权利要求35的计算机可读存贮器,其中所述的笔划产生编码方法借助于将其控制点旋转90°而将已确定为垂直笔划的笔划变换成水平笔划,并产生此笔划的位图图象。
38.根据权利要求35的只读存贮器,其中一旦由上述笔划产生方法产生了各笔划的光栅图象数据,所述的字符产生编码方法就组合各个笔划。
39.根据权利村注35的计算机可读存贮器,其中在包含于正产生的字符中的所有垂直笔划都已产生为水平笔划之后,上述笔划产生编码不将这些水平笔划一同恢复成原来的笔划以产生垂直笔划。
CNB971215154A 1996-10-24 1997-10-23 字符发生方法及设备 Expired - Fee Related CN1144140C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP282461/96 1996-10-24
JP282461/1996 1996-10-24
JP28246196A JP3563891B2 (ja) 1996-10-24 1996-10-24 文字生成方法及び装置

Publications (2)

Publication Number Publication Date
CN1181556A true CN1181556A (zh) 1998-05-13
CN1144140C CN1144140C (zh) 2004-03-31

Family

ID=17652733

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB971215154A Expired - Fee Related CN1144140C (zh) 1996-10-24 1997-10-23 字符发生方法及设备

Country Status (5)

Country Link
US (1) US6201553B1 (zh)
JP (1) JP3563891B2 (zh)
KR (1) KR100302163B1 (zh)
CN (1) CN1144140C (zh)
TW (1) TW373137B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100533478C (zh) * 2007-07-09 2009-08-26 华南理工大学 基于最优全局仿射变换的汉字合成实现方法
CN104506786A (zh) * 2014-12-02 2015-04-08 苏州长风航空电子有限公司 一种基于sdram帧存的字符发生器

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US7242404B2 (en) * 2005-09-15 2007-07-10 Microsoft Corporation Enlargement of font characters
JP2010224145A (ja) * 2009-03-23 2010-10-07 Seiko Epson Corp 情報処理装置、制御装置及びプログラム
CN104299551B (zh) * 2013-11-28 2016-09-14 中国航空工业集团公司洛阳电光设备研究所 一种平视显示器及提高其笔画字符书写效率的方法
US9418281B2 (en) * 2013-12-30 2016-08-16 Google Inc. Segmentation of overwritten online handwriting input
WO2015141260A1 (ja) * 2014-03-17 2015-09-24 株式会社河合楽器製作所 手書き音楽記号認識装置およびプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4298945A (en) * 1978-05-12 1981-11-03 Eltra Corporation Character generating method and apparatus
US4674058A (en) * 1981-12-07 1987-06-16 Dicomed Corporation Method and apparatus for flexigon representation of a two dimensional figure
US4703515A (en) * 1985-08-26 1987-10-27 Xerox Corporation Image rotation
US5293472A (en) * 1991-04-22 1994-03-08 International Business Machines Corporation Method of generating lines and curves of user specified thicknesses on a raster device
CN1027472C (zh) * 1992-01-27 1995-01-18 富士通株式会社 文字生成方法及其装置
JP2625612B2 (ja) * 1992-07-20 1997-07-02 インターナショナル・ビジネス・マシーンズ・コーポレイション 画像処理方法および画像処理装置
EP0661669B1 (en) * 1993-12-30 2001-02-28 Canon Kabushiki Kaisha Character processing apparatus and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100533478C (zh) * 2007-07-09 2009-08-26 华南理工大学 基于最优全局仿射变换的汉字合成实现方法
CN104506786A (zh) * 2014-12-02 2015-04-08 苏州长风航空电子有限公司 一种基于sdram帧存的字符发生器
CN104506786B (zh) * 2014-12-02 2017-07-14 苏州长风航空电子有限公司 一种基于sdram帧存的字符发生器

Also Published As

Publication number Publication date
KR100302163B1 (ko) 2001-11-15
JPH10124026A (ja) 1998-05-15
JP3563891B2 (ja) 2004-09-08
TW373137B (en) 1999-11-01
CN1144140C (zh) 2004-03-31
KR19980033149A (ko) 1998-07-25
US6201553B1 (en) 2001-03-13

Similar Documents

Publication Publication Date Title
CN1129061C (zh) 一种打印设备和打印方法
CN1154519A (zh) 文字图形发生装置
JP2007094758A (ja) 画像処理装置および画像処理装置の制御方法および記憶媒体
CN1144140C (zh) 字符发生方法及设备
EP0537030A2 (en) Character or graphic processing method
CN1088319A (zh) 产生字符的方法和装置
CN1217524A (zh) 字符图形产生器、字符产生方法及其存储媒质
CN1885900A (zh) 用于产生图案图像的方法和装置
JPH0481227B2 (zh)
JPH0832471B2 (ja) 出力方法
JP2007122188A (ja) 画像形成装置及び画像処理方法、並びにプログラム
JP3487917B2 (ja) 電子ファイル装置
JP3034140B2 (ja) 文字生成方法及びその装置
CN1682246A (zh) 分析和修改轨迹的方法
CN1205530C (zh) 汉字字形自动生成方法
JPH0351894A (ja) ベクトルフオントによる文字パターン発生機能を備えた情報処理装置
JPS59210482A (ja) 文字パタ−ン発生装置
JP3344538B2 (ja) 文字生成装置
JP2886702B2 (ja) アウトラインフォント処理装置
JP2009075805A (ja) 画像形成装置
JPH06175639A (ja) 文字生成方法及びその装置
JPH06175637A (ja) 文字の生成方法
JP3359166B2 (ja) プリンタ装置およびプリンタ装置の線分分割描画方法
JP4144290B2 (ja) 画像処理装置および画像処理プログラム
JP3651214B2 (ja) 印刷処理装置及び印刷処理方法

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20040331

Termination date: 20151023

EXPY Termination of patent right or utility model