CN1172991A - 可阶段式表现型字体及其变换方法和表现方法 - Google Patents
可阶段式表现型字体及其变换方法和表现方法 Download PDFInfo
- Publication number
- CN1172991A CN1172991A CN97103763A CN97103763A CN1172991A CN 1172991 A CN1172991 A CN 1172991A CN 97103763 A CN97103763 A CN 97103763A CN 97103763 A CN97103763 A CN 97103763A CN 1172991 A CN1172991 A CN 1172991A
- Authority
- CN
- China
- Prior art keywords
- font
- information
- mentioned
- literal
- stage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/004—Generic data transformation
- G06K2215/0042—Rasterisation
- G06K2215/0045—Converting outline to bitmap
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Controls And Circuits For Display Device (AREA)
- Dot-Matrix Printers And Others (AREA)
Abstract
本发明涉及外廓字体,特别是涉及可阶段式地表现的外廓字体,及其变换方法和表现方法,目的是提供一种根据需要可改变构成字体的数据量的可阶段式表现型字体。上述可阶段式表现型字体具有可根据环境和目的妥当地相互调节字体显示速度和字体品位的功能。例如,当硬件速度较慢且不要求字体品位时,仅传送并显示字体数据中的一部分,在硬件速度相对越快或所要求的字体的品位越高,则渐进传送并显示更多的数据。
Description
本发明涉及外廓字体,特别是涉及可阶段式表现的外廓字体及其变换方法和表现方法。
现在广为使用的计算机运行体制,比如说windows 3.1,windows95,windows NT,OS/2;尤尼克斯(UNIX)X windows,麦金托什(macintosh)系统7,后组手写显示(display postscript)等等身本内藏有字体,或者把它们用作自己的资源,把内藏字体显示于CRT之类的输出装置上。
作为外廓文字普及得最广的是Adobe公司的后组手写(postscript)字体和微软公司或苹果公司的绝对真实型(true type)字体。
一般说,外廓字体由有关已配给字体的代码映象(code map)的信息,有关把字体的形态表示为控制点的连续关系的雕刻(glyph)的信息,以及其他字体的光栅化(rasterize)所需要的控制信息构成。上述这些信息,贮存于用来构成一对字体的一个文件中。
另一方面,构成一对的文字(例如谚文和汉字)的字体的数据的大小约为1-10MB(兆字节)。因此,要想在网路环境之下传送字体,就必顺传送大量的数据。
一般说,要想在使用者的计算机屏幕上显示字体,首先,上述使用者的计算机的光栅化器(rasterizor)必须读入必要的字体文件,这时的数据传送,在1个计算机内,通过机内的总线,在网路计算机(这里,把即使是已有的计算机也是在环境下动作的计算机的总称叫做网路计算机)的情况下则通过网路来进行。不论是在上述哪一种情况下,在需要比硬件所能支援的速度更快的数据时,应用现有的方法是困难的。
例如,在网路计算机的情况下,上述字体文件与光栅化器等等在网路上也可以分散于互不相同的场所处。在这种情况下,首先通过网路把使用者计算机的光栅化器所需的字体文件进行传送,所以也存在着显示速度变慢等在现实性的使用中的一些问题。
另外,作为另外的例子,例如在立联网(internet)环境下,在美国的使用者想要浏览韩国国内的website数据,在上述数据为谚文的情况下。美国的使用者为了显示由韩国国内的website所提供的数据,就必须具有有关谚文字体的信息。如果没有谚文字体,就必须在首先由国内的website传送谚文字体信息之后,再传送所希望的国内的website数据才能显示。这时,由于在谚文字体的数据大小大的情况下的数据传送要求过多的时间,故也常会在实时显示中产生许多问题。
或者,另外的比如说,在1个计算机内,通过总线传送字体数据的情况下,要想快速地浏览文本数据,在现有技术中,由于在全部读入关于1种字体的相应的书写信息之后,才能表现字体,故在上述字体的相应的书写信息的数据量大的情况下,难于在快的时间内进行显示。即,要想以翻书的速度边浏览边仅仅获得大致的信息,有时在浏览的速度上也有问题。
以往,在上述的例子中,在字体显示中,共同性地利用了字体调整存取之类的提高速度的方法。但是,这样一些方法在字体的种类多样且超过了超高速存储器范围的情况下,显示速度上的问题仍原封不动地留了下来。
因此,本发明就是为了解决上述那样的一些问题而创造出来的,目的是提供一种使构成字体的数据量可根据需要而变的可阶段式表现型字体。上述可阶段式表现型字体具有根据环境和目的可以妥当地相互调节字体显示速度和字体品位的功能。例如,在硬件的速度相对说来较慢且不要求字体的高品位的情况下。仅仅传送字体数据中的一部分并进行显示。在硬件速度越快且要求品位越高的字体时,阶段式地传送越多的数据并进行显示。因此,在环境不允许的情况下,可以不牺牲品位而代之以最小限的传送数据显示字体,若环境允许,则传送所有的数据,可把具有现存的全部数据的字体的品位不加修改地表现出来。
为了实现上述目的,在包含各文字的雕刻的文字(glyph)信息的外廓字体中,本发明的特征是对于上述各文字的雕刻信息,包括有:形成上述文字的那些控制点的座标;表明阶段性地传送上述文字或使之可表现化,阶段性地传送或表现上述文字时的上述控制点的时时刻刻包含顺序的电平信息;阶段性地表现上述文字时,使得可动态表现上述那些控制点之间的阶段性连结关系的索引(indexing)方式。
以下简单说明附图。
第1图是外廓字体的一般性的数据构造图。
第2A图是现有的按文字类别的雕刻信息的数据构造图。
第3B图是现有的雕刻信息的一个例子。
第3A图是PR字体的按文字类别的雕刻信息的数据构造图。
第4图是关于把现有的外廓字体变换为PR字体的方法的流程图。
第5图是对第2B图进行显示的结果图。
第6图是关于索引(index)配定的一般性的算法的例子。
第6B图是PR字体的传送和表现过程的例示图。
第7图是第1点的连续状态图。
第8图是第12点的连续状态图。
第9图是第1,2,3点的连续状态图。
第10图是1,2,3,4点的连续状态图。
第11图是第1,2,3,4, 5点的连续状态图。
第12图是第1,2,3,4,5,6点的连续状态图。
第13图是第1,2,3,4,5,6,7点的连续状态图。
第14图是第1级别内的各点的连续状态图。
第15图是第1级别为止的显示结果图。
第16图是第2级别为止的显示结果图。
第17图是第3级别为止的显示结果图。
第18图是第4级别为止的显示结果图。
第19图是第5级别为止的显示结果图。
第20图是第6级别为止的显示结果图。
第21图是第7级别为止的显示结果图。
第22图是用于说明局部性光栅化的第1例示图。
第23图是用于说明局部性光栅化的第2例示图。
以下参照附图详细地说明本发明。
第1图示出了外廓字体的一般性的数据构造。外廓字体由表示已分配给各文字的代码信息的代码映象(code map),对于构成上述外廓字体的文字,按文字类别所具有的那些雕刻信息,以及其他控制信息构成。
第2A图示出了现有的按文字类别的雕刻信息的数据构造。上述现有的按文字类别的雕刻信息由构成每一文字所必须的闭合曲线的个数,文字边框指定信息,控制点的on/off信息,各控制点的座标,控制点之间的连续信息,包括提示在内的其他信号构成。第2B图是上述现有的外廓字体中,除去了真实类型字体的谚文字符“
”的雕刻信息中其他控制信息之外的一个例子,参照序号250是闭合曲线的个数,252是边框信息,254是位于各闭合曲线的顶端的控制点的序号,256是on/off信息,258表示控制点的座标,上述on/off信息(250)和控制点的座标(258)的罗列顺序表示连续信息。
在这里,在构成文字的闭合曲线中的外侧的闭合曲线中,一般把及反时针方向定为正方向,把顺时针方向为负方向,在内侧的闭合曲线中,则把顺时针方向定为正方向,把反时针方向定为负方向,即,若应用这一规则,则在第0号闭合曲线中,反时针方向变为正方向,顺时针方向变为负方向,在第1号闭合曲线中,顺时针方向变为正方向,反时针方向变为负方向。
本发明的PR字体是包括有各文字的雕刻信息,提示之类的其他控制信息的外廓字体。第3A图示出了PR字体的按文字类别的雕刻信息的数据信息。关于上述各文字的雕刻信息由构成每一文字所必须的闭合曲线的个数,形成上述文字的那些控制点的座标,在阶段性地表现上述文字时,表明上述控制点的每一时刻的顺序的级别信息,阶段性地表现上述文字时,表明在上述那些控制点之间的闭合曲线上的连结关系的索引(index)信息。以及包括提示等在内的其他控制信息构成。第3B图示出了本发明的PR字体中的谚文字符“
”的雕刻信息(除去其他控制信息之外)的一个例子。其中,当然使用了身为真实型字体的基本书写原型(graphic Primitive)的二次曲线(Quadratic Bezier-Bernstein曲线),但即使使用身为后组手写(Postscript)字体的基本书写原型的三次曲线(CubicBezier-Bernstein曲线)也不偏离本发明的范围。
参考序号350是闭合曲线的个数,352是各闭合曲线的起始点的序号,354是级别的个数,356是各级别的终点的序号,358表示控制点座标,360表示在各控制点上的曲线的正方向和负方向的方向矢量,如果正方向与负方向的方向矢量平行,表示仅有一个。362表示索引信息。其中,项目360可用各相当点的正方向和负方向的那些线外点代替。这一点特别是比如论如后组手写那样,可用于利用了3次曲线的PR字体的那种场合。
取决于环境和目的。上述本发明的PR字体具有可以任意地决定传送速度和字体的品位的优点,但是,如上所述,由于PR字体的形式与现存的外廓字体不同,故要想使现存的外廓字体起PR字体的作用,首先要求一个把上述现存的外廓字体的数据变换成PR字体形式的数据的过程。因此,下边对把现存的外廓字体的数据变换成PR字体形式的数据的过程进行详细说明(这一过程大概被处理为脱机处理(Off-LineProcess))。
本发明的特征中的一个是采用现存的外廓字体中仅仅追加任何种类的级别信息的办法就可以容易地变换为PR字体。
第4图示出了把现存的外廓字体变换成PR字体的方法的流程图。以下对此进行说明。
首先,在400阶段,接受现存的外廓字体数据。其中,现存的字体包括(如第1图所示)代码映象,雕刻信息。以及包含提示在内的其他控制信息。
在其次的410阶段,在得到外廓字体数据之后,对构成上述现存的外廓字体的各文字按文字类别抽出相应的雕刻信息。其中,上述按各文字类别的雕刻信息,如第2A图所示,由构成每一文字所必须的闭合曲线的个数,文字边框指定信息,控制点的on/off信息,各控制点的座标,控制点间的连续信息,提示之类的其他控制信息构成。并且2B图就是关于此的一例。
在其次的第420阶段,把上述已抽出的文字的雕刻信息按文字类别变换成第3A图那样的包括PR字体的级别信息和索引信息在内的雕刻信息。关于这一情况的例子如上述第2B图所示,雕刻信息经上述420阶段后的结果与第3B图一样。
其次,决定处于第2A图中的控制点中各在线(on)点(以下叫做点)的顺序,并依据该顺序,给各点以序号,并根据该序号指定级别信息即级别个数,各级别所包含的点的个数等等,这时该级别信息,考虑到PR字体的各级别分类的传送速度,在各级别所必须实现的字体的病态学上的表现程序等等可由使用者进行指定或用规定的算法自动地指定。
利用上述那样定好了的信息,完成第3A图的闭合曲线的个数。控制各点的座标和级别信息。
把以上的过程应用到第2B图中出的例子如下所述。第5图是显示第2B图的结果。其中所显示的31个点是第2图的在线点,在各在线点上依据上述定好了的序号的顺序分别给以从1到31的序号。根据该序号的次序完成第3B图的项目358。即,仅仅把第2B图的各在线点的x座标和y座标按在上述中所定的序号的顺序进行罗列。其中级别的个数,在第1级别定为到第7为止的7个,该信息将变成第3B图的项目354。或者假定第1级别包含有第1点到第8点;第2级别包含有第9点到第10点;第3级别包含有第11点到第14点;第4级别包含有第15点到第17点;第5级别包含有第18点到第20点;第6级别包含第21点到第24点;第7级别包含有第25点到第31点,并利用各级别的终点的序号来完成第3B图的项目356。
在第3B图的项目350中,记录构成谚文字符“
”的闭合曲线的个数,这可以从第2B图得到。360示出了在各控制点上的曲线的正方向和负方向的方向矢量,如果正方向与负方向的方向矢量平行,则表示仅有一个,这可用第2B图的线外(off)点的座标来计算。
之后,在构成文字的各闭合曲线上利用各点的连续状态来完成第3A图的索引信息。若以第3B图为例对此进行说明则如下述。
首先,假设包含第1点的闭合曲线为第1闭合曲线。因此,第5图的外侧的闭合曲线变成第1闭合曲线。其次,从第1点以后的那些点中的第1闭合曲线上边没有的那些点中寻找序号最小的点,在本例中为第5点。设包含第5点的闭合曲线为第2闭合曲线。即第5图的内侧的闭合曲线变成第2闭合曲线。把上述的结果记录于第3B图的项目352中。即第3B图的项目352按照各闭合曲线的序号顺序记录各闭合曲线的起始点的序号。
其次,配定表明各点上各点之间的在各闭合曲线上的阶段式连接状态的索引,但关于这一点的一般的算法如下所述。*一般的Indexing Algorthm(索引算法)
首先,作为现存的外廓字体的一个雕刻信息,具有t个闭合曲线(作为每一时刻的第1闭合曲线,第2闭合曲线,…,第t闭合曲线)。
一般说,假定第s(1≤s≤t)闭合曲线由点PNs-1+1,PNs-1+2,…,PNs个在线点构成。
但是,在这里为便于说明令No=0。
结果是Nt变成为全体在线点的个数,第s(1≤s≤t)闭合曲线包含有Ns-Ns-1个的在线点。
若假定其中或者表示P1,…,PNt这一闭合曲线上的连续状态的函数NEXT:{1,2,…,Nt}→{1,2,…,Nt}如下边那样地赋值,即定义NEXT(n)对1≤n≤Nt的某一n,以Pn变成为在正方向上沿着闭合曲线最先碰到的点为PNEXT(n),可用公式表示如下:NEXT:{1,2,…,Nt}→{1,2,…,Nt}NEXT{n}=n+1,在n≠N1,N2,…,Nt时,NEXT{Nk)=Nk-1+1,k=1,2,…,t
此外,函数PREV:{1,2,…,Nt}→{1,2,…,Nt}被定义为NEXT的反函数,可用公式表示如下:PREV:{1,2,…,Nt}→{1,2,…,Nt}当PREV(n):=n-1,在n≠No+1,N1+1,…,Nt-1+1时PREV(Nk+1)=Nk+1,k=0,1,…,t-1
上述函数NEXT和PREV是具有变换之前的雕刻信息的信息。
其次,假定点Q1,Q2,…,QNt是使用者把P1,P2,…,PNt按照为了决定级别所决定的顺序进行罗列的事项。
这一信息可用下述那种一对一的对应关系的函数ψ:{1,2,…,Nt}→{1,2,…,Nt}来表示,ψ是满足下述条件的函数。Qn=Pψ(n),1≤n≤Nt
即,使用者定为n号的点Qn在原来的雕刻信息中,变成为本身为ψ(n)号的点Pψ(n)。上述的ψ变成为使用者决定的信息。
其次,使用由函数NEXT和PREV赋与的原来的雕刻信息与由函数ψ所赋与的使用者所决定的信息对点Q1,…,QNt明决定各自相当的索引信息的过程。
设已赋与点Qn(1≤n≤Nt)的相应索引(信息)为INDEX(n),则决定已各自变换为Q1,Q2,…,QNt的进入雕刻信息中的相应的索引信息,与决定函数INDEX:{1,2,…,Nt}→{1,2,…,Nt}相同。
例如,在第3B图的项目380中,位于第4行的各数字是关于点Q4的信息,其中属于项目362的数字“3”将成为点Q4的相应的索引,即,INDEX(4)=3。
其中,INDEX(n)(1≤n≤Nt),若把Q1,Q2,…,Qn定义为在用闭合曲线连继起来的状态时,在Q1,Q2,…,Qn-1,Qn中从Qn开始在负方向上沿着闭合曲线前进时最初碰到的点的序号(Q的序号),并表现为求INDEX(n)的算法的流图,则与第6A图相同。
若用第5图说明利用上述一般的算法完成第3B图的项目362的例子的话,则如下所述。第1点由于在包含它的第1闭合曲线上边以前的点只有第1点自己,故把本身为自身的序号的1当作索引。第2点是属于第1闭合曲线的点,由于迄今为止,属于第1闭合曲线的点只有第1,2两点,所以第2点的索引将成为指示第1点的1。第3点属于第1闭合曲线。由于从第5图的控制点的罗列顺序中得知,第1,2,3点之内,在负方向上与第2点连续得最近:故第3点的索引将变为表示第2点的2。第4点属于第1闭合曲线,且从第5图的控制点的罗列顺序得知,在第1,2,3,4点中的负方向上第3点连续得最近,故第4点的索引变成为表示第3点的3。
其次,第5点,如在项目352中所示。由于是与第1点所在的第1闭合曲线不同的第2闭合曲线的起始点,故与第1点不相连结。同时,第5点已在里边的第2闭合曲线的点,仍是只有第5点自己。故第5点的索引将变成表示自己的5。第6点是属于第2闭合曲线的点,而且到现在为止,属于第2闭合曲线的点只有5、6两点,故第6点的索引变成为表示第5点的5。第7点属于第2闭合曲线,由于从第5图的控制点的罗列顺序可知,第1,2,3,4,5,6,7点之内的负方向上与第6点连结得最近,故第7点的索引将成为表示第6点的6。第8点属于第2闭合曲线,由于从第5图的控制点罗列顺序可知,在第1,2,3,4,5,6,7,8点中的负方向上第7点连结得最近,故第8点的索引将变成表示第7点的7。用上述那样的方法对每一在线点配定索引,完成项目362。
用以上的方法的把第2B图变换成第3B图,使用了外廓字体中的后组书写之类的3次曲线的字体雕刻信息。也可用上述那样的方法变换为PR字体形式的雕刻信息。但是,在这时,不用已记录于第3B图的项目360中的方向矢量,而是代之以与各点(即在线点)的闭合曲线点的正方向和负方向相邻接的线外点,或者在某一方向上闭合曲线为直线时录入表示该事实的信息。另外在这时,在每一级别的阶段式表现方法中,线外点的定位所需的近似常数也包含于变换后的PR字体的雕刻信息中。这样来决定上述的近似常数,使在以相当的级别表现字体时的字体的外廓与原来的字体的外廓最为近似。这时,作为近似的方法可以使用2曲线间的L2-norm,Hausdorff Distance(Hausdorff距离)等种种方法。
把第2A图的其他的控制信息变换成第3A图的其他控制信号时,所示信息是特别重要的提示信息,对这种提示信息进行变换的方法粗分起来有两种,一是具有与已定好的每一级别相应的提示信息的方法,一是和级别信号无关系地原封不动地利用原有的提示信息仅仅在PR字体表现的最终阶段才应用提示的方法。前者的方法在用级别阶段式地表现PR字体时,使得在各个阶段都可进行提示,后者的方法,由于PR字体的传送速度,显示速度之类的问题,或者不需要在中间阶段的提示。或者在中间阶段的提示无意义的时候使用。在这里,在前者中的按各级别分类附加提示信息的方法可随使用目的和环境等而变。
用上述那样的方法,可把第2A图那样的现有的一个文字的雕刻信息变换成第3A图那样的PR字体形式的雕刻信息。
在接下来的第430阶段,在上述现存的外廓字体数据文件中,给除去雕刻信息之外的数据附加上上述已变换后的全体雕刻信息以生成PR字体文件。
在下边,将对具有上述的PR字体数据且阶段式的传送字体以进行表现的方法详细地进行说明。第6B图示出了该过程的流图。在这里,数据的传送永远从低位级别的雕刻信息开始进行传送。即,比如说以第38图的项目380,382,384,386,388,390,392的顺序传送,也可一次传送1个以上的项目。
在阶段610,取决于使用者的要求或传送环境等等来决定传送级别。并决定属于除去已传送过的级别之外的各级别的数据。比如说,在第3B图的数据中,已传送过的是第1,2级别,即第3B图的项目380,382,在必须传送级别5为止的数据的情况下,实际上必须传送的数据是第3,4,5级别,即第3B图的项目384,386和388。
在下一个阶段620中,在直到规定的级别为止已传送了PR字体形式的数据时,仅利用该数据来计算字体的外廓。以下对此进行详细说明。首先,决定应该用直到已传送过的级别为止的点的座标,曲线的方向矢量,索引信息,闭合曲线的个数具有级别信息待表现的闭合曲线的个数以及在各闭合曲线上的直到已被传送过的级别为止的各点的连接状态。
其中决定在各闭合曲线上的直到已被传送过的级别为止的各点的连结状态的过程,一般说来如下所述。
*连结状态的一般性的决定方法
在这里,前边说过的在一般性的Indexing Algorithm中所使用过的词语和公式将不加改变地使用。
此外,还假定已具有Q1,Q2,…,Qm,即开头开始的m个点的索引信息。
因此已赋与JINDEX(n)(1≤n≤m)。
在此,把FOWARDr:{1,2,…,r}→{1,2,…,r},1≤r≤Nt定义如下,即所谓FOWARDr(n),1≤r≤Nt,1≤n≤r)是从Q1,Q2,…,Qr这些点中的Qn点出发,沿着Qn所已进入的闭合曲线的正方向前进时最先碰到的点的府号。因此,FOWARDr这一函数是在Q1,Q2,…,Qr的闭合曲线上的连结状态的信息,这一过程的目的是以表示包含Qm的前Q1,Q2,…,Qm-1的闭合曲线上的连结状态的函数FOWARDm-1和INDEX(n)(1≤n≤m)求函数FOWARDM,函数FOWADM可以下述公式来求。
FOWARDm(n)=m,当n=INDEX(m)时,
FOWARDm-1(INDEX(m)),当n=m时,
FOWARDm-1(n),在其余的情况下
但,1≤n≤m
如果把上述连结状态的一般性的决定方法作为第3B图的例子进行说明则如下述。假定比如已传送了第3B图的数据中第1级别即已传送了项目380,则这时应该表现的闭合曲线的个数为2个,即变成为第1,2闭合曲线,结果变成为从第1点开始到第8个点为止的8个点即与第3B图的项目380相当的那些点位于该2条闭合曲线上。
第7图是仅仅用第1点来图示各闭合曲线上的那些点的连结状态,这是由表示在闭合曲线上对第1点时时刻刻在负方向上最为邻近的点到现在为止是第1点本身这一事实的索引信息来决定的。
第8图是仅仅利用第1,2两点示出了各闭合曲线上的那些点的连结状态的附图,这一状态是从第2点的索引为1,即第1点是对第2点在负方向上最邻近的点这一信息得到的。
第9图仅仅利用第1,2,3点示出了各闭合曲线上的那些点的连结状态,该连结状态可由第3点的索引为2,即第2点是对第3点在负方向上最邻近的点这一信息得到。
第10图仅仅利用第1,2,3,4点示出了各闭合曲线上的那些点的连续状态。该连结状态可以从第4点的索引为3,即第3点是对于第4点在负方向上最邻近的点这一信息中得到。
第11图仅仅利用第1,2,3,4,5点示出了各闭合曲线上的各点的连结状态,这一连结状态可由第5点的索引为5,即第5点本身是对第5点在负方向上最邻近的点这一信息中得到。
第12图仅仅利用第1,2,3,4,5,6点示出了各闭合曲线上的那些点的连结状态,这一状态可由第6点的索引为5,即第5点是对第6点在负方向上最邻近的点这一信息中得到。
第13周仅仅利用第1,2,3,4,5,6,7点示出了各闭合曲线上的那些点的连续状态,这一连续状态可由第7点的索引为6,即第6点是对第7点在负方向上最邻近的为一信息中得到。
作为这样的方法,若决定直到第1级别为止的那些点在闭合曲线上的连续状态则变成第14图。
如上述例子所示,一般说,如果在已知道直到规定序号为止的那些点的连续状态下追加下一个序号的点,则利用已追加上的点的索引就可知道至到该点为止的连续状态。这一方法,由于在文件内各点具有不会变化的索引,故可以减小PR字体文件的大小,同时,每当要把各点追加到闭合曲线上去的时候,都生动地说明了这些点的连续状态并可存储于存储器上的优点。
其次,在把2次曲线(Quadratic Bezier-Bernstein)利用于PR字体的外廓的表现中的情况下,对于每一闭合曲线,都利用二在线点的座标和曲线的方向矢量把曲线上的各相邻的2个在线点之间连续成2次曲线。在这里,一般说设有P1,P2这两点,并设在各点上曲线的方向矢量各为V1,V2时,连结P1,P2的2次曲线C(t)如下所示。
C(t)=(1-t)2P1+2(1-t)tP十t2P2,0≤t≤1,
但是,其中P是经过P1且方向为V1的直线与经过P2且方向为V2的直线的交点。若不知道在P1,P2处的曲线的方向矢量而代之以已知相当的线外点Q,则连结P1,P2的2次曲线C(t)如下所示。
C(t)=(1-t)2P1+2(1-t)tQ+t2P2,0≤t≤1,
在把3次曲线(Cubic Bezier-Bernstein)利用于PR字体的外廓的表现中的情况下,对于每一闭合曲线,该曲线上的各相邻的2在线点之间利用2在线点的座标,相当的线外点的座标和相应的一些近似常数用3次曲线进行连结。其中连结P1,P2点的3次曲线C(t)如下所示。
C(t)=(1-t)3P1+3(1-t)2tR1+3(1-t)t2R2+t3P2,,0≤t≤1,
但是,其中Ri=a(Q1-P1),R2=b(Q2-P2),Q1,Q2是分别与P1,P2相当的线外点,a,b是近似常数,这些近似常数由L2-norm,HausdroffDistance等规定的近似规则来决定。使得表现于上述公式中的3次曲线在PR字体的最终阶段近于被表现字体的外廓。
用上述那样的方法,利用直到已传送完的级别为止的数据就可以制作字体的外廓。第15,16,17,18,19,20,21图分别示出了仅仅利用第3B图的直到第1,2,3,4,5,6,7级别为止的数据计算出来的谚文字符“
”的外廓。
如像上述那样地完成了外廓的话,在阶段430就利用提示之类的其他信息进行光栅化以进行显示。
这时候,取决于使用目的和环境等等,根据级别阶段式地进行表现时,利用在各个阶段中的提示信息按阶段分开进行提示,或者因为PR字体的传送速度,显示速度等的问题,不需要在中间阶段的提示,或中间阶段的提示没有意义的时候,仅仅在PR字体表现的最终阶段应用提示。
本发明的上述方式虽然是根据所赋与的字体的文字的级别信息使之可以阶段性地进行表现,但是其中存在一个缺点。即,要想在下一阶段更为精密地表现在1个级别中已光栅化了的文字时,就要扔掉以前计算过的光栅化位映象(Rasterize Bit map)信息,重新计算以制作新的位映象。这是因为从已追加的新中得到的位映象的图形与前一级为何种关系难于用算法迅速地弄明白。这样所产生的再计算使所花的时间总体上增加。上述方式的长处是现存的书写体全然不变形,仅仅给给定的控制点附加上级别信息,所以具有易于制作PR字体的优点,但与此相反,却会招致光栅化(rasterize)时速度的减小。
可以克服这种缺点的方法是中心轴变换(Medial Axis Transform)。在中心轴变换中,平面上的图形,可以作为与之最大地进行内切的一些圆的集合来表现并进行再构成。这时,以这种最大内切圆的中心的集合为中心轴(Medial Axis)并考虑追加以各中心轴的点为中心的最大内切圆的半径的信息,这叫做中心轴变换(Medial Axis Transform)。中心轴变换在最初由Blum提出来之后,迄今为止人们很积极地进行了研究,D.T.Lee,R.L.Drysdale,M.Held,V.Srinvasan,L.R.Nackman,C,K.Yap等人已出来求中心轴变换的方法。但是,在这种情况下,构成边界的曲线(Boundary Curve)受限于直线线段(Line Segment)和圆弧(Circular Arc),而本发明者所研究解决的是具有一般性的曲线形态的情况的中心轴变换方法。
第23图示出的是谚文字符“ス”的模样和中心轴(2370)。一般说,以中心轴的点为中心的最大内切圆以与图形的边界曲线(BaundaryCurve)相连的点为切点,但参考序号2350表示中心轴的点,2352是以2350为中心的最大内切圆,2354表示2个切点。
位于第23图的2312处所表示的最大内切圆与在2314处所示出的最大内切圆之间的图形的部分用2316来表示。
在这里,在第22图中,示出了未选择用2210表示的最大内切圆(与之对应的切点)作为级别时的边界曲线。在第23图中,示出了选择由2310表示的最大内切圆(与之对应的切点)作为级别时的边界曲线。如在第22图-第23图的变换过程中所看到的那样,可知2310已作为级别选择后的结果,在图形中仅仅对位于2312和2314之间的图形的部分(即2316)有影响,对剩下的部分一点也没有什么影响。由此可知,第22图-第23图进行的过程,采用追加2310,2320,2330的办法,其效果也仅仅影响相应的部分。
这样的话,已在第22图中光栅化了的位映象大部分都可照样使用,级别信息的追加仅局部性地影响相当的部分,把这种方式叫做局部光栅化(Localized Rasterizing)方式。
这种局部光栅化方式对于用立足于中心轴变换的数据构成的字元来说特别易于采用,通过这种方式,本发明使得其速度和品位的均衡的应用变得容易了。
本发明使得可以形成可阶段性地表现型字体,这种字体可根据需要改变上述那样地构成且可改变构成字体的数据量,上述可阶段性表现型字体具有取决于环境和目的。可妥当地相互调节字体显示的速度和字体的品位的功能。
以上说明过的本发明,由于在本发明所属的技术领域内,对具有通常的知识的人们来说,在不偏离本发明的技术构思的范围内,可以进行各种的置换,变形及变更,故不受前边说过的实施例和所附附图的限制。
Claims (9)
1.一种在包含各文字的雕刻(glyoh)信息的外廓字体中可阶段式表现型字体,其特征是,上述各文字的雕刻信息包括有:
形成上述文字的各控制点的座标;
标号(Label)信息,用于使之可阶段式地传送或表现上述文字,并显示阶段式地传送或表现上述文字时的上述控制点每一时刻的包含顺序;
以及,在阶段式地表现上述文字时,可以动态性地表现上述控制点之间的阶段性连续关系的索引方式。
2.权利要求1所述的可阶段式表现型字体,其特征是,关于上述各文字的雕刻信息包含有提示(hinting)之类的其他的控制信息。
3.权利要求2所述的可阶段式表现型字体,其特征是,对每一标号(Label)都阶段性地包含有上述提示之类的其他控制信息。
4.权利要求3所述的可阶段式表现型字体,其特征是,关于上述各文字的雕刻信息包含有关于在上述各控制点上的曲线的方向矢量的信息。
5.权利要求1所述的可阶段式表现型字体,其特征是:上述控制点用与中心轴的点对应的最大内切圆的切点来形成。
6.一种在包含各文字的雕刻信息的外廓字体中可阶段式表现型字体,其特征是,关于上述各文字的雕刻信息包括有:
为了形成上述文字,以控制点为切点的规定的最大内切圆信息;
标号信息,用于使得可阶段式地传送或者表现上述文字,并显示阶段式地传送或表现上述文字时的上述规定的最大内切圆的各自的包含顺序:以及
在阶段式地表现上述文时可动态性地表现上述规定的最大的内切圆之间的阶段性连续级别的索引方式。
7.权利要求5或6所述的可阶段式表现型字体,其特征是:利用上述最大内切圆的信息可以进行局部性地光栅化。
8.一种可阶段式表现型字体变换方法,其特征是包含有下述各阶段:
第1阶段,从规定的外廓字体文件的雕刻数据中,对于构成上述规定的外廓字体的各文字,按文字类别抽出相应的雕刻信息;
第2阶段,把上述已抽出的各文字的雕刻信息变换成已包含用来可阶段性地传送或表现上述文字的级别信息和索引信息的雕刻信息;以及
第3阶段,在上述规定的外廓字体数据文件中,对除去了雕刻信息之外的数据,附加上上述变换后的雕刻信息以生成可阶段式表现型字体文件。
9.一种可阶段式表现型字体的阶段式表现方法,其特征是包含有下述各阶段:
第1阶段取决于使用者的要求或使用环境决定进行表现的标号,并仅仅把在直到上述已决定了的级别为止的表现所必需的信息中,除去了已存储下来的信息之外的追加数据传送至输出装置;
第2阶段,仅仅利用直到上述已传送的级别为止的数据,计算文字的每一级别的外廓;及
第3阶段,利用提示(hinting)之类的其他控制信息对每一级别表现字体而且阶段式地表现文字。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR9927/1996 | 1996-04-02 | ||
KR9927/96 | 1996-04-02 | ||
KR1019960009927A KR0172581B1 (ko) | 1996-04-02 | 1996-04-02 | 단계적 표현 가능형 폰트 그 변환 방법 및 렌더링 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1172991A true CN1172991A (zh) | 1998-02-11 |
CN1126051C CN1126051C (zh) | 2003-10-29 |
Family
ID=19454915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN97103763A Expired - Fee Related CN1126051C (zh) | 1996-04-02 | 1997-04-02 | 可阶段式表现的字体数据的处理方法及其变化和表现方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US6232987B1 (zh) |
JP (1) | JP3168170B2 (zh) |
KR (1) | KR0172581B1 (zh) |
CN (1) | CN1126051C (zh) |
DE (1) | DE19713654B4 (zh) |
FR (1) | FR2747209B1 (zh) |
GB (1) | GB2313277B (zh) |
TW (1) | TW359782B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814189B (zh) * | 2009-02-19 | 2011-08-17 | 中国科学院微电子研究所 | 一种图形挖空方法 |
US8326039B2 (en) | 2007-09-13 | 2012-12-04 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and recording medium |
CN113515919A (zh) * | 2021-09-14 | 2021-10-19 | 北京江融信科技有限公司 | 一种生成中文TrueType字体的方法及系统 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6501475B1 (en) * | 1999-10-22 | 2002-12-31 | Dynalab Inc. | Glyph-based outline font generation independent of resolution |
US6992671B1 (en) * | 1999-12-09 | 2006-01-31 | Monotype Imaging, Inc. | Method and apparatus for compressing Bezier descriptions of letterforms in outline fonts using vector quantization techniques |
US6911980B1 (en) * | 1999-12-10 | 2005-06-28 | Adobe Systems Incorporated | Manipulation of curves and surfaces |
US7055095B1 (en) | 2000-04-14 | 2006-05-30 | Picsel Research Limited | Systems and methods for digital document processing |
US7009626B2 (en) | 2000-04-14 | 2006-03-07 | Picsel Technologies Limited | Systems and methods for generating visual representations of graphical data and digital document processing |
US6781600B2 (en) | 2000-04-14 | 2004-08-24 | Picsel Technologies Limited | Shape processor |
US7576730B2 (en) | 2000-04-14 | 2009-08-18 | Picsel (Research) Limited | User interface systems and methods for viewing and manipulating digital documents |
JP2002162958A (ja) * | 2000-11-28 | 2002-06-07 | Pioneer Electronic Corp | 画像表示方法および装置 |
US7239318B2 (en) * | 2001-03-23 | 2007-07-03 | Rise Kabushikikaisha | Method and computer software program product for processing characters based on outline font |
US7385612B1 (en) | 2002-05-30 | 2008-06-10 | Adobe Systems Incorporated | Distortion of raster and vector artwork |
DE10260135B4 (de) * | 2002-12-20 | 2006-11-09 | OCé PRINTING SYSTEMS GMBH | Verfahren, Computerprogrammprodukt und Dokumentenausgabesystem zur Verarbeitung eines Dokumentendatenstroms |
FI20035250A (fi) * | 2003-12-31 | 2005-07-01 | Nokia Corp | Fonttien skaalauksen järjestäminen |
US7710422B2 (en) * | 2004-07-26 | 2010-05-04 | Microsoft Corporation | Font representations |
TWI409800B (zh) * | 2008-10-13 | 2013-09-21 | Dynacomware Taiwan Inc | 根據筆劃基礎字型資料產生低解像度中文小字品質顯示的方法和裝置 |
US8947438B2 (en) | 2011-08-01 | 2015-02-03 | Microsoft Corporation | Reducing font instructions |
US9245361B2 (en) | 2011-09-01 | 2016-01-26 | Microsoft Technology Licensing, Llc | Consolidating glyphs of a font |
WO2014205632A1 (en) * | 2013-06-24 | 2014-12-31 | Adobe Systems Incorporated | Gravity point drawing method |
WO2015141260A1 (ja) * | 2014-03-17 | 2015-09-24 | 株式会社河合楽器製作所 | 手書き音楽記号認識装置およびプログラム |
KR20150145774A (ko) * | 2014-06-19 | 2015-12-31 | 삼성전자주식회사 | 필기 애니메이션을 제공하는 전자장치 및 방법 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4620287A (en) * | 1983-01-20 | 1986-10-28 | Dicomed Corporation | Method and apparatus for representation of a curve of uniform width |
JPS6364090A (ja) | 1986-09-05 | 1988-03-22 | 松下電器産業株式会社 | 2値文字パタ−ンのベクトル化における線幅指定方法 |
JP2642363B2 (ja) | 1987-11-26 | 1997-08-20 | 富士通株式会社 | 図形データ転送方法 |
US5562350A (en) * | 1988-04-18 | 1996-10-08 | Canon Kabushiki Kaisha | Output apparatus that selects a vector font based on character size |
AU629210B2 (en) * | 1988-10-26 | 1992-10-01 | Sun Microsystems, Inc. | Method and apparatus for minimizing the visual degradation of digital typefaces |
JP3013089B2 (ja) | 1990-05-24 | 2000-02-28 | 富士通株式会社 | 自然画表現方式 |
GB2245739B (en) | 1990-07-03 | 1994-05-11 | Roke Manor Research | Character encoding systems |
EP0481787B1 (en) * | 1990-10-19 | 1997-01-15 | Canon Kabushiki Kaisha | Output method and apparatus |
US5301267A (en) | 1991-09-27 | 1994-04-05 | Adobe Systems Incorporated | Intelligent font rendering co-processor |
US5448686A (en) | 1992-01-02 | 1995-09-05 | International Business Machines Corporation | Multi-resolution graphic representation employing at least one simplified model for interactive visualization applications |
JP3391822B2 (ja) | 1992-05-08 | 2003-03-31 | 株式会社リコー | アウトラインフォントファイル圧縮方法 |
JP3224142B2 (ja) | 1992-05-20 | 2001-10-29 | 株式会社リコー | ヒンティング処理方法 |
US5526477A (en) | 1994-01-04 | 1996-06-11 | Digital Equipment Corporation | System and method for generating glyphs of unknown characters |
EP0672982B1 (en) | 1994-03-18 | 2002-07-31 | Hewlett-Packard Company, A Delaware Corporation | Printer system with compressed font procedure that enables memory conservation |
US5734388A (en) * | 1994-05-16 | 1998-03-31 | Agfa Division, Bayer Corporation | Method and apparatus for data compression of digital data to produce a scaleable font database |
US5781714A (en) * | 1994-05-27 | 1998-07-14 | Bitstream Inc. | Apparatus and methods for creating and using portable fonts |
JPH08146936A (ja) * | 1994-11-21 | 1996-06-07 | Fujitsu Ltd | アウトラインフォントデータの処理方法および装置 |
JPH09134157A (ja) * | 1995-11-09 | 1997-05-20 | Fujitsu Ltd | ヒント付け方法及びフォントファイル構成方法 |
KR100219072B1 (ko) | 1996-04-02 | 1999-09-01 | 김영환 | 중심축 변환을 이용한 폰트 및 그 폰트 서체의 변형 및 라스터라이징 방식 |
US5852448A (en) * | 1996-09-20 | 1998-12-22 | Dynalab Inc. | Stroke-based font generation independent of resolution |
-
1996
- 1996-04-02 KR KR1019960009927A patent/KR0172581B1/ko not_active IP Right Cessation
-
1997
- 1997-03-31 US US08/828,553 patent/US6232987B1/en not_active Expired - Lifetime
- 1997-04-02 FR FR9704008A patent/FR2747209B1/fr not_active Expired - Fee Related
- 1997-04-02 CN CN97103763A patent/CN1126051C/zh not_active Expired - Fee Related
- 1997-04-02 GB GB9706677A patent/GB2313277B/en not_active Expired - Fee Related
- 1997-04-02 JP JP08419397A patent/JP3168170B2/ja not_active Expired - Lifetime
- 1997-04-02 DE DE19713654A patent/DE19713654B4/de not_active Expired - Lifetime
- 1997-04-09 TW TW086104526A patent/TW359782B/zh not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8326039B2 (en) | 2007-09-13 | 2012-12-04 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and recording medium |
CN101388111B (zh) * | 2007-09-13 | 2013-06-05 | 佳能株式会社 | 图像处理装置和图像处理方法 |
CN101814189B (zh) * | 2009-02-19 | 2011-08-17 | 中国科学院微电子研究所 | 一种图形挖空方法 |
CN113515919A (zh) * | 2021-09-14 | 2021-10-19 | 北京江融信科技有限公司 | 一种生成中文TrueType字体的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
GB2313277B (en) | 2000-06-21 |
CN1126051C (zh) | 2003-10-29 |
KR0172581B1 (ko) | 1999-03-30 |
GB2313277A (en) | 1997-11-19 |
US6232987B1 (en) | 2001-05-15 |
JP3168170B2 (ja) | 2001-05-21 |
TW359782B (en) | 1999-06-01 |
GB9706677D0 (en) | 1997-05-21 |
FR2747209B1 (fr) | 1999-04-16 |
DE19713654A1 (de) | 1997-10-30 |
DE19713654B4 (de) | 2008-02-28 |
KR970071228A (ko) | 1997-11-07 |
JPH1031472A (ja) | 1998-02-03 |
FR2747209A1 (fr) | 1997-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1126051C (zh) | 可阶段式表现的字体数据的处理方法及其变化和表现方法 | |
US11314969B2 (en) | Semantic page segmentation of vector graphics documents | |
US5982387A (en) | Hint assignment method and font file construction method | |
US8018460B2 (en) | Vector graphics shape data generation apparatus, rendering apparatus, method, and program | |
JP5097133B2 (ja) | マージされたテキストパスにエフェクトを適用すること | |
US7173625B2 (en) | Three-dimensional animation system and method using evolutionary computation | |
JP3469492B2 (ja) | フォントメモリおよびフォントデータの読み出し方法 | |
JP2005326756A (ja) | 文字画像生成装置,文字画像生成方法,表示制御装置,文字画像生成プログラムおよび表示制御プログラム | |
CN1794342A (zh) | 用于在视频图形适配器上渲染图像的方法和系统 | |
CN1107903C (zh) | 打印机和字符处理方法 | |
EP0062669A1 (en) | GRAPHICS AND TEXT IMAGE GENERATOR FOR A GRID SCAN DISPLAY. | |
CN1181556A (zh) | 字符发生方法及设备 | |
JP2646475B2 (ja) | 文字デ−タ入力出力装置と入力出力方法 | |
CN1689028A (zh) | 联机手写字符输入装置和方法 | |
CN1133996A (zh) | 在字间插入特定字符码的装置和方法 | |
US7154513B2 (en) | Method and system for displaying images | |
JP3034140B2 (ja) | 文字生成方法及びその装置 | |
US6356267B1 (en) | Method of creating two dimensional shapes drawing system | |
JPH05258073A (ja) | 図形塗潰し装置 | |
CN113934384B (zh) | 数据渲染方法、装置、计算机设备和存储介质 | |
CN1098505C (zh) | 选择信息符号图象的方法和装置及信息符号图象的管理系统 | |
JP2009020364A (ja) | 地図表示装置および地図表示方法 | |
JP2907826B2 (ja) | 文字フォント管理装置 | |
JPH1039736A (ja) | 動的文字生成方法及び動的文字表示方法 | |
CN116384363A (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: 20031029 Termination date: 20130402 |