欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

字符發(fā)生裝置的制作方法

文檔序號(hào):2639848閱讀:184來(lái)源:國(guó)知局
專利名稱:字符發(fā)生裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及可以實(shí)現(xiàn)多種字體系統(tǒng)的字符發(fā)生裝置的改進(jìn)。
對(duì)于日文,建立一種字體需要準(zhǔn)備比歐洲字體多得多的字符。就字符數(shù)而言,任何一種歐洲字體都只涉及約200個(gè)字符,而日文則每種字體涉及約7000個(gè)字符。因此,除以前記錄的字體以外,字符發(fā)生裝置需要大量的人力和時(shí)間來(lái)記錄新建立的字體。這還涉及需要重新記錄的數(shù)量極大的數(shù)據(jù)。
在某些字體中,只要改變?cè)氐耐庑危涂梢陨梢环N給人印象十分不同的字體(在某些情況下,被承認(rèn)為是絕對(duì)不同的字體)。這樣,人們提出了一些通過(guò)改變?cè)赝庑蝸?lái)產(chǎn)生不同字體的方法(日本公開HEI 3-234559和HEI 4-56894)。在這種情況下,如圖31A和31B所示,元素指的是構(gòu)成字1的筆畫2a,2b,2c,…的末端部分3(圖31B中用粗線指出的部分)。
下面描述的,是按照日本專利公開HEI 3-234559和HEI 4-56894的內(nèi)容,通過(guò)改變?cè)赝庑蝸?lái)產(chǎn)生不同字體的方法。
首先,參照?qǐng)D32A至32C簡(jiǎn)要地描述一下日本專利公開HEI 3-234559。在Gothic體中,構(gòu)成一個(gè)字符的每一個(gè)筆畫的輪廓是用由直線和貝賽爾曲線逼近的輪廓字符數(shù)據(jù)表示的。這樣,如圖32A所示,繪圖點(diǎn)”c”是設(shè)置在元素3的兩個(gè)端點(diǎn)“a”和”b”的中間。如圖32B所示,繪圖點(diǎn)”a 和”b也是設(shè)定在沿著筆畫的輪廓的方向分別向前推進(jìn)規(guī)定的距離后的位置上的,然后刪除點(diǎn)”a”和”b”。最后,如圖32C所示,利用新設(shè)定的三個(gè)繪圖點(diǎn)”a”,”b”和”c” ,便產(chǎn)生出一種具有在Gothic體中已經(jīng)點(diǎn)出的元素的字體。
接著,參照?qǐng)D32A至32C簡(jiǎn)要地描述一下日本專利公開HEI 4-56894。首先產(chǎn)生的是矢量字符數(shù)據(jù),其中構(gòu)成一個(gè)字符的每一筆畫輪廓的位移后的點(diǎn)坐標(biāo)表達(dá)為一個(gè)矢量。然后,如圖32A所示,將元素3的矢量字符數(shù)據(jù)刪除,用以前已經(jīng)記錄在端點(diǎn)外形存儲(chǔ)器內(nèi)的如圖32B所示的端點(diǎn)外形4的矢量字符數(shù)據(jù)代替。于是,如圖32C所示,從Gothic體便形成了園渾的Gothic體。
但是,采用通過(guò)改變?cè)赝庑蝸?lái)產(chǎn)生另一種字體的傳統(tǒng)方法,會(huì)遇到如下所述的問(wèn)題。
首先,在日本專利公開HEI 3-234559中,繪圖點(diǎn)(或控制點(diǎn))是用由直線或貝賽爾曲線逼近的輪廓字符數(shù)據(jù)重新計(jì)算或推導(dǎo)出來(lái)的,以使元素外形發(fā)生變化。對(duì)于改變?cè)赝庑蔚囊话闱闆r,這是可行的。但是,既然繪圖點(diǎn)(控制點(diǎn))是重新通過(guò)計(jì)算推導(dǎo)出來(lái)的,所以將元素改變成復(fù)雜的元素外形是非常困難的,這是一個(gè)問(wèn)題。
在日本專利公開HEI 4-56894中,元素部分的矢量字符數(shù)據(jù),一次被刪除之后,用以前記錄的端點(diǎn)外形的矢量字符數(shù)據(jù)代替。對(duì)于改變?cè)赝庑蔚囊话闱闆r來(lái)說(shuō),這也是可行的。但是,既然元素部分是簡(jiǎn)單地用以前準(zhǔn)備的端點(diǎn)外形代替的,在某些情況下,如果處理目標(biāo)元素與該筆畫的延伸方向呈一定角度的傾斜,替換元素外形之后設(shè)計(jì)字符就會(huì)有困難,而如果元素與筆畫的延伸方向垂直,則沒(méi)有問(wèn)題。
另外,端點(diǎn)的外形是一次刪除元件部分的矢量字符數(shù)據(jù),然后重新連接另一端點(diǎn)外形的矢量字符數(shù)據(jù)而獲得的,元素外形改變之后所得的字符是用一個(gè)輪廓表示的。就是說(shuō),不可能在表示一個(gè)字符的輪廓內(nèi)部再加上一個(gè)獨(dú)立的圖形。因此不可能產(chǎn)生如圖34所示的包含獨(dú)立反白顯示部分5的字體。
近年來(lái),桌上排版得到日益廣泛的承認(rèn),對(duì)于實(shí)現(xiàn)多種多樣新穎字體的要求日益強(qiáng)烈。另一方面,不幸的是,硬件越來(lái)越小,越來(lái)越個(gè)人化,帶來(lái)一個(gè)問(wèn)題,就是字體涉及的數(shù)據(jù)量太大。
因此,本發(fā)明的目的是提供一種既允許容易地實(shí)現(xiàn)快速多字體系統(tǒng),又不增大數(shù)據(jù)量的字符發(fā)生裝置。
為了達(dá)到上述目的,本發(fā)明提供一種字符發(fā)生裝置,通過(guò)在基本字體字符的處理目標(biāo)部分,迭加一個(gè)外形元素來(lái)產(chǎn)生新字體的字符的字符發(fā)生裝置,該字符發(fā)生裝置包括用來(lái)存儲(chǔ)字體屬性的字體屬性存儲(chǔ)器,字體屬性包括表示字體的字體碼、字體名、表示用作基礎(chǔ)的相關(guān)字體的基本字體碼、表示用來(lái)產(chǎn)生字體的組件的組件碼以及產(chǎn)生該字體的修改信息;用來(lái)儲(chǔ)存代表基本字體外形的字符數(shù)據(jù)的字符數(shù)據(jù)存儲(chǔ)器;用來(lái)儲(chǔ)存代表組件外形的組件數(shù)據(jù)的組件數(shù)據(jù)存儲(chǔ)器;用來(lái)指定準(zhǔn)備產(chǎn)生的字體的輸入段;字形識(shí)別器,用來(lái)參考字體屬性,從字符數(shù)據(jù)存儲(chǔ)器中讀出用作輸入段所規(guī)定的字體的基礎(chǔ)的字體中字符的字符數(shù)據(jù),并根據(jù)讀出的字符數(shù)據(jù)識(shí)別基本字體中字符處理目標(biāo)部分的外形;組件數(shù)據(jù)修改器,用來(lái)參考字體屬性,從組件數(shù)據(jù)存儲(chǔ)器中讀出準(zhǔn)備用來(lái)產(chǎn)生輸入段所規(guī)定的字體的組件數(shù)據(jù),并根據(jù)處理目標(biāo)部分的外形,修改讀出的組件數(shù)據(jù),使準(zhǔn)備用的組件的尺寸和位置與處理目標(biāo)部分相匹配;數(shù)據(jù)合成器,用來(lái)產(chǎn)生規(guī)定字體的字符,該字符是既根據(jù)字形識(shí)別器讀出的基本字體字符的字符數(shù)據(jù),又根據(jù)經(jīng)組件修改器修改的組件數(shù)據(jù),將該組件迭加在基礎(chǔ)字體中的字符的處理目標(biāo)部分上而產(chǎn)生的。
采用這種安排,數(shù)據(jù)合成器根據(jù)由字形識(shí)別器讀出的基本字體的字符數(shù)據(jù),以及經(jīng)組件數(shù)據(jù)修改器修改的組件數(shù)據(jù),將所用的組件迭加在基本字體字符的處理目標(biāo)部分上、從而產(chǎn)生規(guī)定字體字符的字符數(shù)據(jù)。
因此,不計(jì)算新的繪圖點(diǎn)或刪除/重新連接繪圖點(diǎn),以較少的人力就能通過(guò)組件數(shù)據(jù)的修改和迭加,產(chǎn)生新字體的字符。
在一個(gè)實(shí)施例中,儲(chǔ)存在字符數(shù)據(jù)存儲(chǔ)器內(nèi)的字符數(shù)據(jù),具有針對(duì)基本字體中的字符的每一個(gè)單獨(dú)的處理目標(biāo)部分的、以及針對(duì)準(zhǔn)備產(chǎn)生的每一個(gè)各別字體的,準(zhǔn)備用于組件迭加的迭加信息。
采用這種安排,即使采用基礎(chǔ)字體中的相同的字符,對(duì)于準(zhǔn)備處理的不同部分,或者準(zhǔn)備產(chǎn)生的不同字體,也可以設(shè)置不同的迭加方法。
在一個(gè)實(shí)施例中,字形識(shí)別器參考字體屬性的修改信息,以及對(duì)應(yīng)的字體和讀出的字符數(shù)據(jù)中的處理目標(biāo)部分的迭加信息,決定一種組件迭加方法,并根據(jù)這個(gè)決定的結(jié)果完成字形的識(shí)別。
采用這種安排,即使采用基礎(chǔ)字體中相同的字符,通過(guò)針對(duì)準(zhǔn)備處理不同的部分,或者準(zhǔn)備產(chǎn)生的不同字體,采用不同的迭加方法,來(lái)避免組件之間的或者組件與處理目標(biāo)部分的接觸。
在一個(gè)實(shí)施例中,被字形識(shí)別器識(shí)別的處理目標(biāo)部分,是構(gòu)成該字符的任何筆畫端部的元素。
字形識(shí)別器識(shí)別基本字體中字符的元素長(zhǎng)度。
采用這種安排,可以將準(zhǔn)備采用的組件的長(zhǎng)度設(shè)置到最佳,以便和基本字體中字符的長(zhǎng)度相匹配。
在一個(gè)實(shí)施例中,其外形被字形識(shí)別器識(shí)別的處理目標(biāo)部分,是構(gòu)成該字符的筆畫以及該筆畫端部的元素;以及字形識(shí)別器至少或者識(shí)別基本字體中字符的元素中的一個(gè)的傾斜角,或者識(shí)別該元素所屬的筆畫的傾斜角,采用這種安排,可以將準(zhǔn)備采用的組件的傾斜角設(shè)置到最佳,以便和基本字體中的該字符的至少一個(gè)元素的或者該筆畫的傾斜角匹配。
在一個(gè)實(shí)施例中,組件數(shù)據(jù)修改器修改組件數(shù)據(jù),使得準(zhǔn)備采用的組件的長(zhǎng)度與該元素的長(zhǎng)度匹配,或者使得準(zhǔn)備采用的組件的傾斜角與至少一個(gè)元素的和該筆畫的傾斜角匹配。
采用這種安排,既然準(zhǔn)備采用的組件的長(zhǎng)度設(shè)置得與該元素的長(zhǎng)度匹配,或者使得準(zhǔn)備采用的組件的傾斜角設(shè)置得與至少一個(gè)元素和該筆畫的傾斜角匹配,迭加在處理目標(biāo)部分上的組件的長(zhǎng)度或傾斜角就變成沒(méi)有任何不調(diào)和感覺(jué)的長(zhǎng)度或傾斜角。
參閱下文的詳細(xì)敘述和附圖,對(duì)本發(fā)明將會(huì)有更完全的理解。附圖只是用來(lái)說(shuō)明,對(duì)本發(fā)明沒(méi)有限制性,其中圖1是本發(fā)明字符發(fā)生裝置的框圖;圖2是說(shuō)明圖1字符屬性存儲(chǔ)器中所存的字符屬性的構(gòu)成的例子的視圖;圖3是說(shuō)明圖1字符數(shù)據(jù)存儲(chǔ)器中所存的輪廓字符數(shù)據(jù)的構(gòu)成例子的視圖;圖4是說(shuō)明圖1粘貼組件數(shù)據(jù)存儲(chǔ)器中所存的粘貼組件數(shù)據(jù)的構(gòu)成例子的視圖;圖5A和圖5B是多邊形的解釋性視圖;圖6是在圖1中的CPU控制下執(zhí)行字符發(fā)生過(guò)程的流程圖;圖7是接在圖6后面的字符發(fā)生過(guò)程的流程圖;圖8是接在圖7后面的字符發(fā)生過(guò)程的流程圖;圖9是接在圖6后面的字符發(fā)生過(guò)程的流程圖;圖10是接在圖9后面的字符發(fā)生過(guò)程的流程圖;圖11是接在圖6后面的另一字符發(fā)生過(guò)程的流程圖;圖12A和12B是圖3所示輪廓字符數(shù)據(jù)的實(shí)際的說(shuō)明性視圖;圖13A,13B,13C,…和13I是說(shuō)明粘貼組件例子的視圖;圖14A,14B,14C,14D和14E是說(shuō)明新產(chǎn)生的字體的視圖;圖15說(shuō)明確定處理目標(biāo)元素的長(zhǎng)度和角度的說(shuō)明性視圖;圖16是圖13所示粘貼組件的說(shuō)明性放大視圖;圖17是圖16所示粘貼組件旋轉(zhuǎn)的說(shuō)明性視圖;圖18是加在圖15所示處理目標(biāo)元素上的圖17所示粘貼組件狀態(tài)的視圖;圖19是計(jì)算處理目標(biāo)元素所屬筆畫的角度的說(shuō)明性視圖;圖20是不同于圖17所示粘貼組件的粘貼組件旋轉(zhuǎn)的說(shuō)明性視圖21是加在圖19所示處理目標(biāo)元素上的如圖17所示粘貼組件狀態(tài)的視圖;圖22是處理目標(biāo)元素角度和計(jì)算該處理目標(biāo)元素所屬筆畫的角度的說(shuō)明性視圖;圖23A和23B是不同于圖17和圖20所示粘貼組件的粘貼組件旋轉(zhuǎn)的說(shuō)明性視圖;圖24是在圖22所示處理目標(biāo)元素上加上如圖23A和23B所示粘貼組件后的狀態(tài)的視圖;圖25A和25B是說(shuō)明改變圖12A和12B所示輪廓字符數(shù)據(jù)的字符的筆畫寬度的例子的視圖;圖26A和26B是不同于圖17,圖20及圖23A和23B所示粘貼組件的粘貼組件旋轉(zhuǎn)的說(shuō)明性視圖;圖27A和27B是說(shuō)明用不同于圖18,圖21及圖24所示粘貼方法的方法粘貼圖26A和26B所示粘貼組件之后的狀態(tài)的視圖;圖28是確定處理目標(biāo)元素所屬筆畫的角度的說(shuō)明性視圖;圖29是不同于圖17,圖20,圖23A和23B及圖26A和26B所示粘貼組件的粘貼組件旋轉(zhuǎn)的說(shuō)明性視圖;圖30是在圖28所示處理目標(biāo)元素上粘貼如圖29所示粘貼組件之后的狀態(tài)視圖;圖31A和31B是元素的說(shuō)明性視圖;圖32A,32B及圖32C是按現(xiàn)有技術(shù)改變?cè)匦螤畹姆椒ǖ恼f(shuō)明性視圖;圖33A,33B及圖33C是不同于圖32A,32B及圖32C的方法的按現(xiàn)有技術(shù)改變?cè)匦螤畹姆椒ǖ恼f(shuō)明性視圖;圖34是說(shuō)明通過(guò)改變?cè)匦螤疃@得的字體例子的視圖;下文將用


