CN1085866C - 能改变字符大小的字符串输出方法与装置 - Google Patents
能改变字符大小的字符串输出方法与装置 Download PDFInfo
- Publication number
- CN1085866C CN1085866C CN94115674A CN94115674A CN1085866C CN 1085866 C CN1085866 C CN 1085866C CN 94115674 A CN94115674 A CN 94115674A CN 94115674 A CN94115674 A CN 94115674A CN 1085866 C CN1085866 C CN 1085866C
- Authority
- CN
- China
- Prior art keywords
- character string
- character
- font
- well
- coordinate
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
- Document Processing Apparatus (AREA)
Abstract
在一种字符串输出装置中,通过将表示包含一所要求字符串中的各字符的布置位置的一数字序列代入一字符串配置函数,而生成一个字符框。在该字符框中,将构成该要求的字符串的各字符分配进一任意指定的字符串配置区内。构成所要求的字符串的字体便被布置在所生成的字符框中,并且通过布置了这些字体时移动这些字符的字体的原点,各字符的放大倍率也是可变的。这种字符串输出装置可用作能够输出匀称间隔字体的一种字符串输出装置。
Description
本发明涉及能将一个所要求的字符串布置在一个任意指定的字符串配置区中的一种字符串输出方法与装置,它是用于一个字处理器、一台个人计算机之类中的。
在诸如字处理器及个人计算机等传统的字符串输出装置中,当加重待输出的正文的一部分时,通常有两种字符加重方法。即在一种字符加重方法中,通过使用诸如增加网格、反版印刷、加下划线、倾斜及旋转等处理的预定方式来加重正文中所要求的字符串。在另一种加重方法中,将所要求的字符串沿一条预先选定的线段排列,使这一字符串以拱形或波浪形的形式排列。
然而,根据这些传统的字符串加重方法,存在着某些问题,字符串只能用这些预先选定的方式输出,因此,加重字符串的自由度是非常低的,而用户对于加重方式的许多要求则是不能接受的。
例如,为了加重一个任意的字符串,当构成这一字符串的各字符的放大倍率连续地变化时,然后这些字符的尺寸或高从最前位置到最后位置逐渐地缩小时,这便可能输出一个延伸在一个长距离上的字符串。这样可以达到非常明显的加重这一字符串的效果。
在传统的方法中要达到这种明显的加重效果,各字符的放大倍率必须在垂直与水平两个方向上逐个地设定。这种放大倍率设定方式会对用户导致非常繁重的工作负担。换言之,任何用户都难于表达具有自然平滑匀称的延伸在长距离上的这种字符串。
为了克服有关字符加重方法的上述传统问题,本专利申请的受让人已作为美国专利申请序列号113,835(1993年8月30日提交)提出了一种解决方法。在这一解决方法中,用于将包含在所要求的字符串的各字符定位在一个任意指定的字符串配置区中的字符框是通过在字符串配置函数中代入参数来确定的。这样,这些字符便能安置在这一预定的字符框内。
现在,参照图8简要地说明同样转让给本受让人的上述字符串输出装置的一种非常基本的概念。在图8中,示意性地示出了作为要求输出的字符串所使用的十个字符“A”至“J”的一种情况,并加入了两条直线来指定各字符串布置区。在这一情况中,字符串布置区是由夹在连接P(0)至P(10)的一条直线(P(t)与连接Q(0)至Q(10)的一条直线Q(t)之间的一个区域限定的。P(t)与Q(t)称作一个“字符串配置函数”。然后,通过在这些字符串配置函数P(t)与Q(t)中代入适当的参数便可确定用于指定各字符的布置区的字符框。
即,对于这两条直线,假定在这两条直线上的点是用适当的参数表达的,直线的起始边的参数设置为“0”,而其终止边的参数则设置为“1”,出现在直线上的其它任意参数可表示为1以下的数值。换言之,当构成字符串的字符的数目为10时,用“10”去除“1”而得出“0.1”,因而中间参数“t”可计算如下“t=“0.0”,“0.1”,“0.2”,……,“0.8”,“0.9”与“1.0”。
如上所述,能够存放各字符的字符框的坐标值是通过将这样计算出的参数“t”代入对应于两条直线的字符串配置函数P(t)与Q(t)中而计算出的。这一字符框对应于由两条直线及其间作为右边与左边的分隔右侧与左侧字符的两条分割线围成的一个矩形。当用这一字符框的坐标值进行计算时,要求在相邻的字符之间不留空间。然后,将构成待输出的字符串的各字符以这样一种方式布置,使这些字符能被存放在对应的字符框内。
结果,便可高速而简单地生成具有多种形状的、以较好的匀称条件的、或者完全自然平滑条件的延伸在一个长距离上的一个字符串。
然而,由一种匀称的间隔的字体来看,这种字符串输出装置可以或多或少地加以改进。即,在这种先有装置中,使构成字符串的各字符的大小或尺寸保持不变是必要的初始条件。例如,由于各字符的坐标系列是由沿水平与垂直方向的100×100构成的一个坐标系作为初始条件设计的,便不能以匀称的间隔条件输出具有互相不同的字符串字体本体大小(字符宽度)的字体。即在这一已有输出装置中得不出匀称的间隔的字体。
现在参照图9中所示的一个实例描述输出这种匀称的间隔的字体的要求。图9示意性地表示一种匀称的间隔的字体的总体结构的一个实例。这一字体是这样表示的,表示这一字符的坐标系列是陈述在水平与垂直方向中的100×100的坐标系中。同时,这一字体定义为具有用“a”表示的左侧负担及用“b”表示的字体本体大小。将左侧负担给于与邻接字符重叠的部分,而字体本体大小则对应于由该字符占用的字符宽度。在这一实例中,左侧负担“a”的定义如下:对于字符“W”a=10网格,对于字符“I”a=35网格,而对于字符“L”a=15网格。再者字体本体大小“b”的定义如下:对于字符“W”b=80网格,对于字符“I”b=30网格,而对于字符“L”b=65网格。
图10A示意性地表示在W、I、L这三个字符匀称地间隔布置以前的状态,而图10B则示意性地表示字符匀称地间隔布置后的状态。首先,布置字符“W”。在这一情况中,用字符“W”的字体本体大小(b=80)来更新位置指针。然后,将字符“I”布置在距这一更新后的位置由减去字符“I ”的左侧负担(a=35)所定义的位置上。接着,将位置指针沿右侧方向移动字符“I”的字体本体大小(b=30)。剩下的字符“L”布置在距当前位置(80+30=110)由减去字符“L”的左侧负担(a=15)所定义的位置上。在本例中,字符串“W,I,L”的总宽度成为175,从而这一字符串得以适当地排列而不造成不必要的间隔。
如上所述,在这种匀称的间隔的字体中,由于各字符的宽度是互相不同的,即使在匀称的间隔的字体中,如果字符串配置函数的参数是根据所要求的字符串中的字符量用算术级数方式计算的的,则字符串便不能分配进实现这种匀称的间隔的条件的字符串配置区中。结果,实践中难于得到较好匀称并具有自然光滑状态的字符串。
即使在通过累加字体本体大小计算参数,然后简单地将字体存放在通过将得出的参数代入字符串配置函数计算出的字符框中时,也不能正确地表示保持匀称的间隔条件的字符串的字体。即,字体本体大小会如图11A所示那样受到压缩。
本发明的一个目的为提供一种能够改变构成一个所要求的字符串的字符的尺寸的字符串输出方法/装置,当将各字符分配进一个任意指定的字符串配置区中时,对各字符移动其字体的原点并改变这些字符的放大倍率。
本发明的另一个目的为提供这样一种字符串输出方法/装置,虽然各字符框是确定为使用在将构成一个所要求的字符串的匀称的间隔的字体分配进任意指定的字符串配置区中的,这些字符框是在这样一种条件下定义的,使得所要求的字符串是匀称地间隔的,从而能够输出匀称地间隔的要求的字符串。
为了达到上述目的,根据本发明的一个方面,用于在一个指定的区域中布置一个字符串的一种字符串输出装置包括:
区域指定装置,用于指定一个字符串配置区,以便将该字符串布置在所述字符串配置区中;
数字序列计算装置,用于以一个字符串配置函数的形式来表达所述字符串配置区,及用于以数字序列的形式生成各字符的配置位置;
字符框生成装置,用于将所述数字序列计算装置计算出的数字序列代入字符串配置函数中以生成一个字符框的坐标值,所述字符串便是在这些字符框中分配进所述字符串配置区中的;
坐标变换装置,用于将包含在该字符串中的各字符的字体的原点的坐标值移动到一个预定的位置上,及用于与原点的移动量相对应地平行移动构成各字符的字体的坐标数据;以及
输出装置,用于将构成所述字符串的字符的各字体布置在所述字符框生成装置所生成的所述字符框内,及用于输出所述字符串配置区内匀称地间隔的所述字符串。
根据本发明的另一方面,用于在一个指定的区域内布置一个匀称地间隔的字体的字符串的一种字符串输出装置包括:
区域指定装置,用于指定个以一个字符串配置函数的形式布置一个所要求的字符串的字符串配置区;
字体本体大小累加装置,用于累加构成所述要求的字符串的各字符中的匀称地间隔的字体的字体本体大小,从而得出整个所要求的字符串的字体本体大小的总值;
参数计算装置,用于根据所述字体本体大小累加装置计算出的匀称地间隔的字体的字体本体大小的总值以及各所述字符的匀称地间隔的字体的字体本体大小,为包含在所述要求的字符串中的各所述字符计算一个参数;
字符框生成装置,用于将所述参数计算装置计算出的所述参数代入一个字符串配置函数中,从而生成一个字符框的坐标值,所述要求的字符串便是在这些字符框中分配在所述配置区内的;
坐标变换装置,用于将匀称地间隔的字体的原点移动到具有所要求的字体本体大小的一个预先选定的位置上,从而根据所述移动后的原点,对所要求的字体本体大小内的坐标系列进行坐标变换,及用于使字体大小与所要求的字体本体大小相等;以及
输出装置,用于根据已被所述坐标变换装置坐标变换过的所述字体本体大小内的坐标系列,布置包含在所述字符串中的各所述字符的所述匀称地间隔的字体,及用于输出所述字符串配置区内的匀称地间隔的所述要求的字符串。
此外,根据本发明的另一方面,用于以各字符的不同放大倍率在一个预先选定的字符框区域内布置一个字符串的一种方法,包括下述步骤:
指定一个字符串配置区,以便将字符串布置在所述字符串配置区内;
以一个字符串配置函数的形式表达所述字符串配置区;
以一个数字序列的形式生成各字符的配置位置;
将计算出的数字序列代入字符串配置函数中以生成一个字符框的坐标值,所述字符串便是在这些字符框中分配进所述字符串配置区中的;
将包含在字符串中的各字符的字体的原点的坐标值移到一个预定的位置上;
对应于原点的移动量,平行移动构成各字符的字体的坐标数据;以及
将构成所述字符串的字符的各字体布置在所述生成的字符框内,从而输出在所述字符串配置区内匀称地间隔的所述字符串。
再者,根据本发明的又一个方面,用于以不同字体大小将一个字符串布置在一个预先选定的字符框区域内的一种方法,包括下述步骤:
指定一个用于布置以一字符串配置函数的形式表示的一个所要求的字符串的字符串配置区;
累加构成所述要求的字符串的各字符中的匀称地间隔的字体的字体本体大小,从而得出整个所要求的字符串的字体本体大小的总值;
根据由所述字体本体大小累加装置计算出的匀称地间隔的字体的字体本体大小的总值以及各所述字符的匀称地间隔的字体的字体本体大小,为包含在所述要求的字符串中的每一个所述字符,计算一个参数;
将所述计算出的参数代入一个字符串配置函数中,从而生成一个字符框的坐标值,所述要求的字符串便是在这些字符框中分配在所述配置区内的;
将匀称地间隔的字体的原点移到具有要求的字体本体大小的一个预先选定的位置上,从而根据所述移动后的原点,对所要求的字体本体大小内的坐标系列进行坐标变换;
使字体大小与所要求的字体本体大小相等;以及
根据所述字体本体大小内的已经过坐标变换的坐标系列,布置包含在所述字符中的所述各字符的所述匀称地间隔的字体,从而输出在所述字符串配置区中匀称地间隔的所述要求的字符串。
根据本发明的主要特征,当将构成所要求的字符串的各字符分配进任意指定的字符串配置区中时,由于将字体的原点移动到了它们预先选定的位置上,并改变待输出的字符的放大倍率,各字符的尺寸或大小是可以改变的。当将这一特征技术应用在匀称地间隔的字体上时,可执行下述匀称间隔操作。即,将构成一个所要求的字符串的一个字符的原点移动一个由该字符的左侧负担所定义的一个距离,并将该字符的字体大小用作其本体的大小,并对包含在该所要求的字符串中的其余字符重复这一处理操作。然后,根据匀称地间隔的字体的字符宽度的总值及各匀称间隔字体的一个字符的宽度,计算出一个适当的参数,并将这一参数代入字符串配置函数中而定义一个正确的字符框,能够在其中存放该匀称地间隔的字符的正确字符框便是这样确定的。结果,即使在使用匀称地间隔的字体时,所要求的字符串也能以匀称的间隔分配进字符串配置区中。结果,便能以更好的字符匀称性及自然平滑条件输出该字符串的匀称地间隔的字体。
为了更好地理解本发明,结合附图参阅图详细的描述。其中:
图1为应用本发明的一个字处理器的总体配置的示意性方框图;
图2为用在图1的字处理器中的匀称地间隔的字体计算单元的内部电路布置的示意性方框图;
图3为说明图2中所示的匀称性地间隔的字体计算单元的操作的流程图;
图4A至4C为说明当计算了一个匀称间隔的字体的参数来确定一个字符框,及将要输出的一个字符串分配进这一确定的字符框中的基本操作的示意图;
图5A示意性地表示用标准参数分配一个字符串的一个实例;
图5B示意性地表示使用按照本实施例所计算的参数分配一个字符串的一个实例;
图6A与图6B示意性地示出图2的匀称间隔字体计算单元中所采用的字体原点坐标变换单元的基本操作
图7A与图7B示意性地示出图2的字体原点变换单元所进行的坐标变换的一个实例;
图8示意性地示出采用算术级数参数分配一个字符串的标准技术;
图9A至图9C为正常的匀称间隔字体的数字结构的说明图;
图10为正常的匀称间隔的说明图;
图11A示意性地示出不移动原点分配一个字符串的情况的一个实例;
图11B示意性地示出在移动了一个字体的原点以得到一个字体本体大小后分配一个字符串的情况的一个实例;
图12示意性地示出执行与不执行匀称间隔字体的原点坐标变换时效果上的差别;以及
图13示意性地表示用原点坐标变换布置一个字符串时达到的效果。
字处理器的总体配置
参见图1至7,下面描述应用本创造性概念的一种字处理器。图1为根据本发明的一个较佳实施例的字处理器的总体配置的示意性方框图。这一字处理器的主要特征是以下述方式执行的:当以匀称间隔字体的形式输出一个英文文件时,这一英文文件或正文是在执行匀称间隔操作的同时印出的。在这一情况中,指定一个字符串布置区,英文正文的字符串便是在这一区域中布置在预定的区中的,匀称间隔字体是布置在字符串布置区中的。
参见图1中所示的字处理器的总体电路配置,用一个主控单元1来按照各种程序控制这一字处理器的总体操作,例如控制诸如一个健操作单元2、一个显示单元7、一个打印机单元8及一个外部存储单元10之类的外围设备的输入/输出操作。
键操作单元2是用于输入文件数据、各种命令等的键输入单元。当操作这一键操作单元2输入文件数据时,文件数据由主控单元1加以处理并以编码形式将处理后的文件数据存储在一个文件存储器3中。在读出文件存储器3的存储内容时,主控单元1启动一个匀称间隔字体计算单元4。这一匀称间隔字本计算单元4的功能为将文件3的内容转换成显示/印刷点模式。将显示/印刷点模式提供给一个显示控制单元5及一个打印机控制单元6,从而从显示单元7/打印机单元8将其输出。
另一方面,在主控单元1中设置了一个区域寄存器1-1。该区域寄存器1-1具有存储字符串布置区的功能。这一字符串布置区是用于布置一个要输出的字符串的。当通过键操作单元2指定了一个任意的字符串布置区时,便在主控单元1的控制下将这一任意的字符串布置区存储在区域寄存器1-1中。在本实施例中,是用夹在两条线之间一个区域来限定或定义一个字符串布置区的。在这一情况中,已经事先存储了一条直线、一条贝塞尔(Bezier)曲线及一条弧线作为定义这种布置区的线。这种线是可选择地指定的,并且夹在两条线之间的区域的形状/尺寸也是随意指定的以便定义一个所要求的字符串布置区。从而,将表示这一指定的字符串布置区的数字数据存储在上述区域寄存器1-1中。需要说明的是,对于这两条线中的每一条,线上的一个点是用一个单一的参数表示的,该线的起始边的参数为”0“,而其终止边的参数则为“1”。相应地,表示起始边与终止边之间的点的参数为1以下的各种值,即小数点后的数字。存储在这一区域寄存器1-1中的数据是响应输出命令读出的。
此外,主控单元1响应键操作单元2发布的存储指令读出文件存储器3的内容,并随即将读出的内容提供给一个外部存储器控制单元9,以便存储在外部存储单元10中。此外,为了按照一个应用程序执行所需要的处理操作,主控单元1可从外部存储单元10中读出该应用程序。匀称间隔字体计算单元的内部配置
在图2中,示出了上述匀称间隔字体计算单元4的一种内部配置。在匀称间隔字体计算单元4中配置有一个轮廓字体存储器4-1、一个字体本体大小累加部分4-2、一个参数计算部分4-3及一个字符串配置函数计算部分4-4。这一匀称间隔字体计算单元4中还包含一个字符框坐标计算部分4-5、一个字体原点坐标变换部分4-6、一个透视坐标变换计算部分4-7、一个坐标信息缓冲存储器4-8及一个输出模式绘制部分4-9。
轮廓字体存储器4-1中存储由对应于各种字符的一个坐标系列表达的轮廓字体(包含一种匀称间隔字体)。当通过操作键操作单元2指定了一个要输出的字符串时,便在主控单元1的控制下从轮廓字体存储器4-1中读出与这一字符串相关的轮廓字体。字体本体大小累加部分4-2的功能给出如下:当构成要输出的字符串的各字符是与匀称间隔字体相对应的时,便接连地累加各匀称间隔字体的字符宽度(字体本体大小)以得出整个字符串的字符宽度的总值。将计算出的字符宽度或字体本体大小提供给参数计算部分4-3。
参数计算部分4-3根据字体本体大小累加单元4-2得出的总值以及各匀称间隔字体的字符宽度,为各字符计算一个参数。并将得到的参数提供给字符框坐标计算部分4-5。字符框坐标计算部分4-5生成一个字符框,使得构成要输出的字符串的各字符被分配与定位在事先指定的字符串布置区中。为了达到这一目的,字符框坐标是通过将参数代入存储在字符串配置函数存储部分4-4中的字符串配置函数中而计算出的。
字体原点坐标转换部分4-6通过将匀称间隔字体的原点平行移动到该原点的字体本体大小的左上位置上,而转换下面提到的字体本体大小内的坐标系列。这一坐标变换的必要性将进一步详细讨论。从而,将变换后的匀称间隔字体提供给透视坐标计算部分4-7。进入这一透视坐标计算部分4-7的匀称间隔字体的坐标系列是从字体原点坐标变换部分4-6输入的,此外,还输入字符框坐标计算部分4-5所确定的字符框坐标。然后,应用已知的两灭点透视法(省略其详细描述)在透视坐标变换计算部分4-7中执行匀称字体的坐标系列的坐标变换。即,为了使这一匀称间隔字体能够存放进相关的字符框内,透视坐标变换计算部分4-7到该匀称间隔字体进行坐标变换。这样,便将变换后的坐标系列存储在坐标信息缓冲存储器4-8中。
最后,输出模式绘制部分4-9根据存储在坐标信息缓冲存储器4-8中的坐标系列,逐一地将字符数据转换成输出点模式(即,显示点模式或印刷点模式之一)。然后,便可在主控单元1中得到由输出模式绘制单元4-9绘制的输出点模式,并在此后从显示单元7或打印机单元8之一输出。匀称间隔字体计算操作
下面参照图3至图7描述上述字处理器的匀称间隔字体计算操作。
作为初始操作,为了指定一个要求的字符串布置区,用键操作单元2从直线、贝塞尔曲线与弧线中指定一种所要求的线,并指定夹在所指定的两条线之间的区域的一种要求的形状/大小。然后, 在主控单元1的控制下将表示这一要求的字符串布置区的数字数据存储进区域寄存器1-1中。现在假定已指定了匀称间隔字体的英文正文。在这一情况中,如果从键操作单元2提供了一条印刷指令,主控单元1便启动匀称间隔字体计算单元4。然后,匀称间隔字体计算单元4便按照图3的流程图中所定义的流程,执行匀称间隔字体计算操作。下面对照图4至图7中的图形图详细描述这一匀称间隔字体计算单元4的操作。
在图3中所示的流程图的第一步骤S1中,从轮廓字体存储器4-1中读出构成要输出的字符串的各匀称间隔字体。从而,字体本体大小累加部分4-2通过累加各匀称字体的字体本体大小计算整个字符串的字符宽度的总值(步骤S2)。现在假定,指定了三个字符“W”、“I”、“L”作为要输出的字符串,如图4A中所示,整个字符串“W,I,L”的字符宽度的总值为“175”。这是因为如图9中所示,第一个字符“W”的字体本体大小(字符宽度)为“80”;第二个字符“I”的字体本体大小为“30”;以及第三字符“L”的字体本体大小为“65”(即,80+30+65)。接着,将作为工作寄存器用在参数计算部分4-3(见图2)中的一个宽度数据寄存器归零(步骤S3)。
在这一情况中,参数计算部分4-3从要输出的字符串中的第一个字符开始,顺序地检测单个字符的字体本体大小(这些字体是已经从轮廓字体存储器4-1中读出的),然后将测出的字体本体大小加到宽度数据寄存器中(步骤S4)。接着,通过用参数计算部分4-3将整个字符串的字体本体大小(字符宽度)的总值去除这一宽度数据寄存器中的相加的值,而计算一个参数“t”。接着,字符框坐标计算部分4-5通过将参数计算部分4-3计算出的参数“t”代入字符串配置函数中,而得出字符框坐标(步骤S6)。必须指出,在步骤S4至步骤S6中所定义的上述处理操作,将为要输出的字符串中的每一个字符重复地执行,直到在下面提到的步骤S10中所有的字符都已被检测为止。
图4A示意性地表示当为所要求的字符串“WIL”执行了匀称间隔操作时的字符串配置情况。整个字符串的字体大小的总值为“175”。两个字符“W”与“1”之间的分隔处为“80”,而两个字符“I”与“L”之间的分隔处则为“110”。然后,将值“80”与“110”除以总值“175”,从而得出各分隔处的参数。即,作为字符“W”的左边部分的参数t=0.0。在字符“W”与“I”之间的分隔处的另一个参数的定义为:
t=80/175=0.45714。字符“I”与“L”之间的分隔处的另一个参数定义为:
t=110/175=0.62857而在字符“L”的右边部分的一个参数则定义为:
t=1.0。如上所述,得出的参数如下:t="0.0"、"0.45714"、"0.62857"及"1.0”。可将这些计算出的参数代入字符串配置函数而确定字符框坐标。
这里,将参数“t”分别代入字符串配置函数“P(t)”及另一个字符串配置函数“Q(t)”。如图4B中所示,第一字符串配置函数P(t)是定义为:
P(t)=(B-A)×t+A,它是连接点“A”的坐标位置(100,300)及点“B”的坐标位置(500,300)的一条直线,它规定了字符串布置区。类似地,第二字符串配置函数Q(t)定义为:
Q(t)=(D-C)×t+C,这是连接点“C”的坐标位置(100,400)与点“D”的坐标位置(500,400)的一条直线,它规定了上述字符串配置区。现在,只注意这些函数中的X分量,字符“I”的左边的X坐标表达为:
(500-100)×0.45714+100=283。然后,字符“L”的左边的X坐标表达为:
(500-100)×0.62857+100=351。
结果,甚至有可能将图8中表示的这一技术应用在各字符的字符宽度互相不等的一个字符串上,如一个匀称间隔字体。即,图5A示意性地示出一个实例,其中的一个字符串是根据构成该字符串的字符数,通过计算以算术级数的形式的参数加以分配的,如图8中所示。图5B示意性地示出另一个实例,其中的字符串是按照本实施例中所描述的创造性概念计算的参数分配的。应当说明,对于这样一种匀称间隔字体,作为字符串“ABCDEFGHIJ”的字体大小定义如下“A=82、B=85、C=91、…、J=50。结果,在图5B的实例中,要输出的字符串是分配成各字符在字符串布置区中匀称地间隔的。
参见图3,处理操作前进到步骤S7,在其中,字体原点坐标变换部分4-6以平行方式移动匀称间隔字体的原点,以便变换匀称间隔字体的坐标系列。换言之,一般地讲,一个轮廓字体在图6A的左侧是表示为将该字体的左上角假定为原点(0,0)的一个坐标系列的。当用2灭点透视法以坐标变换来处理这一轮廓字体时,上述坐标系列将被变换成图6A的右侧中所示的一个坐标系列。然而,按照本实施例,对于匀称间隔字体,字符框是与字体本体大小相对应地得出的。结果,当执行这样一种坐标变换而使所有的匀称间隔字体能够存放在这一整个字符框中时,如图11A中所示,便不能达到匀称间隔的目的。换言之,当执行坐标变换而同时又为了将整个匀称间隔字体存放在字符框内而将匀称间隔字体的左上角用作原点来保持坐标系列时,则这一坐标变换将在下述条件下受到影响,即原来与邻接字符重叠的部分会被存放进这一字符框中而得不到匀称的间隔。结果,字符将被布置成好象字体大小是在字符框中被压缩了的。
为了对本较佳实施例的上述特征有一个更好的理解,下面参照图12对字符“I”描述另一个实例。当整个字体被存放进能够存放字符“I”的一个区域内时,这一字符“I”将被压缩成如图12的中间阶段中左侧所示那样。反之,如果将字符“I”平行移动了(即,原点的移动)图9B中所示的左侧负担“a”时,并使字体大小与本体的大小相等,便能在这一条件下正确地布置整个字符串,这一条件便是这一字符串的各字符是按照匀称间隔方式加以处理的,如图11B、图12的中间阶段的右侧及图12的下方阶段中所示。
如上所述,在本较佳实施例中,如图6B中所示,将匀称间隔字体的原点平行移动到字体本体大小的左上角以建立一个新的原点,此后,根据这一新原点来变换字体本体大小的坐标系列,在这一情况中,坐标变换是相对于位于其水平宽度等于字体本体大小的宽度的一个矩形(由图6B的实线所围成的)内的字符串进行的。
例如,如图7A与图7B中所示,由于字符“I”的左侧负担为“a=35”,其原点便移动了这一左侧负担“a”。在这一情况中,由于这一字符“I”的字体本体大小为“b=30”,当对出现在水平宽度等于这一本体大小(b=30)的一个矩形内的字符串进行坐标变换时,原来具有值(38,12)的左上坐标便被变换成具有值(3,12)的另一个新的左上坐标。
如上面详细描述的,原点是平行移动的并且使字体大小与本体大小相等,从而匀称间隔字体的坐标系列变成了字体本体大小的坐标系列,因此,匀称间隔字体在概念上与字符框相同。
接着,处理操作前进到下一步骤S8,在步骤S8中,透视坐标变换计算部分4-7利用2灭点透视法对已经被字符体原点坐标变换部分4-6变换过的坐标系列进行变换,然后将坐标变换后的信息存储在缓冲存储器4-8中。随后,输出模式绘制部分4-9根据坐标信息缓冲存储器4-8的存储器内容(即坐标变换后的系列)绘制所要求的点模式,然后在步骤S9中将其提供给主控单元1。
对包含在要输出的所要求的字符串中的所有剩下的字符执行上面定义的匀称间隔操作。在下一步骤S10中,如果判定这一匀称间隔操作尚未对包含在所要求的字符串中的所有字符完成,处理操作便返回到步骤S4去对每一个剩下的字符重复执行上述匀称间隔操作。结果,便能够在已经经过匀称间隔的整个字符串完全存放在字符串布置区内的条件下,从显示单元7和/或打印单元8输出整个所要求的字符串。
如上面详细描述的,按照本实施例,确定了各字符框,构成所要求的字符串的各匀称间隔字体便是在这些字符框中分配在预定的字符串布置区内的。这种使所要求的字符串匀称间隔并能存储在字符串布置区内的字符框是很好地确定来输出匀称间隔字体的。结果,在得出的匀称间隔字体中便能实现自然的字符连接。因此得出的字符串便以更好的匀称方式输出。更具体地,即使对于用贝塞尔曲线或弧线指定的字符串布置区和/或其形状是独特的字符串布置区的一种匀称间隔字体,也能输出一个专门设计的字符串。
应当理解,虽然在上述实施例中,用来指定字符串布置区的一种任意线是从直经、弧线及贝塞尔曲线中选择的,但是本发明不只限于这些种类的线,也能应用于其它种类的线。并且,字符串布置区的形状也是可以改变的。
此外,虽然上述实施例描述的是英文正文,也能按照本发明处理其它不同匀称间隔字体的许多其它文件。如图13中所示,本发明可以在这一情况中实行,即改变一个任意字符的大小而不是匀称间隔字体的布置。
Claims (14)
1、用于在一个指定的字符串布置区域内布置一个字符串的一种字符串输出装置,包括:
字符串布置区域指定装置,用于指定一个字符串配置区,以便将该字符串布置在所述字符串配置区中;
数字序列计算装置,用于以一个字符串配置函数的形式表达所述字符串配置区,及用于以一个数字序列的形式生成各字符的一个配置位置;
字符框生成装置,用于将所述数字序列计算装置计算出的数字序列代入该字符串配置函数以生成一个字符框的坐标值,所述字符串便是在这些字符框中分配进所述字符串配置区内的;
坐标变换装置,用于将包含在该字符串中的各字符的一种字体的一个原点的坐标值移动到一个预定的位置上,及用于与原点的移动量相对应地平行移动构成各字符的字体的坐标数字;以及
输出装置,用于在所述字符框生成装置所生成的所述字符框内布置构成所述字符串的字符的各字体,及用于输出在所述字符串配置区内匀称间隔的所述字符串。
2、如权利要求1的字符串输出装置,其中所述字符串布置区域指定装置指定夹在两条线之间的一个区域作为所述字符串配置区。
3、如权利要求2的字符串输出装置,其中所述两条线是由用一个公共参数作为一个变量的一个函数表达的。
4、如权利要求1的字符串输出装置,其中所述数字序列计算装置以算术级数的形式生成所述数字序列。
5、用于在一个指定的字符串布置区域内布置一种匀称间隔字体的一个字符串的一种字符串输出装置,包括:
字符串布置区域指定装置,用于指定一个以一个字符串配置函数的形式布置一个所要求的字符串的字符串配置区;
字体本体大小累加装置,用于累加构成所述要求的字符串的各字符中的匀称间隔字体的字体本体大小,从而得出整个所要求的字符串的字体本体大小的一个总值;
参数计算装置,用于根据所述字体本体大小累加装置所计算出的匀称间隔字体的字体本体大小的总值以及各所述字符的匀称间隔字体的字体本体大小,为包含在所述要求的字符串中的每一个所述字符,计算一个参数;
字符框生成装置,用于将所述参数计算装置计算出的所述参数代入一个字符串配置函数,从而生成一个字符框的坐标值,所述要求的字符串便是在这些字符框中分配在所述配置区内的;
坐标变换装置,用于将匀称间隔字体的原点移动到其有所要求的字体本体大小的一小预先选定的位置上,从而根据所述移动后的原点对所要求的字体本体大小内的坐标系列进行坐标变换,及用于使字体大小与所要求的字体本体大小相等;以及
输出装置,用于根据所述字体本体大小内的坐标系列,布置包含在所述字符串中的所述各字符的所述匀称间隔字体,所述字体本体大小内的坐标系列是已经经过所述坐标变换装置进行过坐标变换的,及用于输出在所述字符串配置区内匀称间隔的所述要求的字符串。
6、如权利要求5的字符串输出装置,其中所述字符串布置区域指定装置指定夹在两条线之间的一个区域作为所述字符串配置区。
7、如权利要求6的字符串输出装置,其中所述两条线是用一个公共参数作为一个变量的一个函数表达的。
8、用于以各字符的不同放大倍率在一个预先选定的字符框区内布置一个字符串的一种方法,包括下述步骤:
指定一个字符串配置区,以便将该字符串布置在所述字符串配置区内;
以一个字符串配置函数的形式表达所述字符串配置区;
以数字序列的形式生成各字符的配置位置;
将计算出的数字序列代入该字符串配置函数以生成一个字符框的坐标值,所述字符串便是在这些字符框中分配进所述字符串配置区内的;
将包含在该字符串中的各字符的一种字体的原点的坐标值移动到一个预定的位置上;
与原点的移动量相对应地平行移动构成各字符的字体的坐标数据;以及
在所述生成的字符框内布置构成所述字符串的字符的各字体,从而输出在所述字符串配置区内匀称间隔的所述字符串。
9、如权利要求8的字符串布置方法,其中所述字符串布置区域指定步骤指定夹在两条线之间的一个区域作为所述字符串配置区。
10、如权利要求9的字符串布置方法,其中所述两条线为用一个公共参数作为一个变量的一个函数表达的。
11、如权利要求8的字符串布置方法,其中所述数字序列计算步骤以算术级数的形式生成所述数字序列。
12、用于以不同的字体大小在一个预先选定的字符框区域内布置一个字符串的一种方法,包括下述步骤:
指定一个用于以一个字符串配置函数的形式布置一个所要求的字符串的字符串配置区;
累加构成所述要求的字符串的各字符中的一种匀称间隔字体的字体本体大小,从而得出整个所要求的字符串的字体本体大小的一个总值;
根据所述字体本体大小计算装置所计算出的匀称间隔字体的字体本体大小的总值以及各所述字符的匀称间隔字体的字体本体大小,为包含在所述要求的字符串中的每一个所述字符,计算一个参数;
将所述计算出的参数代入一个字符串配置函数,从而生成一个字符框的坐标值,所述要求的字符串便是在这些字符框中分配进所述配置区内的;
将匀称间隔字体的原点移动到具有要求的字体本体大小的一个预先选定的位置上,从而根据所述移动后的原点,对所要求的字体本体大小内的一个坐标系列进行坐标变换;
使字体大小与所要求的字体本体大小相等;以及
根据已经经过坐标变换的所述字体本体大小内的坐标系列,布置包含在所述字符串中的所述各字符的所述匀称间隔字体,从而输出在所述字符串配置区中匀称地间隔的所述要求的字符串。
13、如权利要求12的字符串布置方法,其中所述字符串布置区域指定步骤指定夹在两条线之间的一个区域作为所述字符串配置区。
14、如权利要求13的字符串布置方法,其中所述两条线为用一个公共参数作为一个变量的一个函数表达的。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23713693A JP3412202B2 (ja) | 1993-08-31 | 1993-08-31 | 文字列出力装置 |
JP23713793A JP3412203B2 (ja) | 1993-08-31 | 1993-08-31 | 文字列出力装置 |
JP237136/93 | 1993-08-31 | ||
JP237136/1993 | 1993-08-31 | ||
JP237137/93 | 1993-08-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1105131A CN1105131A (zh) | 1995-07-12 |
CN1085866C true CN1085866C (zh) | 2002-05-29 |
Family
ID=26533069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN94115674A Expired - Fee Related CN1085866C (zh) | 1993-08-31 | 1994-08-31 | 能改变字符大小的字符串输出方法与装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5590247A (zh) |
CN (1) | CN1085866C (zh) |
TW (1) | TW249283B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2125608A1 (en) * | 1993-06-30 | 1994-12-31 | George M. Moore | Method and system for providing substitute computer fonts |
JP3354754B2 (ja) * | 1995-07-10 | 2002-12-09 | 大日本スクリーン製造株式会社 | カーニング処理方法 |
US5724067A (en) * | 1995-08-08 | 1998-03-03 | Gilbarco, Inc. | System for processing individual pixels to produce proportionately spaced characters and method of operation |
JPH11282829A (ja) * | 1998-03-31 | 1999-10-15 | Fuji Photo Film Co Ltd | フォント共有システムおよび方法ならびにフォント共有方法を実行するためのプログラムを格納した記録媒体 |
US6323879B1 (en) | 1998-05-14 | 2001-11-27 | Autodesk, Inc. | Method and system for determining the spacing of objects |
US6342890B1 (en) * | 1999-03-19 | 2002-01-29 | Microsoft Corporation | Methods, apparatus, and data structures for accessing sub-pixel data having left side bearing information |
JP2002268867A (ja) * | 2001-03-13 | 2002-09-20 | Sony Corp | 表示装置及び表示方法、プログラム記録媒体並びにプログラム |
US6967689B1 (en) * | 2001-05-08 | 2005-11-22 | Pixelworks, Inc. | System and method for providing a variable character size in an on-screen display application |
JP4079366B2 (ja) * | 2003-06-10 | 2008-04-23 | シャープ株式会社 | 文字発生装置、文字発生方法、文字発生プログラムおよび記憶媒体 |
US7161598B2 (en) * | 2004-02-26 | 2007-01-09 | Research In Motion Limited | Method of rendering text on an output device |
US8121338B2 (en) | 2004-07-07 | 2012-02-21 | Directsmile Gmbh | Process for generating images with realistic text insertion |
ITPI20070093A1 (it) * | 2007-08-08 | 2009-02-09 | Mario Pirchio | Metodo per animare sullo schermo di un computer una pennavirtuale che scrive e disegna |
JP5228897B2 (ja) * | 2008-01-31 | 2013-07-03 | セイコーエプソン株式会社 | 画像処理方法、そのプログラム及び画像処理装置 |
CN101964199B (zh) * | 2010-11-04 | 2012-08-29 | 深圳市万兴软件有限公司 | 自定义dvd菜单文字字体大小的方法和装置 |
JP5496415B2 (ja) * | 2011-03-14 | 2014-05-21 | 三菱電機株式会社 | 文字列配置装置 |
KR20130080515A (ko) * | 2012-01-05 | 2013-07-15 | 삼성전자주식회사 | 디스플레이 장치 및 그 디스플레이 장치에 표시된 문자 편집 방법. |
TWI575389B (zh) * | 2015-06-10 | 2017-03-21 | 文鼎科技開發股份有限公司 | 字體變形方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5113455A (en) * | 1990-02-27 | 1992-05-12 | Eastman Kodak Company | Digital image scaling by stepwise pixel movement |
US5097518A (en) * | 1990-02-27 | 1992-03-17 | Eastman Kodak Company | Technique for performing digital image scaling by logically combining or replicating pixels in blocks of differing groupsizes |
US5241653A (en) * | 1990-04-12 | 1993-08-31 | Adobe Systems Incorporated | Apparatus and method for adjusting and displaying scaled, rasterized characters |
US5459828A (en) * | 1990-08-01 | 1995-10-17 | Xerox Corporation | Optimized scaling and production of raster fonts from contour master fonts |
JPH04331162A (ja) * | 1991-05-02 | 1992-11-19 | Nec Eng Ltd | 文字パターン発生器 |
US5301267A (en) * | 1991-09-27 | 1994-04-05 | Adobe Systems Incorporated | Intelligent font rendering co-processor |
US5299294A (en) * | 1991-10-01 | 1994-03-29 | Xerox Corporation | Method for compensating for font resolution conversion error |
US5398306A (en) * | 1992-07-31 | 1995-03-14 | Urw Software & Type Gmbh | Generation of multitype fonts on high resolution output devices |
US5506942A (en) * | 1992-09-01 | 1996-04-09 | Casio Computer Co., Ltd. | Apparatus of outputting a train of characters |
JP2819961B2 (ja) * | 1992-09-16 | 1998-11-05 | ブラザー工業株式会社 | 印刷制御装置 |
-
1994
- 1994-08-25 US US08/296,357 patent/US5590247A/en not_active Expired - Lifetime
- 1994-08-30 TW TW083107945A patent/TW249283B/zh active
- 1994-08-31 CN CN94115674A patent/CN1085866C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
TW249283B (en) | 1995-06-11 |
US5590247A (en) | 1996-12-31 |
CN1105131A (zh) | 1995-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1085866C (zh) | 能改变字符大小的字符串输出方法与装置 | |
KR101324799B1 (ko) | 문서 재구조화를 위한 방법 및 시스템 | |
CN101739223B (zh) | 一种通过虚拟打印实现文档格式转换的方法及系统 | |
CA1289263C (en) | Apparatus and process for creating variably sized block diagrams to accommodate variable text contents while yet retaining overall block shape | |
CN1166217A (zh) | 处理表格的方法和装置 | |
CN106162302B (zh) | 一种Launcher主界面的编排方法、装置及智能电视 | |
CN1107281C (zh) | 可生成字符组成要素带连笔的字模的字模生成装置 | |
CN103186365B (zh) | 一种根据字形轮廓变化生成控制指令的方法及系统 | |
CN101727675B (zh) | 动态预览图形元素插入位置的系统及方法 | |
JPH0692153B2 (ja) | 文書処理システムにおける数式清書方法 | |
CN1458604A (zh) | Windows环境下工业打标机字库的生成方法 | |
CN112926286B (zh) | 一种动态表格生成方法与系统 | |
JP2615091B2 (ja) | 回路ブロックパターン入力装置 | |
JPS61241866A (ja) | 文書作成装置 | |
BREWER III | Three-dimensional design by graphical man-computer communication. | |
JP3412202B2 (ja) | 文字列出力装置 | |
JP3412203B2 (ja) | 文字列出力装置 | |
CN116431945A (zh) | 一种智能分栏方法及系统 | |
JPH04310170A (ja) | 数式を含んだ文書の作成装置 | |
JPH06226945A (ja) | 数式清書方法 | |
JP3395372B2 (ja) | 表処理装置 | |
CN117953107A (zh) | 预制构件钢筋标注方法、装置、计算机设备及存储介质 | |
JP2677442B2 (ja) | 編集機におけるイラストの取り込み方法および編集機 | |
JP3079481B2 (ja) | 文書処理装置 | |
JP4885889B2 (ja) | 寸法決め方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
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: 20020529 Termination date: 20130831 |