的實(shí)施例更詳細(xì)地描述了本發(fā)明。
圖1是本實(shí)施例字符發(fā)生裝置的框圖。本實(shí)施例是在以由繪圖點(diǎn)和控制點(diǎn)組成的直線和貝賽爾曲線來(lái)逼近構(gòu)成一個(gè)字符的每一筆畫的輪廓而得到的輪廓字符數(shù)據(jù)作為字符數(shù)據(jù)的情況下描述的。但是,本發(fā)明所用的字符數(shù)據(jù)并不限于此。
如圖1所示,字符發(fā)生裝置一般包括鍵盤11、輔助存儲(chǔ)器12、主要存儲(chǔ)器13、CPU(中央處理單元)14、位圖存儲(chǔ)器15、顯示裝置16及輸出裝置17。
鍵盤用來(lái)輸入準(zhǔn)備產(chǎn)生的字體的字體碼和字符號(hào)。輔助存儲(chǔ)器12有用來(lái)存儲(chǔ)作為關(guān)于準(zhǔn)備產(chǎn)生的每種字體迭加的信息的字體屬性的字符屬性存儲(chǔ)器18;用來(lái)儲(chǔ)存用作準(zhǔn)備產(chǎn)生的字體的基礎(chǔ)的字體的輪廓字符數(shù)據(jù)的字符數(shù)據(jù)存儲(chǔ)器19;以及用來(lái)存儲(chǔ)準(zhǔn)備用來(lái)改變基本字體處理目標(biāo)部分形狀的粘貼組件數(shù)據(jù)的粘貼組件數(shù)據(jù)存儲(chǔ)器20。主要存儲(chǔ)器13有臨時(shí)存放從輔助存儲(chǔ)器讀出的輪廓字符數(shù)據(jù)用的輸入緩沖器21;臨時(shí)存放形狀改變后的粘貼組件數(shù)據(jù)用的輸出緩沖器22;以及存放形狀改變信息用的存儲(chǔ)器23。
應(yīng)該指出,在下文中,用粘貼組件數(shù)據(jù)代表的一個(gè)圖形稱作粘貼組件。
CPU 14具有提取基礎(chǔ)字體輪廓字符數(shù)據(jù)處理目標(biāo)部分并識(shí)別其形狀用的字形識(shí)別器24;修改粘貼組件形狀用的粘貼組件數(shù)據(jù)修改器25;將字形識(shí)別器24和粘貼組件數(shù)據(jù)修改器25所得結(jié)果加以合成,產(chǎn)生新字體字符的輪廓字符數(shù)據(jù)用的數(shù)據(jù)合成器26;以及工作存儲(chǔ)器27。CPU14根據(jù)儲(chǔ)存在輔助存儲(chǔ)器12和主要存儲(chǔ)器13中的各種數(shù)據(jù),完成對(duì)字符產(chǎn)生過(guò)程的控制。位圖存儲(chǔ)器15把在CPU14的控制下生成的字符圖形變成位圖數(shù)據(jù),并將其送到顯示裝置16或者輸出裝置17。顯示裝置16根據(jù)從位圖存儲(chǔ)器15衍生的位圖數(shù)據(jù)顯示字符的圖象。由打印機(jī)等提供的輸出裝置17根據(jù)從位圖存儲(chǔ)器15衍生的位圖數(shù)據(jù)打印字符。
應(yīng)該指出,在圖5A所示的用直線和貝賽爾曲線表示的輪廓字符數(shù)據(jù)中,如圖5B所示由筆畫的輪廓形成的袋形的封閉的圖形61稱為多邊形。當(dāng)構(gòu)成多邊形61的輪廓字符數(shù)據(jù)順時(shí)針?lè)较虬才艜r(shí),多邊形61的內(nèi)部畫上斜線(圖14A至14E)。另一方面,當(dāng)輪廓字符數(shù)據(jù)逆時(shí)針?lè)较虬才艜r(shí),多邊形61的內(nèi)部空白(圖12A至12B)。
下文所用術(shù)語(yǔ)”粘貼”,指的是將單獨(dú)準(zhǔn)備的粘貼組件數(shù)據(jù)迭加在基礎(chǔ)字體輪廓字符數(shù)據(jù)內(nèi)的處理目標(biāo)部分上。
下面詳細(xì)解釋輔助存儲(chǔ)器12。
如前所述,字體屬性存儲(chǔ)器18已經(jīng)存儲(chǔ)了有關(guān)準(zhǔn)備產(chǎn)生的每種字體的迭加信息。如圖2所示,字體屬性包括表示準(zhǔn)備產(chǎn)生的字體的字體碼31、準(zhǔn)備產(chǎn)生的字體的字體名32、表示用作準(zhǔn)備產(chǎn)生的字體的基礎(chǔ)(基本字體)的字體的基本字體碼33、表示生成用的組件的組件碼34,以及迭加過(guò)程所必需的修改信息35。
當(dāng)對(duì)應(yīng)于準(zhǔn)備產(chǎn)生的字體存在兩種粘貼組件時(shí),組件碼34明確地由第一組件碼36和第二組件碼37規(guī)定,其中第一組件碼36代表標(biāo)準(zhǔn)粘貼組件(下文稱作第一組件),而第二組件碼37代表特殊的粘貼組件(下文稱作第二組件)。
修改信息35用來(lái)規(guī)定對(duì)基本字體字符中所有的處理目標(biāo)部分都有效的組件粘貼方法。修改信息35包括比例(縮放)信息38,用來(lái)規(guī)定粘貼組件是否依據(jù)該元素的尺寸進(jìn)行按比例放大/縮??;信息39,規(guī)定是否要計(jì)算元素的傾斜角;信息40規(guī)定是否要計(jì)算筆畫的傾斜角;信息41規(guī)定是否要用元素的中點(diǎn)作為組件粘貼的基準(zhǔn)點(diǎn)。
應(yīng)該指出,組件碼34和修改信息35規(guī)定的項(xiàng)目數(shù)可以適當(dāng)增加。
字符數(shù)據(jù)存儲(chǔ)器19存儲(chǔ)了用作準(zhǔn)備產(chǎn)生的字體的基礎(chǔ)的字體的輪廓字符數(shù)據(jù)。如圖3所示,輪廓字符數(shù)據(jù)包括表示目的字體的字體名45;表示該字體的每個(gè)字符(遵循日本工業(yè)標(biāo)準(zhǔn)JIS)的字符碼46;表示構(gòu)成該字符的每個(gè)多邊形的信息的多邊形信息47;以及構(gòu)成該多邊形的每個(gè)點(diǎn)的點(diǎn)信息48。
另外,字符碼46包括構(gòu)成該字符的多邊形個(gè)數(shù)。多邊形信息47包括構(gòu)成該多邊形的點(diǎn)數(shù)。點(diǎn)信息48包括包括點(diǎn)號(hào)和點(diǎn)的坐標(biāo),以及作為組件粘貼過(guò)程信息的修改屬性(標(biāo)志)。
點(diǎn)信息48的修改屬性用來(lái)規(guī)定對(duì)基本字體的字符中每個(gè)處理目標(biāo)部件都有效的組件粘貼方法。點(diǎn)包括8個(gè)標(biāo)志表示元素起點(diǎn)的元素起點(diǎn)標(biāo)志49、表示元素終點(diǎn)的元素終點(diǎn)標(biāo)志50、用來(lái)表示組件是否進(jìn)行粘貼的粘貼標(biāo)志51、用來(lái)規(guī)定是粘貼第一組件還是粘貼第二組件來(lái)產(chǎn)生TWIG字體的標(biāo)志52、用來(lái)規(guī)定是粘貼第一組件還是粘貼第二組件來(lái)產(chǎn)生PRINCESS字體的標(biāo)志53、用來(lái)規(guī)定是粘貼第一組件還是粘貼第二組件來(lái)產(chǎn)生PIERROT字體的標(biāo)志54、用來(lái)規(guī)定是用第一點(diǎn)還是用第二點(diǎn)作為組件基準(zhǔn)點(diǎn)來(lái)產(chǎn)生PIERROT字體的標(biāo)志55、以及一個(gè)用來(lái)規(guī)定是粘貼第一組件還是粘貼第二組件來(lái)產(chǎn)生TUKUSI字體的標(biāo)志56。
這些標(biāo)志在數(shù)量上可以適當(dāng)增加。
如圖3所示,輪廓字符數(shù)據(jù)包括POP的字體名、屬于POP字體的字中其JIS碼為3026的”愛(ài)”字(一個(gè)表示”愛(ài)情”的漢字)、以及,如圖12A所示,該漢字所具有的13個(gè)多邊形中第13號(hào)多邊形的多邊形71的點(diǎn)信息。
如圖12B所示,多邊形71有4個(gè)繪圖點(diǎn)a1,a4,a5及a8(以下就用術(shù)語(yǔ)”點(diǎn)”來(lái)稱呼”繪圖點(diǎn)”)以及4個(gè)控制點(diǎn)a2,a3,a6及a7。
在粘貼組件數(shù)據(jù)存儲(chǔ)器20中,儲(chǔ)存了粘貼組件數(shù)據(jù)。粘貼組件數(shù)據(jù),和輪廓字符數(shù)據(jù)中一樣,是用直線和貝賽爾曲線表示的。粘貼組件數(shù)據(jù),如圖4所示,包括作為包括第一組件及第二組件在內(nèi)的全部粘貼組件的粘貼組件數(shù)據(jù)的序號(hào)的組件碼57、表示構(gòu)成該粘貼組件的多邊形的信息的多邊形信息58、以及表示構(gòu)成多邊形的點(diǎn)的信息的點(diǎn)信息59。
組件碼57包括構(gòu)成組件的多邊形個(gè)數(shù)。多邊形信息58包括構(gòu)成多邊形的點(diǎn)數(shù)。點(diǎn)信息59包括點(diǎn)號(hào)和點(diǎn)的坐標(biāo)。
如圖4所示的粘貼組件數(shù)據(jù)代表圖13C所示組件號(hào)3的粘貼組件。
具有上述構(gòu)成的字符發(fā)生裝置通過(guò)下列操作產(chǎn)生新字體字符的輪廓字符數(shù)據(jù)。
圖6至圖11是要在CPU14的控制下執(zhí)行的字符發(fā)生過(guò)程的操作流程圖。下面按照?qǐng)D6至圖11詳細(xì)地描述在圖14A至14E所示的字體(字體名TWIG用圖14A;字體名PRINCESS用圖14B;字體名CRYSTAL用圖14C;字體名PIERROT用圖14D;字體名TUKUSI用圖14E)中產(chǎn)生JIS碼3026”愛(ài)”字字符數(shù)據(jù)的字符發(fā)生過(guò)程的操作,采用圖12A所示字體的輪廓字符數(shù)據(jù)作為基本字體的輪廓字符數(shù)據(jù),并采用圖13A至圖13I所示的粘貼組件的粘貼組件數(shù)據(jù)。
步驟S1,從鍵盤11輸入要產(chǎn)生的字符的字體碼(2TWIG;3PRINCESS;4CRYSTAL;5PIERROT;6TUKUSI)和字符號(hào)(3026)。
步驟S2,參考輔助存儲(chǔ)器12中字體屬性存儲(chǔ)器18的基本字體碼33,用字形識(shí)別器24確定步驟S1中規(guī)定的字體用的基本字體的字體名。然后,從字符數(shù)據(jù)存儲(chǔ)器19內(nèi)所存輪廓字體數(shù)據(jù),讀出輪廓字符數(shù)據(jù),這是基本字體的字體名所規(guī)定的字體的輪廓字符數(shù)據(jù),并且是步驟S1中輸入的字符號(hào)(3026)所規(guī)定的”愛(ài)”字的輪廓字符數(shù)據(jù)。讀出的輪廓字符數(shù)據(jù)儲(chǔ)存在主存儲(chǔ)器13的輸入緩沖器21。
步驟S3,字形識(shí)別器24將構(gòu)成該輪廓字符數(shù)據(jù)的多邊形信息47從步驟S2儲(chǔ)存在輸入緩沖器21中的輪廓字符數(shù)據(jù)中讀出。
步驟S4,字形識(shí)別器24將讀出的多邊形信息47的點(diǎn)信息48儲(chǔ)存在工作存儲(chǔ)器27中。
步驟S5,字形識(shí)別器24用如下方法查找出屬于多邊形信息47所代表的多邊形的全部處理目標(biāo)元素。
首先,根據(jù)儲(chǔ)存在工作存儲(chǔ)器27內(nèi)的點(diǎn)信息48,找出有元素起點(diǎn)標(biāo)志49的點(diǎn)號(hào)。接著,按時(shí)針?lè)较?亦即按點(diǎn)號(hào)的升序)順著多邊形的輪廓,從有元素起點(diǎn)標(biāo)志49的點(diǎn)開始,找出有元素終點(diǎn)標(biāo)志50的點(diǎn)號(hào)。然后,將出現(xiàn)在找出的該兩點(diǎn)之間的元素識(shí)別為處理目標(biāo)元素,亦即修改過(guò)程的目標(biāo)。從現(xiàn)在起,上述過(guò)程一直重復(fù)到全部處理目標(biāo)元素都識(shí)別出來(lái)為止。
結(jié)果,例如,如圖12B所示,其起點(diǎn)為a4,而其終點(diǎn)為a5的元素被識(shí)別為處理目標(biāo)元素。
步驟S6,粘貼組件數(shù)據(jù)修改器25,從步驟S5所找出的各所述處理目標(biāo)元素中,選擇一個(gè)未處理過(guò)的元素。另外,利用根據(jù)步驟S1輸入的字體碼引出的輔助存儲(chǔ)器12中字符屬性存儲(chǔ)器18內(nèi)的組件號(hào)34,從粘貼組件數(shù)據(jù)存儲(chǔ)器20,讀出對(duì)應(yīng)于準(zhǔn)備產(chǎn)生的字體的粘貼組件數(shù)據(jù)。然后,將讀出的粘貼組件數(shù)據(jù)存入主存儲(chǔ)器13的輸入緩沖器21。
步驟S7,字形識(shí)別器24參照字體屬性存儲(chǔ)器18中修改信息35中的比例縮放信息38,決定粘貼組件的尺寸是否要比照處理目標(biāo)元素作相應(yīng)的比例縮放。結(jié)果,如果按比例縮放,則程序轉(zhuǎn)入步驟S8,否則,轉(zhuǎn)入步驟S21。
在字體屬性如圖2所示的情況下,只有字體TUKUSI規(guī)定不要按比例縮放。于是,為了產(chǎn)生字體TUKUSI,程序轉(zhuǎn)入步驟S21。
步驟S8,字形識(shí)別器24,參照工作存儲(chǔ)器27中所存點(diǎn)信息48的粘貼標(biāo)志51,決定是否對(duì)要每個(gè)元素進(jìn)行組件粘貼。結(jié)果,如果進(jìn)行組件粘貼,則程序轉(zhuǎn)入步驟S9,否則,轉(zhuǎn)入步驟S57。
步驟S9,如果按照步驟S1輸入的字體碼,第一組件號(hào)36和第二組件號(hào)37在字體屬性的組件號(hào)34中都存在,則由字形識(shí)別器24,根據(jù)工作存儲(chǔ)器27中所存點(diǎn)信息48的標(biāo)志52至54和56,決定使用第一粘貼組件還是使用第二粘貼組件。結(jié)果,如果使用第一組件,則程序轉(zhuǎn)入步驟S10,如果使用第二組件,則轉(zhuǎn)入步驟S41。
在只要一種粘貼組件的字體CRYSTAL的情況下,無(wú)論什么情況,程序都轉(zhuǎn)入步驟S10。
步驟S10,字形識(shí)別器24用下列方法計(jì)算步驟S6所選處理目標(biāo)元素的長(zhǎng)度D1(這里假定,是其起點(diǎn)為a4而終點(diǎn)為a5的處理目標(biāo)元素)。
如圖15所示,利用多邊形71點(diǎn)a4,a5的坐標(biāo)(a4(x1,y1),a5(x2,y2)),點(diǎn)a4,a5之間的距離D1用下列公式計(jì)算D1={(x2-x1)2+(y2-y1)2}1/2將這樣算出的距離D1作為處理目標(biāo)元素的長(zhǎng)度,存入工作存儲(chǔ)器27。
步驟S11,粘貼組件數(shù)據(jù)修改器25,根據(jù)步驟S10算出的處理目標(biāo)元素的長(zhǎng)度D1,以及按下列公式算出的值,以原點(diǎn)(0,0)作為中心,對(duì)在步驟S6存入輸入緩沖器21的粘貼組件數(shù)據(jù),進(jìn)行比例縮放D1/D*E式中,D是元素的參考長(zhǎng)度,E是與D對(duì)應(yīng)的粘貼組件72的參考長(zhǎng)度。
步驟S12,字形識(shí)別器24,參照儲(chǔ)存在字體屬性存儲(chǔ)器18中的字體屬性的修改信息35中的信息39,40,決定是要計(jì)算哪個(gè)角度,是元素對(duì)于Y軸的角度還是筆畫對(duì)于X軸的角度。結(jié)果,如果要計(jì)算元素的角度,則程序轉(zhuǎn)入步驟S13,如果要計(jì)算筆畫的角度,則轉(zhuǎn)入步驟S15,如果兩個(gè)角度都要計(jì)算,則轉(zhuǎn)入步驟S17。
在字體屬性如圖2所示情況下,為了產(chǎn)生TWIG字體決定要計(jì)算元素的角度。為了產(chǎn)生PRINCESS字體、PIERROT字體或TUKUSI字體則決定要計(jì)算筆畫的角度。為了產(chǎn)生CRYSTAL字體,兩個(gè)角度都要計(jì)算。
步驟13,產(chǎn)生TWIG字體用的元素角度θ1,由字形識(shí)別器24按下列方法計(jì)算。
如圖15所示,計(jì)算連接處理目標(biāo)元素兩個(gè)端點(diǎn)a4,a5的直線L1與平行與Y軸的直線LY之間的夾角θ1。
步驟S14,由粘貼組件數(shù)據(jù)修改器25確定的,是步驟S11對(duì)粘貼組件72a進(jìn)行比例縮放后,如圖17所示繞原點(diǎn)(0,0)從Y軸旋轉(zhuǎn)一個(gè)角度θ1這一處理所得的粘貼組件數(shù)據(jù)。
這些步驟之后,程序轉(zhuǎn)入步驟S52。
步驟S15,字形識(shí)別器24用下列方法計(jì)算產(chǎn)生PRINCESS字體、PIERROT字體或TUKUSI字體所用的目的元素所屬的筆畫的筆畫角度θ2。
參照?qǐng)D19,用計(jì)算兩線夾角用的函數(shù)atan2(dx,dy),來(lái)計(jì)算將處理目標(biāo)元素的起點(diǎn)a4連接到點(diǎn)a4沿著繪圖點(diǎn)或控制點(diǎn)構(gòu)成多邊形的方向上緊接著的前一個(gè)點(diǎn)(該實(shí)施例中的控制點(diǎn)a3)的連線L2(dx,dy)與平行與X軸的直線LX的夾角θa。用類似方法計(jì)算連接處理目標(biāo)元素的終點(diǎn)a5和點(diǎn)a5的下一個(gè)繪圖點(diǎn)或控制點(diǎn)(該實(shí)施例中的控制點(diǎn)a6)的連線L3與直線LX的夾角θb。然后,求兩夾角θa和θb的平均值,并假定為該處理目標(biāo)元素所屬筆畫對(duì)于X軸的傾斜角θ2。
步驟16,如圖20,26A,26B及29所示,由粘貼組件數(shù)據(jù)修改器25確定將在步驟S11中按比例縮放之后的粘貼組件74a,77a,79a,繞原點(diǎn)(0,0)旋轉(zhuǎn)一個(gè)對(duì)于X軸的角度θ2之后得到的粘貼組件數(shù)據(jù)。
這些步驟之后,程序轉(zhuǎn)入步驟S52。
步驟S17和S18,像在步驟S13和S15一樣,確定產(chǎn)生字體CRYSTAL用的元素角度θ1和筆畫角度θ2(圖22)。
步驟S19,如圖23A所示,粘貼組件數(shù)據(jù)修改器25確定將在步驟S11中按比例縮放之后的粘貼組件76a,以原點(diǎn)(0,0)作中心旋轉(zhuǎn)得使對(duì)角線qr旋轉(zhuǎn)一個(gè)等于對(duì)直線LY的角度θ1的角度之后得到的粘貼組件數(shù)據(jù)。
步驟S20,如圖23B所示,粘貼組件數(shù)據(jù)修改器25確定的是,其對(duì)角線qr在步驟19中已旋轉(zhuǎn)了角度θ1的粘貼組件76b,再以原點(diǎn)(0,0)作中心旋轉(zhuǎn),使其對(duì)角線po從線LX旋轉(zhuǎn)了一個(gè)等于筆畫角度θ2的角度之后得到的粘貼組件數(shù)據(jù)。
這些步驟之后,程序轉(zhuǎn)入步驟S52。
步驟S21至S23,像在步驟S8,S9和S12一樣,決定是否進(jìn)行組件粘貼,是否采用第一組件,計(jì)算哪個(gè)角度。
步驟S24至S31,像在步驟S13至520一樣,計(jì)算元素角度θ1和筆畫角度θ2,并根據(jù)算出的元素角度θ1或筆畫角度θ2,對(duì)儲(chǔ)存在輸入緩沖器21的粘貼組件數(shù)據(jù)進(jìn)行旋轉(zhuǎn)過(guò)程。
這些步驟之后,程序轉(zhuǎn)入步驟S52。
步驟S32至S40,像在步驟S12至S20一樣,決定要計(jì)算哪個(gè)角度計(jì)算元素角度θ1還是計(jì)算筆畫角度θ2,對(duì)儲(chǔ)存在輸入緩沖器21的第二組件的粘貼組件數(shù)據(jù),進(jìn)行旋轉(zhuǎn)過(guò)程。
這些步驟之后,程序轉(zhuǎn)入步驟S52。
步驟S41至S51,像在步驟S10至S20一樣,計(jì)算處理目標(biāo)元素的長(zhǎng)度D1,對(duì)儲(chǔ)存在輸入緩沖器21的第二組件的粘貼組件數(shù)據(jù)進(jìn)行按比例縮放,決定要計(jì)算哪個(gè)角度計(jì)算元素角度θ1還是計(jì)算筆畫角度θ2,對(duì)按比例縮放后的第二組件的粘貼組件數(shù)據(jù)進(jìn)行旋轉(zhuǎn)過(guò)程。
這些步驟之后,程序轉(zhuǎn)入步驟S52。
步驟S52,數(shù)據(jù)合成器26參照儲(chǔ)存在字體屬性存儲(chǔ)器18中的字體屬性的修改信息35中的信息41,和儲(chǔ)存在工作存儲(chǔ)器27中的點(diǎn)信息48中的標(biāo)志55,決定經(jīng)受上述比例縮放過(guò)程和旋轉(zhuǎn)過(guò)程的粘貼組件的原點(diǎn)放在哪個(gè)點(diǎn)上(亦即決定粘貼的基準(zhǔn)點(diǎn)在哪里)。
有三種點(diǎn)可以作為基準(zhǔn)點(diǎn)圖15中的元素起點(diǎn)a4、元素中點(diǎn)b和元素終點(diǎn)a5。在圖2所示的修改信息35的情況下,既然只有PIERROT字體規(guī)定,元素中點(diǎn)b以外的某些點(diǎn)可以作為基準(zhǔn)點(diǎn),所以要參照產(chǎn)生PIERROT字體用的點(diǎn)信息48中的標(biāo)志55,決定是用元素的起點(diǎn)還是用元素的終點(diǎn)作為基準(zhǔn)點(diǎn)。
作為決定的結(jié)果,如果用元素的起點(diǎn)作為基準(zhǔn)點(diǎn),則程序轉(zhuǎn)入步驟S53;如果用元素的中點(diǎn)作為基準(zhǔn)點(diǎn),則程序轉(zhuǎn)入步驟S54;而如果用元素的終點(diǎn)作為基準(zhǔn)點(diǎn),則程序轉(zhuǎn)入步驟S55。
在這方面,如果步驟S8決定不進(jìn)行組件粘貼(亦即點(diǎn)信息48中的粘貼標(biāo)志51沒(méi)有設(shè)置),則跳過(guò)步驟S9至S52,所以點(diǎn)信息48中的標(biāo)志52至56全部清零。
步驟S53,在PIERROT字體的情況下,由粘貼組件數(shù)據(jù)修改器25確定這樣的粘貼組件數(shù)據(jù),即在步驟S11和S16經(jīng)受按比例縮放過(guò)程和旋轉(zhuǎn)過(guò)程的組件77b,如圖26A所示,被水平軸反射,而反射后的組件77c的原點(diǎn),如圖27A所示,移動(dòng)到處理目標(biāo)元素的元素起點(diǎn)a4的坐標(biāo)上。
這些步驟之后,程序轉(zhuǎn)入步驟S56。
步驟S54,粘貼組件數(shù)據(jù)修改器25確定將經(jīng)受了上述按比例縮放過(guò)程和旋轉(zhuǎn)過(guò)程之后的組件72b,74b,76c,79b的組件原點(diǎn),如圖18,21,24和30所示,移動(dòng)到處理目標(biāo)元素的元素起點(diǎn)a4和元素終點(diǎn)a5之間的元素中點(diǎn)b上而得到的粘貼組件數(shù)據(jù)。
這些步驟之后,程序轉(zhuǎn)入步驟S56。
步驟S55,在PIERROT字體的情況下,由粘貼組件數(shù)據(jù)修改器25確定,經(jīng)受了上述按比例縮放過(guò)程和旋轉(zhuǎn)過(guò)程的組件77b的原點(diǎn),如圖27B所示,移動(dòng)到處理目標(biāo)元素的元素終點(diǎn)a5而得到的粘貼組件數(shù)據(jù)。
步驟S56,經(jīng)受了上述按比例縮放過(guò)程、旋轉(zhuǎn)過(guò)程和移動(dòng)過(guò)程的粘貼組件數(shù)據(jù),由數(shù)據(jù)合成器26存入主存儲(chǔ)器13的輸出緩沖器22。
步驟S57,字形識(shí)別器24決定在步驟S53中讀入的多邊形信息47中的全部處理目標(biāo)元素的過(guò)程是否都已都完成。結(jié)果,如果這些過(guò)程完成了,則程序轉(zhuǎn)向步驟S58;否則,程序返回步驟S6,進(jìn)行下一個(gè)處理目標(biāo)元素的識(shí)別過(guò)程。
這個(gè)決定是根據(jù)在步驟S56儲(chǔ)存在輸出緩中器22內(nèi)的粘貼組件數(shù)據(jù)套數(shù)與在步驟S5查找出的處理目標(biāo)元素的數(shù)目一致而作出的。
步驟S58,在步驟S3讀出并儲(chǔ)存在工作存儲(chǔ)器27中的多邊形信息47,由數(shù)據(jù)合成器26存入輸出緩沖器22。
在這一方面,在步驟S56中儲(chǔ)存在輸出緩沖器22內(nèi)的粘貼組件數(shù)據(jù),已在步驟S53,步驟S54或步驟S55中定位,使得根據(jù)在這一步驟中儲(chǔ)存的點(diǎn)信息47,重疊在多邊形71的處理目標(biāo)元素上。所以,在這一步驟完成的時(shí)刻,如圖18,21,24,27或30所示,已經(jīng)粘貼了對(duì)應(yīng)于多邊形71的元素的粘貼組件的輪廓字符數(shù)據(jù)已經(jīng)儲(chǔ)存在輸出緩沖器22中了。
步驟S59,字形識(shí)別器24決定,在步驟S2中讀出的輪廓字符數(shù)據(jù)中的全部多邊形,是否已經(jīng)處理完畢。結(jié)果,如果處理完畢,則程序轉(zhuǎn)至步驟S60,否則,返回步驟S3,處理下一個(gè)多邊形。
這個(gè)決定是根據(jù)在步驟S58儲(chǔ)存在輸出緩沖器22內(nèi)的多邊形信息套數(shù)是否跟構(gòu)成儲(chǔ)存在輸出緩沖器22內(nèi)的輪廓字符數(shù)據(jù)中的字符碼的相應(yīng)字符的多邊形的數(shù)目一致而作出的。
步驟S60,把儲(chǔ)存在輸出緩沖器22內(nèi)的一個(gè)字符的輪廓字符數(shù)據(jù)轉(zhuǎn)移到位圖存儲(chǔ)器15或輔助存儲(chǔ)器12中。這一步驟完成之后,字符產(chǎn)生過(guò)程的操作即已完成。
應(yīng)該指出,轉(zhuǎn)移至位圖存儲(chǔ)器15的輪廓字符數(shù)據(jù),變成位圖數(shù)據(jù)后,不是在顯示裝置16上顯示,就是由輸出裝置17打印出來(lái)。
如前所述,在這個(gè)實(shí)施例中,基本字體的輪廓字符數(shù)據(jù)是儲(chǔ)存在輔助存儲(chǔ)器12的輪廓字符數(shù)據(jù)中的,而作為粘貼組件輪廓字符數(shù)據(jù)的粘貼組件數(shù)據(jù)則儲(chǔ)存在粘貼組件數(shù)據(jù)存儲(chǔ)器20中。這時(shí),根據(jù)從鍵盤輸入的字體碼和字符號(hào),構(gòu)成CPU14的字形識(shí)別器24和粘貼組件數(shù)據(jù)修改器25,根據(jù)對(duì)修改信息35的參照結(jié)果,對(duì)參照組件號(hào)34而獲得的粘貼組件進(jìn)行按比例縮放、旋轉(zhuǎn)和移動(dòng),并粘貼在參照根據(jù)輸入的字體碼而儲(chǔ)存在字體屬性存儲(chǔ)器18的基本字體碼33而獲得的基本字體中的字符的處理目標(biāo)元素上。
所以,按照本實(shí)施例,為了產(chǎn)生新字體的字符數(shù)據(jù),不必由設(shè)計(jì)者一個(gè)一個(gè)地設(shè)計(jì)字符。而是只要輸入字體碼和字符號(hào),就能自動(dòng)產(chǎn)生新字體的字符數(shù)據(jù)。如前所述,在這個(gè)過(guò)程中,基本字體元素的外形,已經(jīng)由于在該基本字符的處理目標(biāo)元素上貼上了粘貼組件而發(fā)生了變化。這樣,不必計(jì)算新的繪圖點(diǎn)或者刪除/連接繪圖點(diǎn),很容易就能以小的數(shù)據(jù)量和較少的研制人力,實(shí)現(xiàn)高級(jí)多字體系統(tǒng)。
字形識(shí)別器24計(jì)算處理目標(biāo)元素的長(zhǎng)度和角度,以及處理目標(biāo)元素所屬的筆畫的角度。粘貼組件數(shù)據(jù)修改器25,根據(jù)處理目標(biāo)元素的長(zhǎng)度對(duì)粘貼組件進(jìn)行按比例縮放,然后根據(jù)處理目標(biāo)元素或筆畫的角度對(duì)它進(jìn)行旋轉(zhuǎn),從而確定粘貼組件數(shù)據(jù)。數(shù)據(jù)識(shí)別器26將經(jīng)過(guò)比例縮放過(guò)程和旋轉(zhuǎn)過(guò)程而得到的粘貼組件數(shù)據(jù),迭加在基本字符的處理目標(biāo)元素的輪廓字符數(shù)據(jù)上,便產(chǎn)生出輪廓字符數(shù)據(jù)。
因此,不論處理目標(biāo)元素的長(zhǎng)度和傾斜角多大,都能將適當(dāng)尺寸的粘貼組件,以適當(dāng)?shù)慕嵌荣N在處理目標(biāo)元素上。
另外,字形識(shí)別器24是這樣安排的,使得它能既根據(jù)與字體碼有關(guān)的字體屬性的修改信息35,又根據(jù)賦于多邊形信息47的點(diǎn)信息48的標(biāo)志51到56,決定粘貼組件的粘貼方法,例如選擇是否進(jìn)行組件粘貼、選擇組件的類型、選擇是否對(duì)組件進(jìn)行按比例縮放、選擇粘貼的基準(zhǔn)點(diǎn)等。
相應(yīng)地,通過(guò)將修改信息35和標(biāo)志51至56設(shè)置成最優(yōu)值,就可以避免組件與組件之間或組件與筆畫之間的接觸而造成的任何崩潰,以免降低字符的質(zhì)量。即使對(duì)于相同的字體相同的元素,也可以為產(chǎn)生不同的字體而改變粘貼方法。這樣,就可能開發(fā)出多種多樣的新穎字體。
在這個(gè)實(shí)施例中,準(zhǔn)備在CPU14的控制下執(zhí)行的字符產(chǎn)生過(guò)程算法并不限于圖6至圖11所示的流程。
例如,在本實(shí)施例中字符發(fā)生過(guò)程的流程圖中,作了這樣的安排,即對(duì)于準(zhǔn)備產(chǎn)生的一種字體,所有的粘貼組件一律根據(jù)處理目標(biāo)元素的長(zhǎng)度來(lái)決定是否進(jìn)行按比例縮放。但是,可以修改該流程圖,加上修改屬性標(biāo)志,以便能夠?qū)崿F(xiàn)這樣的組合,即只有特定的元素才進(jìn)行按比例縮放,而其他元素則不。
還可以和改變基本字體筆畫寬度的裝置結(jié)合起來(lái),如圖30所示,將經(jīng)過(guò)按比例縮放及旋轉(zhuǎn)的粘貼組件迭加在例如多邊形71上,而后者如圖25B所示,通過(guò)將每個(gè)筆畫的線寬度變窄而已經(jīng)收窄了。
另外,雖然在這個(gè)實(shí)施例中字符數(shù)據(jù)是用直線和貝賽爾曲線逼近多邊形輪廓而獲得的輪廓字符數(shù)據(jù),但本發(fā)明并不限于這一安排。唯一的要求是字符數(shù)據(jù)允許字符的外形最終轉(zhuǎn)變成輪廓。
由上述可以清楚看出,當(dāng)要產(chǎn)生的字體已經(jīng)從輸入段輸入時(shí),參照已經(jīng)存于字體屬性存儲(chǔ)器中的字體屬性,將指定字體的基本字符的字符數(shù)據(jù)讀出,字形識(shí)別器根據(jù)字符數(shù)據(jù)識(shí)別處理目標(biāo)元素的形狀。然后,組件數(shù)據(jù)修改器參照字體屬性修改組件數(shù)據(jù),使所用的組件大小和方位都與處理目標(biāo)元素相匹配。然后,數(shù)據(jù)合成器把字形識(shí)別器讀出的字符數(shù)據(jù)和組件數(shù)據(jù)修改器修改過(guò)的組件數(shù)據(jù)加以合成,從而產(chǎn)生將組件迭加在基本字符上之后的字符數(shù)據(jù)。這樣,不必計(jì)算新的繪圖點(diǎn)或者刪除/連接繪圖點(diǎn),而只要通過(guò)修改和迭加組件數(shù)據(jù),就能產(chǎn)生新字體的字符數(shù)據(jù)。
于是,按照本發(fā)明,以很少量的開發(fā)人力,不必增加數(shù)據(jù)量,就很容易實(shí)現(xiàn)多字體系統(tǒng)。
另外,既然組件數(shù)據(jù)經(jīng)過(guò)修改,使組件的大小和方位都與處理目標(biāo)部分匹配,這樣,不論處理目標(biāo)部分的外形如何,把組件迭加在處理目標(biāo)部分之后都能給人一種自然的感覺(jué)。
在一個(gè)實(shí)施例中,字符數(shù)據(jù)具有針對(duì)基本字符的處理目標(biāo)和針對(duì)要產(chǎn)生的不同字體的迭加信息。所以,即使是同一個(gè)字符,也可以針對(duì)處理目標(biāo)部分和針對(duì)需要產(chǎn)生的字體,改變迭加方法。
在一個(gè)實(shí)施例中,字符發(fā)生裝置中的字形識(shí)別器,既參照字體屬性的修改信息,又參照字符數(shù)據(jù)的迭加信息,來(lái)決定迭加方法,然后,再根據(jù)決定的結(jié)果識(shí)別字形。這樣,即使對(duì)于同一個(gè)字符,也可以針對(duì)每一個(gè)處理目標(biāo)部分和針對(duì)每一種需要產(chǎn)生的字體,改變迭加方法,從而避免由于組件之間的和組件與處理目標(biāo)部分之間的接觸而造成的程序崩潰。
這樣,按照這個(gè)實(shí)施例,例如,用POP字符作為基本字體產(chǎn)生PIERROT字體,如圖14D所示,根據(jù)情況將基準(zhǔn)點(diǎn)改成元素起點(diǎn)或者元素終點(diǎn),迭加或者不迭加粘貼組件,就可以使組件77與筆畫避免彼此接觸。
在一個(gè)實(shí)施例中,字符發(fā)生裝置中的字形識(shí)別器識(shí)別基本字符元素的長(zhǎng)度。于是,就可以按比例縮放組件,使之與基本字符的元素相匹配。
在一個(gè)實(shí)施例中,字符發(fā)生裝置中的字形識(shí)別器,識(shí)別基本字符的元素及其所屬的筆畫這兩者中至少一個(gè)的傾斜角。所以,組件可以與元素或筆畫的傾斜角相匹配的傾斜角進(jìn)行迭加。
這樣,按照這個(gè)實(shí)施例,可以產(chǎn)生出這樣的字體的字符,即其元素所屬的筆畫的走向被擋住,如圖14A所示,筆力實(shí)際上放在那里;或者如圖14B所示,產(chǎn)生符合筆畫走向,使人感到自然的字體的字符。
在一個(gè)實(shí)施例中,字符發(fā)生裝置中的組件數(shù)據(jù)修改器對(duì)組件數(shù)據(jù)進(jìn)行修改,使得準(zhǔn)備使用的組件的長(zhǎng)度與處理目標(biāo)部分的長(zhǎng)度相匹配,或者使得傾斜角與組件和筆畫兩者這至少一個(gè)的傾斜角相匹配。所以,可以對(duì)準(zhǔn)備使用的組件進(jìn)行按比例縮放和旋轉(zhuǎn),使之與元素的長(zhǎng)度相匹配,或與元素或筆畫的傾斜角相匹配。
這樣,按照本實(shí)施例,組件可以協(xié)調(diào)的長(zhǎng)度和傾斜角,迭加在基本字體的字符元素上,故可產(chǎn)生出使人感到自然的字體的字符。
盡管這樣描述了本發(fā)明,但顯然可以作各種各樣的改變。這些改變不會(huì)被認(rèn)為是脫離本發(fā)明的精神和范圍,對(duì)于本專業(yè)的普通技術(shù)人員來(lái)說(shuō),這些變化顯然包括在下列權(quán)利要求的范圍之內(nèi)。
權(quán)利要求
1.一種通過(guò)將一種外形的組件迭加在基本字體的字符的處理目標(biāo)部分上,改變?cè)撎幚砟繕?biāo)部分的外形,來(lái)產(chǎn)生新字體字符的字符發(fā)生裝置,其特點(diǎn)征于它包括用來(lái)儲(chǔ)存包括表示字體的字體碼、字體名、表示用作有關(guān)字體的基礎(chǔ)的字體的基本字體碼、表示產(chǎn)生該字體用的組件的組件碼、以及產(chǎn)生該字體用的修改信息的字體屬性的字體屬性存儲(chǔ)器,儲(chǔ)存代表基本字體中字符外形的字符數(shù)據(jù)用的字符數(shù)據(jù)存儲(chǔ)器,儲(chǔ)存代表組件外形的組件數(shù)據(jù)用的組件數(shù)據(jù)存儲(chǔ)器,用來(lái)規(guī)定準(zhǔn)備產(chǎn)生的字體的輸入段,用來(lái)參照字體屬性,從字符數(shù)據(jù)存儲(chǔ)器讀出作為輸入段規(guī)定的字體基礎(chǔ)的字體的字符數(shù)據(jù),并根據(jù)讀出的字符數(shù)據(jù)識(shí)別基本字體中字符處理目標(biāo)部分的形狀的字形識(shí)別器,用來(lái)參照字體屬性,從組件數(shù)據(jù)存儲(chǔ)器讀出產(chǎn)生輸入段所規(guī)定的字體用的組件數(shù)據(jù),并根據(jù)處理目標(biāo)部分的形狀,修改讀出的組件數(shù)據(jù),使準(zhǔn)備使用的組件的大小和角度與處理目標(biāo)部分的形狀相匹配的組件數(shù)據(jù)修改器,用來(lái)既根據(jù)字形識(shí)別器讀出的基本字體字符數(shù)據(jù),又根據(jù)經(jīng)過(guò)組件數(shù)據(jù)修改器修改的組件數(shù)據(jù),將該組件迭加在基本字體字符的處理目標(biāo)部分上,產(chǎn)生規(guī)定字體的字符的字符數(shù)據(jù)的數(shù)據(jù)合成器。
2.按照權(quán)利要求1的字符發(fā)生裝置,其特征在于儲(chǔ)存在字符數(shù)據(jù)存儲(chǔ)器內(nèi)的字符數(shù)據(jù),具有準(zhǔn)備針對(duì)基本字體字符每個(gè)個(gè)別的處理目標(biāo)部分,和針對(duì)準(zhǔn)備產(chǎn)生的每種個(gè)別的字體,用于組件迭加的迭加信息。
3.按照權(quán)利要求2的字符發(fā)生裝置,其特征在于字形識(shí)別器參照字體屬性的修改信息以及相應(yīng)的字體,讀出的字符數(shù)據(jù)中的處理目標(biāo)部分的迭加信息,決定組件迭加方法,并根據(jù)這個(gè)決定的結(jié)果,完成形狀的識(shí)別。
4.按照權(quán)利要求1的字符發(fā)生裝置,其特征在于其形狀由字形識(shí)別器識(shí)別的處理目標(biāo)部分,是作為構(gòu)成該字符任何一個(gè)筆畫端部的元素,以及字形識(shí)別器識(shí)別基本字體字符中的元素的長(zhǎng)度。
5.按照權(quán)利要求1的字符發(fā)生裝置,其特征在于其形狀由字形識(shí)別器識(shí)別的處理目標(biāo)部分,是構(gòu)成該字符的筆畫以及作為該筆畫端部的元素,以及字形識(shí)別器識(shí)別基本字體字符中的元素和該元素所屬的筆畫兩者中至少一個(gè)的傾斜角。
6.按照權(quán)利要求4的字符發(fā)生裝置,其特征在于組件數(shù)據(jù)修改器修改組件數(shù)據(jù),使準(zhǔn)備使用的組件的長(zhǎng)度與元素的長(zhǎng)度相匹配,使準(zhǔn)備使用的組件的傾斜角與元素和筆畫兩者中至少一個(gè)的傾斜角相匹配。
7.按照權(quán)利要求5的字符發(fā)生裝置,其特征在于組件數(shù)據(jù)修改器修改組件數(shù)據(jù),使準(zhǔn)備使用的組件的長(zhǎng)度與元素的長(zhǎng)度相匹配,使準(zhǔn)備使用的組件的傾斜角與元素和筆畫兩者中至少一個(gè)的傾斜角相匹配。
全文摘要
提供既易于實(shí)現(xiàn)多字體系統(tǒng),又不增大數(shù)據(jù)量的字符發(fā)生裝置?;咀煮w的字符數(shù)據(jù)儲(chǔ)存在字符數(shù)據(jù)存儲(chǔ)器里;而粘貼組件數(shù)據(jù)儲(chǔ)存在粘貼組件數(shù)據(jù)存儲(chǔ)器里。字形識(shí)別器根據(jù)鍵盤規(guī)定的字體碼和字符號(hào),參照字體屬性,計(jì)算處理目標(biāo)元素的長(zhǎng)度和角度及處理目標(biāo)元素所屬筆畫的角度。粘貼組件數(shù)據(jù)修改器參照字體屬性對(duì)選定的粘貼組件數(shù)據(jù)進(jìn)行按比例縮放和旋轉(zhuǎn)過(guò)程。數(shù)據(jù)合成器將按比例縮放和旋轉(zhuǎn)后的粘貼組件數(shù)據(jù)迭加在處理目標(biāo)元素上,產(chǎn)生字符數(shù)據(jù)。
文檔編號(hào)G09G5/24GK1157979SQ9612284
公開日1997年8月27日 申請(qǐng)日期1996年10月11日 優(yōu)先權(quán)日1995年10月13日
發(fā)明者今城佳子, 長(zhǎng)谷川進(jìn), 紺矢峰弘, 信貴豐, 藤澤雅之, 伊藤愛(ài) 申請(qǐng)人:夏普公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
南川市| 亚东县| 西昌市| 宕昌县| 荣昌县| 寻乌县| 安福县| 栾川县| 宜兰市| 兴仁县| 定襄县| 广德县| 资中县| 乐东| 乌鲁木齐市| 大足县| 辽宁省| 班玛县| 金乡县| 山东省| 盘锦市| 卓资县| 犍为县| 阿合奇县| 徐汇区| 冷水江市| 高碑店市| 红桥区| 崇仁县| 安仁县| 喜德县| 平湖市| 罗源县| 辉南县| 华蓥市| 米林县| 温宿县| 辛集市| 靖宇县| 伊通| 富顺县|