專利名稱:字符處理設(shè)備和字符處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用字符外形的坐標(biāo)數(shù)據(jù)來改變編碼字符粗細(xì)的字符處理設(shè)備,及其方法。
為了將貯存在點(diǎn)位圖中的外形坐標(biāo)數(shù)據(jù)顯象,輸出一個字符,傳統(tǒng)的方法是讀出存在ROM或硬盤中的字符外形坐標(biāo)數(shù)據(jù),然后乘以放大或縮小比率,便將坐標(biāo)數(shù)據(jù)轉(zhuǎn)換為所希望的尺寸。然后利用該結(jié)果數(shù)據(jù)來準(zhǔn)備由點(diǎn)組成的格式,從而獲得字符數(shù)據(jù)。
在這種情況下,如果字符的權(quán)(粗細(xì)度或黑體值)不同,既使它們?yōu)橥N字體,也需要每一個字符的坐標(biāo)數(shù)據(jù)。但是對于日文字體來說,每一種字體需要有8000個字符,用于每一種字體的外形數(shù)據(jù)的存儲容量將在1M字節(jié)到3M字節(jié)范圍內(nèi)。如果給出每一種權(quán)的外形坐標(biāo)數(shù)據(jù),必須提供巨大的存儲容量。
因此,從一種字體的數(shù)據(jù)出發(fā),同一種字體但不同權(quán)的數(shù)據(jù)是通過由三點(diǎn)得到的加粗量或變細(xì)量信息計(jì)算而得。三個點(diǎn)是一個目標(biāo)坐標(biāo)點(diǎn)和兩個相鄰點(diǎn)(見日本專利申請?zhí)?—309555和5—309556,均由本申請人在此前提交的)。
然而,在上述情況下,當(dāng)一條要變換的線是一條折成一個例如30度的銳角的線時,它也是由三點(diǎn)形成,目標(biāo)點(diǎn)位于字符區(qū)域以外,字符的形狀便大為不清晰。
為了克服以上問題,本發(fā)明的一個目的是從至少一種字體的數(shù)據(jù),產(chǎn)生出同一字體不同權(quán)(粗細(xì)度)的高質(zhì)量字符的數(shù)據(jù),并且利用很小的存儲容量產(chǎn)生出各種權(quán)的字符數(shù)據(jù)。
為了達(dá)到以上目的,根據(jù)本發(fā)明,儲存由外形數(shù)據(jù)形成的字符數(shù)據(jù),利用外形數(shù)據(jù)產(chǎn)生字符圖形,輸入加粗量信息或變細(xì)量信息,使字符圖形變粗或變細(xì),根據(jù)輸入的加粗量信息或變細(xì)量信息,變換所儲存的外形數(shù)據(jù)的坐標(biāo)值,在進(jìn)行變換時確定外形形狀,根據(jù)確定結(jié)果,調(diào)整要變換的坐標(biāo),利用變換確定和坐標(biāo)的調(diào)整的結(jié)果得到的外形數(shù)據(jù),來產(chǎn)生粗或細(xì)的字符圖形。
根據(jù)本發(fā)明,儲存不同粗細(xì)的多組字符數(shù)據(jù),其中,每個字符由多個外形數(shù)據(jù)形成;根據(jù)所儲存的外形數(shù)據(jù),產(chǎn)生出具有不同的加粗量信息的字符圖形;輸入加粗量信息或變細(xì)量信息,使字符圖形加粗或變細(xì);利用輸入的加粗量信息或變細(xì)量信息選擇要變換的字符數(shù)據(jù);轉(zhuǎn)換對應(yīng)于所選擇的字符數(shù)據(jù)的外形數(shù)據(jù)的坐標(biāo)值;在變換以前確定外形的形狀;根據(jù)確定的結(jié)果,進(jìn)行坐標(biāo)調(diào)整,以便改變變換的結(jié)果;利用由變換、確定和坐標(biāo)調(diào)整所得到的外形數(shù)據(jù)來產(chǎn)生粗或細(xì)的字符圖形。
在選擇時,選擇粗細(xì)度接近于所輸入的加粗量信息或變細(xì)量信息的那一字符的數(shù)據(jù),作為要變換的字符數(shù)據(jù)。
在變換時,參考與目標(biāo)坐標(biāo)相鄰的兩點(diǎn)坐標(biāo)值,可以確定一組變換坐標(biāo)。
在輸入時,可以在x方向和在y方向輸入加粗量信息或變細(xì)量信息參數(shù),在變換時,可以獨(dú)立地改變x方向和y方向的加粗量信息和變細(xì)量信息。
在確定時,在參考與目標(biāo)坐標(biāo)相鄰近的兩點(diǎn)的目標(biāo)坐標(biāo)時,可以由三個點(diǎn)所形成的角度和一個輸入值來確定加粗量信息和變細(xì)量信息,并且由目標(biāo)字體來確定外形形狀。
在坐標(biāo)調(diào)整時,可以用插入兩個新的點(diǎn),而不采用變換時所獲得的坐標(biāo)值來獲得坐標(biāo)。
在坐標(biāo)調(diào)整時,用插入兩個新的點(diǎn)形成一條曲線,而不用變換時獲得的坐標(biāo)值,獲得坐標(biāo)。
通過移動變換時獲得的坐標(biāo)值,來進(jìn)行坐標(biāo)調(diào)整。
根據(jù)本發(fā)明,按照所輸入的加粗量信息和變細(xì)量信息,獨(dú)立地改變在x方向和y方向提取的外形數(shù)據(jù),來進(jìn)行變換。便產(chǎn)生出能反映出每一種字體特征的黑體或淺體字符圖形。
根據(jù)本發(fā)明,參考目標(biāo)坐標(biāo)和兩個相鄰點(diǎn)的坐標(biāo)值,并且通過檢查是否由三個點(diǎn)形成一個角度和一個輸入值來表明加粗量信息和變細(xì)量信息,以及由目標(biāo)字體來確定外形的形狀。從而產(chǎn)生出高質(zhì)量的黑體或淺體字符圖形。
根據(jù)本發(fā)明,由于在選擇加粗量信息時,插入一個新的點(diǎn)作為目標(biāo)點(diǎn),來進(jìn)行坐標(biāo)調(diào)整,便產(chǎn)生出高質(zhì)量的黑體字圖形。
根據(jù)本發(fā)明,由于在選定加粗量信息時,插入一個新的點(diǎn)作為目標(biāo)點(diǎn),并且對角邊緣作圓滑處理來進(jìn)行坐標(biāo)調(diào)整,便產(chǎn)生出能反映出每一種字體特征的最佳黑體字符圖形。
根據(jù)本發(fā)明,如果在選定變細(xì)量信息時,用移動目標(biāo)點(diǎn)來進(jìn)行坐標(biāo)調(diào)整,便產(chǎn)生出高質(zhì)量的淺體字符圖形。
根據(jù)本發(fā)明,對于數(shù)據(jù)產(chǎn)生來說,無論輸出點(diǎn)位圖化的字體,外形數(shù)據(jù),或者是灰體字,與所變換的外形數(shù)據(jù)一致,黑體或淺體字符數(shù)據(jù)以適當(dāng)?shù)臄?shù)據(jù)形式傳輸?shù)礁鞣N輸出裝置上。
外形數(shù)據(jù)可以包括有交叉筆劃的多個外形數(shù)據(jù),或包括無筆劃交叉的多個外形數(shù)據(jù)。
在準(zhǔn)備字符數(shù)據(jù)時,可以輸出點(diǎn)位圖化字形或灰體字形。
在準(zhǔn)備字符數(shù)據(jù)時,也可以輸出外形數(shù)據(jù)。
外形數(shù)據(jù)可以由有交叉筆劃的多個外形數(shù)據(jù)組成。
外形數(shù)據(jù)可以由無交叉筆劃的多個外形數(shù)據(jù)組成。
在本發(fā)明中,根據(jù)輸入加粗量信息和變細(xì)量信息轉(zhuǎn)換外形數(shù)據(jù)的坐標(biāo)值,提取要調(diào)整的坐標(biāo)值并進(jìn)行調(diào)整,利用調(diào)整了的外形數(shù)據(jù)來產(chǎn)生粗或細(xì)的字符圖形。僅用少量字符數(shù)據(jù)便可以提供有不同粗細(xì)度的高質(zhì)量黑體或淺體字。
在本發(fā)明中,與輸入的加粗量信息或變細(xì)量信息一致確定要改變的字符數(shù)據(jù),變換與所確定的字符對應(yīng)的外形數(shù)據(jù),利用坐標(biāo)已經(jīng)變換了的外形數(shù)據(jù)來產(chǎn)生粗或細(xì)的字符圖形。利用字符數(shù)據(jù)源來提供最好的黑體或淺體字符數(shù)據(jù)。
在本發(fā)明中,粗細(xì)度接近于所輸入的加粗量信息或變細(xì)量信號的那一字符的數(shù)據(jù)被確定作為要變換的字符數(shù)據(jù),所以產(chǎn)生出更精確的黑體或淺體字符。
此外,在本發(fā)明中,參考與目標(biāo)坐標(biāo)相鄰兩點(diǎn)的坐標(biāo)值,以便確定一組變換的坐標(biāo)。提供出一個非常平衡的黑體或淺體字符圖形。
圖1為示出本發(fā)明內(nèi)部結(jié)構(gòu)的框圖;圖2為示出本發(fā)明另一種內(nèi)部結(jié)構(gòu)的框圖;圖3由圖3A和圖3B組成,所示為根據(jù)本發(fā)明用筆劃來處理外形字形的流程圖4所示為根據(jù)本發(fā)明方法,用筆劃解釋外形字形;圖5所示為用筆劃給出的外形坐標(biāo)數(shù)據(jù)的格式;圖6為根據(jù)本發(fā)明變換的一個外形字形;圖7所示為如何從坐標(biāo)數(shù)據(jù)得到繪字表;圖8所示為如何分析第三貝茲爾(Bezier)曲線;圖9所示為如何從繪字表得到點(diǎn)位圖字形;圖10由圖10A和10B組成,所示為加粗過程的詳細(xì)流程圖;圖11A和11B所示為對mincho體字符的加粗過程;圖12A和12B所示為對粗、圓形gothic體字符的加粗過程;圖13為用以確定加粗參數(shù)的表格;圖14為加粗過程圖;圖15所示為具有正加粗量信息和在銳角上的點(diǎn)如何進(jìn)行分割;圖16所示為被分割的點(diǎn)被連接成圓滑形;圖17所示為呈加粗信息為負(fù)值時,如何處理銳角;圖18所示為進(jìn)行加粗過程中出現(xiàn)問題的狀態(tài);圖19為本發(fā)明另一種實(shí)施例的一般處理過程的流程圖;圖20A和20B為用于確定加粗參數(shù)的表格;圖21所示為把字體改變?yōu)榛殷w字形所產(chǎn)生的點(diǎn)位圖;圖22由圖22A和22B組成,為本發(fā)明另一種實(shí)施例的一般處理過程的流程圖;圖23A至23C為把一種字體變成灰體字形的基本概念圖;圖24所示為如何將一種字體變成灰體字形;圖25所示為當(dāng)字體變成灰體時的點(diǎn)位圖;圖26說明本發(fā)明所采用的無交叉筆劃外形的外形字形;
圖27說明本發(fā)明轉(zhuǎn)換的無交叉筆劃外形的外形字形;圖28所示為用無交叉筆劃外形的坐標(biāo)數(shù)據(jù)格式;圖29由圖29A和29B組成,為根據(jù)本發(fā)明對無交叉筆劃外形字形的一般處理過程;圖30所示為用坐標(biāo)數(shù)據(jù)繪字的XOR(異或)平面;圖31所示為采用坐標(biāo)數(shù)據(jù)給出的一個外形OR(或)平面;圖32所示為在繪字平面上進(jìn)行繪字情況;圖33所示為如何產(chǎn)生點(diǎn)位圖化字形;圖34由圖34A和34B組成,所示為對于一個無交叉筆劃的外形的外形數(shù)據(jù)加粗過程的詳細(xì)流程圖;圖35所示為說明對一起始點(diǎn)試探性移動;圖36所示為加粗以后得到的mincho字體;圖37所示為處理以后的圓形gothic字體;圖38為用于確定加粗參數(shù)的表格;圖39所示為正在進(jìn)行加粗過程的狀態(tài);圖40為確定內(nèi)部外形和外部外形過程的流程圖;圖41為說明內(nèi)部外形的確定;圖42為說明外部外形的確定;圖43A和43B為確定加粗參數(shù)的表格;圖44由圖44A和44B組成,所示為產(chǎn)生灰體字的流程圖。
現(xiàn)在參考附圖來解釋本發(fā)明的最佳實(shí)施圖。
圖1為本發(fā)明采用的系統(tǒng)基本結(jié)構(gòu)的框圖。本發(fā)明所采用的系統(tǒng)可以是日本文字處理器,或者是一臺工作站或一個計(jì)算機(jī)系統(tǒng)。
在圖1中,由一個CPU(中央處理單元)1控制整個裝置,并且進(jìn)行計(jì)算。ROM2是系統(tǒng)執(zhí)行程序,字符圖形數(shù)據(jù)等的儲存區(qū)域。RAM3是數(shù)據(jù)存儲區(qū),它沒有使用限制,每一種過程的各種程序和數(shù)據(jù)存在其中,并且隨后被執(zhí)行。KBC(鍵盤控制器)4從KB(鍵盤)5接收輸入數(shù)據(jù),并將它傳送到CPV1,CRTC6是顯示控制器,作為顯示裝置的CRT7從CRTC6接收數(shù)據(jù)。外部存儲設(shè)備9可以是FD(軟盤),也可以是HD(硬盤),用于貯存需要時被訪問或裝入RAM的程序或數(shù)據(jù)。DKC(磁盤控制器)8控制數(shù)據(jù)傳送。PRTC10為打印機(jī)控制器,PRT11為打印機(jī)。系統(tǒng)總線12用來作為上述各部件之間的數(shù)據(jù)通道。
圖2也是一個框圖,示出本發(fā)明系統(tǒng)的基本結(jié)構(gòu)。該系統(tǒng)可以包括一臺激光打印機(jī),它從主機(jī)(圖中未畫出)接收打印數(shù)據(jù)(圖象數(shù)據(jù),字符碼,命令等),并且進(jìn)行打印,或者包括一臺噴墨打印機(jī)或者一臺熱傳送輸出機(jī)。在圖2中,CPV21控制整個裝置,并且進(jìn)行計(jì)算。ROM(只讀存儲器)22是系統(tǒng)執(zhí)行程序,字符圖形數(shù)據(jù)等的存儲區(qū)。RAM(隨機(jī)存取存儲器)23是數(shù)據(jù)存儲區(qū),它沒有使用限制,每一個過程的各種程序和數(shù)據(jù)都存在其中并進(jìn)行運(yùn)算。PRTC10是一臺輸出控制器,PRT11是打印機(jī),它從PRTC10接收數(shù)據(jù),并且打印數(shù)據(jù)。[第一實(shí)施例]現(xiàn)在參考圖3A和3B說明本發(fā)明的第一實(shí)施例的細(xì)節(jié)。在圖3A和3B中給出了由形成一個字符的筆劃所組成的外形分段坐標(biāo)數(shù)據(jù)表示的字符數(shù)據(jù)的一般處理過程。用這些筆劃所形成的外形是一種筆劃相互交叉的外形。在本文所要說明的例子中,如果系統(tǒng)中只有一種不同權(quán)(粗細(xì)度)的相同字體,用這些數(shù)據(jù)來產(chǎn)生不同權(quán)的數(shù)據(jù)。
在第3-1步中,由在圖1所示系統(tǒng)中,或者在向圖2所示系統(tǒng)提供數(shù)據(jù)的主機(jī)(圖中未畫出)中所執(zhí)行的應(yīng)用程序接收輸入?yún)?shù)。輸入?yún)?shù)是要輸出字符的字符碼,字體,權(quán),輸出尺寸和輸出形式等等。通過規(guī)定采用哪一種字符碼系統(tǒng)作為目標(biāo)系統(tǒng)JIS碼,移動JIS碼,EVC碼或VNI碼,來確定使用的字符碼。從事先裝在系統(tǒng)中的字體mincho,gothic,圓形goghic等的數(shù)據(jù)中選擇字體,也可以從作為可選擇項(xiàng)加入的數(shù)據(jù)中選擇字體。權(quán)是涉及字體中線條粗細(xì)度的信息,在本實(shí)施例中,給出了特細(xì),細(xì),中,粗,特粗幾種信息。字符的輸出尺寸是有關(guān)實(shí)際輸出字形數(shù)據(jù)的尺寸的信息。輸出形式是一種所希望的字形的輸出數(shù)據(jù)形式,發(fā)出輸出外形坐標(biāo)數(shù)據(jù)和點(diǎn)位圖的申請。
在第3-2步中讀入目標(biāo)字符的坐標(biāo)數(shù)據(jù)。這一數(shù)據(jù)事先存在ROM或RAM中,或存在硬盤或炊盤中。在第3-1步中獲得的字體信息和字符碼信息被用來尋找上述的坐標(biāo)數(shù)據(jù),并按要求的量將它讀入。此時所取得的輸入信息是坐標(biāo)信號,從中可獲得一個字符外形的特征點(diǎn),如圖4中所示,為每一點(diǎn)提供了屬性信息,例如確定線性線條數(shù)據(jù)/曲線數(shù)據(jù)標(biāo)志和外形起點(diǎn)/終點(diǎn)標(biāo)志。雖然內(nèi)插曲線數(shù)據(jù)的表達(dá)式可以是第二或第二B樣條曲線,或者是第二或第三貝茲爾曲線,所采用的內(nèi)插表達(dá)式是事先選定的。表示字符框的最小坐標(biāo)值用0表示,最大值用800表示。進(jìn)而,從字符的原點(diǎn)到參考點(diǎn)沿著每一筆劃的框有一偏置信息。坐標(biāo)數(shù)據(jù)以圖5所示的格式存在ROM等中。
在第3-3步中,與輸入?yún)?shù)中的權(quán)信息一致,對所獲得的坐標(biāo)數(shù)據(jù)進(jìn)行加粗或變細(xì)處理。以后參考圖10A和10B中的流程圖,將詳細(xì)敘述這一過程。通過加粗/變細(xì)處理以后得到的結(jié)果,外形分段的坐標(biāo)變換為加粗/變細(xì)坐標(biāo)。圖6所示為圖4所示字體的坐標(biāo)變換為加粗坐標(biāo)后得到的一個字符。在加粗/變細(xì)處理以前的坐標(biāo)點(diǎn)與這一處理完成以后的坐標(biāo)點(diǎn)相互分別對應(yīng),并且每一點(diǎn)的屬性標(biāo)志并不改變。在第3-4步中,對于從第3-3步加粗/變細(xì)處理得到的坐標(biāo)數(shù)據(jù)進(jìn)行放大/縮小處理,與輸入?yún)?shù)中的輸出尺寸一致。假設(shè)所要求的輸出尺寸是(Ax,Ay),在第3-3步獲得的每一個坐標(biāo)值是(x,y),在完成放大/縮小處理以后得到的每一坐標(biāo)值是(X,Y),字符框架的儲存尺寸為(Mx,My),由公式1所表示的坐標(biāo)值(X,Y)為(X,Y)=(x×Ax/Mx,y×Ay/My)(1)用以上公式計(jì)算一個字符坐標(biāo)的全部行。在第3-3步中得到的每一坐標(biāo)的屬性標(biāo)志不改變。
在第3-5步中,檢查輸入?yún)?shù)的輸出形式。如果輸出形式是外形坐標(biāo)數(shù)據(jù)輸出,程序控制前進(jìn)到第3-6步,在那里使第3-4步放大/縮小處理所得到的坐標(biāo)點(diǎn)和坐標(biāo)點(diǎn)特征的數(shù)據(jù)行回到所請求的部件上。輸出的外形坐標(biāo)數(shù)據(jù)格式與圖5所示格式相同。
如果在第3-5步中請求輸出點(diǎn)位圖,程序控制便轉(zhuǎn)移到第3-7步。在第3-7至3-13步的過程中,從坐標(biāo)數(shù)據(jù)中實(shí)際地得到點(diǎn)位圖。在第3-7步中,檢查確定目標(biāo)坐標(biāo)數(shù)據(jù)是否為直線數(shù)據(jù)或是曲線數(shù)據(jù)。如果目標(biāo)坐標(biāo)數(shù)據(jù)是直線數(shù)據(jù),假設(shè)數(shù)據(jù)的坐標(biāo)點(diǎn)為直線條的起點(diǎn),假設(shè)后繼的坐標(biāo)點(diǎn)為直線的終點(diǎn)。然后程序控制轉(zhuǎn)移到第3-8步。如果目標(biāo)數(shù)據(jù)是曲線的數(shù)據(jù),假設(shè)從坐標(biāo)點(diǎn)延伸到曲線終端標(biāo)志所在坐標(biāo)數(shù)據(jù)點(diǎn)的間隔為曲線數(shù)據(jù)。程序控制便轉(zhuǎn)移到第3-9步。
在第3-8步中,進(jìn)行產(chǎn)生曲線的處理。采用DDA(數(shù)值微分算法)作為線條產(chǎn)生方法。由DDA得到的坐標(biāo)數(shù)據(jù)存在點(diǎn)表中,如圖7所示。在圖7的點(diǎn)表中,對應(yīng)于輸出區(qū)中每一個y坐標(biāo)填入x坐標(biāo)的起始坐標(biāo)和終止坐標(biāo)。因采用DDA的結(jié)果如果對應(yīng)于一個y坐標(biāo)存在有多個x坐標(biāo),便將x坐標(biāo)置于相對于筆劃外形的最外端。用曲線數(shù)據(jù)的繪字?jǐn)?shù)據(jù)也進(jìn)入圖7的點(diǎn)表中。
在第3-9步中,曲線數(shù)據(jù)被轉(zhuǎn)換為一組短線條(短向量)。圖8所示為一條第三貝茲爾曲線被轉(zhuǎn)換為一組短向量。點(diǎn)A,B,C和D是第3-3步坐標(biāo)變換以后得到的曲線數(shù)據(jù)(第三貝茲爾曲線形成點(diǎn))。計(jì)算出連接點(diǎn)A到D的線的中間點(diǎn)a,b,c。點(diǎn)a是點(diǎn)A和B間的中間點(diǎn),點(diǎn)b是點(diǎn)B和C間的中間點(diǎn),點(diǎn)c是點(diǎn)C和D間的中間點(diǎn)。然后計(jì)算出點(diǎn)x,y和z。進(jìn)而,計(jì)算出連接點(diǎn)a到c的線條的中間點(diǎn)。點(diǎn)x是點(diǎn)a和c之間的中間點(diǎn),點(diǎn)z是點(diǎn)b和c之間的中間點(diǎn),點(diǎn)y是點(diǎn)x和z之間的中間點(diǎn)。然后,點(diǎn)列Aaxy作為新的第三貝茲爾曲線點(diǎn)列,點(diǎn)列yzcD作為新的第三貝茲爾曲線點(diǎn)列。按上述方法不斷地分割這些貝茲爾曲線點(diǎn)列,直到滿足規(guī)定的終止標(biāo)準(zhǔn)時,停止分割。通過這一過程所獲得的第三貝茲爾曲線點(diǎn)列是一組短向量。
在第3-10步中,將第3-9步獲得的一組短向量存在點(diǎn)表格中。表的填入方法與第3-8步方法相同,過程重復(fù),直到存完最后的一個短向量。在第3-11步中,檢查是否已經(jīng)完成獲得一個外形的坐標(biāo)數(shù)據(jù)。如果已經(jīng)獲得全部坐標(biāo)數(shù)據(jù),程序控制進(jìn)入第3-13步。如果獲取過程尚未結(jié)束,程序控制轉(zhuǎn)移到第3-12步。在第3-12步中,目前坐標(biāo)數(shù)據(jù)的指針更新為處理下一個數(shù)據(jù)的點(diǎn)。如果坐標(biāo)數(shù)據(jù)是直線數(shù)據(jù),指針更新為下一個坐標(biāo)數(shù)據(jù)的點(diǎn)。如果坐標(biāo)數(shù)據(jù)為曲線數(shù)據(jù),指針更新為曲線終止坐標(biāo)點(diǎn)。此后程序控制返回到第3-7步,檢查確定坐標(biāo)數(shù)據(jù)是直線數(shù)據(jù)或曲線數(shù)據(jù),以便建立點(diǎn)。在第3-13步中,檢查確定是否已經(jīng)處理了一個字符的全部坐標(biāo)數(shù)據(jù)。如果完成了整個外形的處理,程序控制進(jìn)入第3-15步。如果尚未完成處理,程序控制進(jìn)入第3-14步。在第3-14步中,由于已經(jīng)完成了一個外形的處理,指針更新為下一外形頭上的點(diǎn),程序控制返回到第3-7步。經(jīng)過這一過程,最終完成表7中的點(diǎn)表。
由于完成了全部坐標(biāo)數(shù)據(jù)的點(diǎn)的建立,在第3-15步中,采用一種非零回繞方法,來完成對應(yīng)于在第3-8步和3-10步中存在點(diǎn)表中的每一個y坐標(biāo)的每一個x坐標(biāo)的繪字,如圖9所示。根據(jù)這種方法,每一條掃描線從左側(cè)掃描,如果該點(diǎn)是起點(diǎn),設(shè)在標(biāo)志中的值便增加。如果該點(diǎn)是終點(diǎn),設(shè)在標(biāo)志中的值便減小。如果設(shè)在標(biāo)志中的值不是零,在這一過程中其值便設(shè)成1,并且進(jìn)行繪字。在第3-16步中,在第3-15步中所得到的一個字符的數(shù)據(jù)返回到由所請求部件指定的區(qū)中,接下來便中斷處理過程。如果所請求的部件是PRTC10,數(shù)據(jù)便返回到PRTC10,由PRT11打印數(shù)據(jù)。如果所請求的部件是CRTC6,數(shù)據(jù)便返回到CRTC6,并在CRT7上顯示數(shù)據(jù)。
參考圖10A和10B中的流程圖,詳細(xì)地?cái)⑹霰緦?shí)施例中第3-3步中的加粗/變細(xì)過程。在本發(fā)明的加粗/變細(xì)過程中,通過對筆劃的加粗或者變細(xì)處理,改變外形點(diǎn)的坐標(biāo),來改變參數(shù)。在第10-1步中,與權(quán)一致地確定外形粗細(xì)度的參數(shù)。用于確定粗細(xì)度的參數(shù)在相對于外形的x方向和y方向上有獨(dú)立的值,并且分別地處理水平線條的加粗量信息和垂直線條的加粗量信息。例如,在mincho字體的加粗過程中,mincho字體的水平線條不需要加粗很多,而垂直線條卻必須加粗許多,所以對于x方向和y方向必須設(shè)置不同的值。比較圖11A中的中等mincho字體和圖11b中的黑體mincho,這一點(diǎn)便是顯然的。圖12A中的圓形gothoc字體和圖12B中黑體圓形gothic字體必須在水平和垂直方向上用同一信息量加粗。因此,這些字體中,每一種字體所用的加粗量值必須變化。如圖13所示,對于不同權(quán)的不同字體的水平線條和垂直線條來說,從每一條垂直線條和每一條水平線條的中心線到字符外形的對應(yīng)邊緣測量出來的參考值數(shù)據(jù)事先填入表中。利用輸入的目標(biāo)坐標(biāo)數(shù)據(jù)的字體和權(quán)以及要輸出的坐標(biāo)數(shù)據(jù)的權(quán)來確定字符外形在x方向和在y方向上的加粗量信息。此時,如果加粗量信息為正值,便進(jìn)行加粗處理。如果加粗量信息為負(fù)值,便進(jìn)行變細(xì)處理。
在第10-2步中,與粗細(xì)度參考一致地改變每一筆劃的偏置信息。這個值由偏置信息的x坐標(biāo)和y坐標(biāo)減去粗細(xì)度參數(shù)的x值和y值,來得到。
在第10-3至10-14步的過程中,對形成一個外形的全部坐標(biāo)點(diǎn)列進(jìn)行加粗或變細(xì)處理。在第10-3步中,得到被處理的目標(biāo)點(diǎn)。在第10-4步中,得到與每一個目標(biāo)點(diǎn)相鄰的點(diǎn)。在第10-5步中,計(jì)算由目標(biāo)點(diǎn)和相鄰點(diǎn)所形成的角度。這一計(jì)算采用了下述表達(dá)式。假設(shè)目標(biāo)點(diǎn)為點(diǎn)a,相鄰點(diǎn)為點(diǎn)b和c,向量ab和向量ac形成的角度為,cosθ=ab→·ac→|ab→|×|ac|→]]>從而獲得θ。程序控制前進(jìn)第10-6步,對應(yīng)于角度θ改變點(diǎn)的移動。如果這一角度不是一個銳角(例如,θ值等于或大于30),程序控制便轉(zhuǎn)移到第10-7步。如果這一角度是一個銳角(例如,θ值小于30),程序控制便進(jìn)入第10-8步。
在第10-7步中,對于不是銳角的θ角進(jìn)行加粗處理。將參考圖14來說明這個過程。假設(shè)目標(biāo)點(diǎn)為B,緊接前面的一個點(diǎn)為A,緊隨其后的點(diǎn)為C。點(diǎn)B在向量AB和向量BC所形成角度被分成兩個相等部分的方向上,移向外形的外側(cè)。由此確定移動值為在第10-1步中所得到的x加粗量信息和y加粗量信息的斜邊。因?yàn)榇藭r獲得的坐標(biāo)值是一筆劃框架的坐標(biāo)值。加上了在第10-2步中獲得的偏置坐標(biāo)值,其結(jié)果值用作為字符原點(diǎn)的坐標(biāo)值。
現(xiàn)在說明第10-8步到10-14步的非常銳的角θ(θ值小于30)的加粗過程。必須根據(jù)加粗量信息為正或負(fù)值來改變這一過程。在第10-8步中,檢查確定加粗量信息為正值還是負(fù)值。如果加粗量信息為正,程序控制前進(jìn)到第10-9步。如果加粗量信息為負(fù),程序控制轉(zhuǎn)移到第10-13步。
在第10-9步到10-12步中進(jìn)行正加粗量信息的處理。在第10-9步中,以處理非銳角的同樣方式,得到加粗處理的移動點(diǎn)B(見圖15)。在圖15中,點(diǎn)a到c是原來外形上的點(diǎn),點(diǎn)A到C則是簡單加粗原來點(diǎn)得到的外形上的點(diǎn)。因?yàn)榻铅仁欠浅dJ的角,移動點(diǎn)B從原點(diǎn)延伸到非常遠(yuǎn)離原點(diǎn)處,有時候會移到字符區(qū)外面。為了防止這種情況發(fā)生,在中間新設(shè)兩個點(diǎn),使移動點(diǎn)不會移動到離原點(diǎn)特別遠(yuǎn)處。
在第10-10步中,進(jìn)行計(jì)算得到兩個新的點(diǎn)。參考圖15來說明這一過程。在圖15中,利用原有外形上的三點(diǎn)(點(diǎn)a,b和c)和簡單加粗原有外形所得到的對應(yīng)外形上的三個點(diǎn)(點(diǎn)A,B和C)來計(jì)算出位于對應(yīng)向量bB方向上兩倍加粗量信息遠(yuǎn)處的點(diǎn)D。用垂直于向量bD的向量來分割筆劃,假設(shè)與簡單加粗所得到的線段AB和BC相交的點(diǎn)為點(diǎn)E和F。這兩個點(diǎn)E和F記作為新的加粗處理所得到的點(diǎn)。從而,所得到的坐標(biāo)點(diǎn)A,E,F(xiàn)和C記作為由加粗得到的新外形點(diǎn)。在第10-11步中,檢查確定是否需要對目標(biāo)字體的角邊緣作圓滑處理,如同圓gothic字體那樣。如果不需要作圓滑處理,則點(diǎn)A,E,F(xiàn)和C不變地記作為進(jìn)行加粗處理后所得到的點(diǎn),程序控制便進(jìn)到第10-15步。如果字體要求對角邊緣作圓滑處理,程序控制便進(jìn)入第10-12步,進(jìn)行角邊緣的圓滑處理。在第10-12步中,如圖16所示,在線條EF中間設(shè)新點(diǎn)G,在線段EA上設(shè)點(diǎn)H,線段FC上設(shè)點(diǎn)I,使線段HE和FI與線段EG或GF同樣長。假設(shè)線段HE,EG和GF的中間點(diǎn)分別為J,K,L,和M,點(diǎn)列H,J,K和G以及點(diǎn)列G,L,M和I可以作為貝茲爾曲線的點(diǎn)列。直線點(diǎn)列A和H,貝茲爾曲線的點(diǎn)列H,J,K和G,貝茲爾曲線的點(diǎn)列G,L,M和I,以及直線的點(diǎn)列I和C作為點(diǎn)列,在完成了使角邊緣圓滑的加粗過程以后,形成一個外形。如果角度很小,并且加粗信息為正值時,在第10-9步到10-12步中所進(jìn)行的處理過程已經(jīng)作過說明。
現(xiàn)在參考圖17來說明加粗信息為負(fù)時由第10-13步到10-14步中所進(jìn)行的處理過程。在圖17中,表示點(diǎn)的符號與圖15中意義相同。在第10-13步中,為了加粗過程使點(diǎn)B移動,其方法與角度不太銳的情況相同。但是,在目前情況下,由于角度非常尖銳,移動的點(diǎn)從原來點(diǎn)延伸到很遠(yuǎn)處,并且有些情況下甚至?xí)G失筆劃的線段。為了防止這種情況發(fā)生,在簡單加粗處理時,由點(diǎn)a,b和c得到的移動點(diǎn)A,B和C中間,把點(diǎn)B置于接近于點(diǎn)b處,并且必須保持筆劃的特征。在第10-14步中,進(jìn)行計(jì)算使點(diǎn)B的位置接近于點(diǎn)b。依靠這一計(jì)算,得到點(diǎn)D,它在對應(yīng)于向量bB的方向上,位于兩倍于加粗信息的絕離上。該點(diǎn)D用作為新的加粗過程中的一個點(diǎn)。換言之,在點(diǎn)A,D和C形成一個銳角,加粗信息為負(fù)時,點(diǎn)D用來作為一個新的外形形成點(diǎn)。對于加粗的目標(biāo)點(diǎn)形成一個銳角時,正值加粗信息和負(fù)值加粗信息的加粗過程均已經(jīng)作了說明。
對于形成外形的全部點(diǎn)均進(jìn)行第10-3步到10-14步的處理。在第10-15步中,如果一個外形的全部坐標(biāo)值均已經(jīng)處理,程序控制轉(zhuǎn)移到第10-17步。如果一個外形上還有些坐標(biāo)點(diǎn)要作處理,程序控制進(jìn)入第10-16步,在這一步中將指針更新到下一個外形坐標(biāo)點(diǎn)上,對它進(jìn)行加粗處理。
在第10-17步中,檢查確定是否一個字符上的全部外形均已作處理。如果全部外形均已處理,程序轉(zhuǎn)到第10-18步。如果還有外形要作處理,指針更新到下一個外形,對它進(jìn)行加粗處理。如果全部外形坐標(biāo)點(diǎn)的加粗處理均已經(jīng)完成,程序控制前進(jìn)到第10-18步。
如圖18所示,加粗處理增加了字符框架的總面積,變細(xì)處理減少了總面積。因此,必須把整個框架調(diào)整到原來的尺寸。在第10-18步中進(jìn)行這一調(diào)整。增加或減少的調(diào)整量為在第10-1步中得到的外形的加粗量信息(在變細(xì)情況下為負(fù)的加粗信息)的二倍。假定原字符框架在X上的寬度為Bx,外形的水平加粗量信息為Fx,Y上的寬度為By,外形的垂直加粗量信息為Fy,要作加粗處理的坐標(biāo)是(x,y),調(diào)整以后的坐標(biāo)是(X,Y)有以下表達(dá)式(X,Y)=((x+Fx)×Bx/(Bx+Fx×2),(y+Fy)×By/(By+Fy×2))(3)對于單個字符的全部坐標(biāo)點(diǎn)進(jìn)行這一計(jì)算,以后圖10的加粗處理便結(jié)束。[第二實(shí)施例]現(xiàn)在用一個例子來說明另一實(shí)施例,根據(jù)有特定權(quán)的字體要求,系統(tǒng)中存在有兩種以上相同的字體。重要的是把字體的權(quán)作為在權(quán)不相同的多個相同字體中間的參考,以便能夠處理所要求的權(quán)。因此,一旦確定采用帶某一權(quán)的一種字體作為參考,以后的權(quán)的轉(zhuǎn)換過程便可以與前一實(shí)施例相同的方式進(jìn)行。所以,這里僅僅說明選擇某一權(quán)作為參考的方法,其它過程不再給出。
圖19為選擇權(quán)的詳細(xì)流程圖。
首先,必須檢查在存儲裝置中存有哪種字體的哪種權(quán)。在圖19中的第19-1步中,參考存在每一種字體的標(biāo)題部分中的標(biāo)題信息,并且將數(shù)據(jù)表達(dá)的信息送進(jìn)一張表中。圖20A和20B所示為一個表和數(shù)據(jù)表達(dá)的信息。在本實(shí)施例中,在存儲設(shè)備中存有mincho字體的權(quán)3和權(quán)7,圓gothic字體的權(quán)5(見圖20A),角形gothic字體的權(quán)6和kaisho字體的權(quán)4和權(quán)7(見圖20B)在第19-2步中,檢查確定所申請權(quán)的信息是否已經(jīng)存在存儲裝置,例如R0M,或者硬盤中。為了作此判斷,在第19-1步準(zhǔn)備好的表中搜索有關(guān)于所要求字體和權(quán)的信息,來確定信息數(shù)據(jù)是否存在存儲設(shè)備中。如果所要求的權(quán)信息已存在存儲設(shè)備中,程序控制進(jìn)入第19-3步。如果信息未存入,程序轉(zhuǎn)移到第19-4步。
在第19-3步中,由于在存儲設(shè)備中存有所要求的權(quán)信息,便不需要作加粗/變粗處理。從存儲設(shè)備中讀取坐標(biāo)數(shù)據(jù)。與輸出尺寸一致,對坐標(biāo)數(shù)據(jù)進(jìn)行放大或縮小處理,建立點(diǎn)位圖的字形。此后處理過程結(jié)束。
在第19-4步中,由于存儲設(shè)備中沒有出現(xiàn)所要求的權(quán)信息,必須進(jìn)行加粗或變細(xì)處理,以便輸出有所要求權(quán)的字符。為此,必須選擇原數(shù)據(jù),對這一數(shù)據(jù)進(jìn)行加粗或變細(xì)處理。通常進(jìn)行加粗處理比進(jìn)行變細(xì)處理使質(zhì)量下降小些。因此,利用第19-1步中得到的表來確定,在存儲設(shè)備中是否存有比所要求的權(quán)小的權(quán)信息。如果在存儲設(shè)備中存有比所要求的權(quán)小的權(quán)信息,程序控制進(jìn)入第19-5步。如果存儲設(shè)備中未存有所要求的權(quán)信息,程序轉(zhuǎn)移到第19-6步。例如,如果要輸出權(quán)5的mincho字體在存儲設(shè)備中有權(quán)3的mincho字體,程序控制便轉(zhuǎn)移到第19-5步。如果要輸出權(quán)3的角形字體,但沒有權(quán)更小的角形gothic字體,程序控制便進(jìn)入第19-6步。在第19-5步中,選擇某一權(quán)的字體作為加粗過程的起始,在x方向和在y方向設(shè)定加粗用參數(shù)。如果所要求的輸出是權(quán)5的mincho字體,由于有權(quán)3的mincho字體,權(quán)3和權(quán)5外形在x方向和在y方向的差值被設(shè)為加粗參數(shù)。在第19-6步中,選擇某一權(quán)的字體作為變細(xì)處理的起始,在x方向和在y方向設(shè)定參數(shù),作為進(jìn)行變細(xì)處理的外形。如果要求的輸出是權(quán)3的角形gothic字體,由于有權(quán)5的角形gothic字體,權(quán)3和權(quán)5外形在x方向和y方向上的差值被設(shè)為變細(xì)參數(shù)。
在第19-5步和19-6步中按上述方式設(shè)定了加粗或變細(xì)參數(shù),便進(jìn)行在第一實(shí)施例中所說明過的過程,輸出一個所要求權(quán)的字符。在本實(shí)施例中,已經(jīng)說明了是否有比目標(biāo)字符的權(quán)小的字體權(quán)數(shù)據(jù)的情況,然而,也可能檢查確定是否有比目標(biāo)字符的權(quán)大的字體權(quán)數(shù)據(jù)。此外,可以選擇最接近于目標(biāo)字符權(quán)的那種權(quán)數(shù)據(jù),用這一數(shù)據(jù)來進(jìn)行權(quán)轉(zhuǎn)換處理?,F(xiàn)在說明本發(fā)明的另一種實(shí)施例。根據(jù)這一實(shí)施例,第一和第二實(shí)施例中所述的加粗過程可以用于灰體字形處理。點(diǎn)位圖字形是二進(jìn)制字形,其中的每一點(diǎn)值為0或1,而灰體字形是多值字形,它可以處理多值,例如其中的每一個點(diǎn)的值是0到3,0到15,或0到255。根據(jù)產(chǎn)生這種灰體字形的方法,如圖21中所示的灰度為n2的灰體字形要輸出,在圖3中的第3-4步中,用n在垂直和水平方向上乘以所要求的輸出尺寸,所得到的輸出尺寸用來準(zhǔn)備點(diǎn)位圖字形。然后,用n位水平和垂直地分割該圖,如圖21所示,然后,用在分割出的每個n×n矩形中包括有多少個為“1”的位,來確定灰體字形的每一個點(diǎn)所對應(yīng)的值。
如果用第一實(shí)施例來處理灰體字形,這種情況下的處理過程如圖22A和22B中的流程圖所示。由于這一流程圖與產(chǎn)生點(diǎn)位圖字形的流程圖或者輸出外形坐標(biāo)的流程圖基本一致,在第一實(shí)施例中已經(jīng)作了說明,也由于圖22A和22B中的步驟與圖3A和3B中步驟幾乎一致,這里僅說明由于產(chǎn)生灰體字形而引起差別的一些步驟。不同的步驟是第22-1和22-4步,第22-16和22-17步是增加的。在第22-1步中,接收到包括灰度信息的輸入?yún)?shù)。輸入?yún)?shù)為字符碼,字體,權(quán)信息,字符輸出尺寸,灰度,輸出形式,輸出設(shè)備的特征,等等。通過規(guī)定采用哪一字符碼系統(tǒng)作為目標(biāo)系統(tǒng)來確定使用的字符碼JIS碼,移動JIS碼,EVC碼或UNI碼。從事先裝入系統(tǒng)的字體mincho,gothic,圓gothic等等數(shù)據(jù)中,或者從作為選擇項(xiàng)增加的數(shù)據(jù)中選擇字體。此時,上述數(shù)據(jù)與產(chǎn)生點(diǎn)位圖字形的數(shù)據(jù)完全相同,并且沒有存儲用于產(chǎn)生灰體字形的特殊數(shù)據(jù)。涉及字體線條粗細(xì)的權(quán)信息,在本實(shí)施例中,給出特細(xì),細(xì),中,粗,及特粗的信息。字符輸出尺寸是關(guān)于實(shí)際輸出字體數(shù)據(jù)大小的信息,需要在x方向和在y方向上的尺寸。灰級是表明準(zhǔn)備灰體字形所采用的灰度級的信息。與輸出設(shè)備的特性一致來決定灰度為4,16,或256級。輸出形式是用于所希望的字體輸出數(shù)據(jù)形式,它包括數(shù)據(jù)輸出形式,點(diǎn)位圖字形輸出形式,灰體字形輸出形式,以及一點(diǎn)形式。用一點(diǎn)形式來指明表示形式,是否一個字節(jié)表示該字體的灰體字形中的一點(diǎn),或是兩個點(diǎn),或是四個點(diǎn)。輸出設(shè)備特性是有關(guān)于如何確定最佳灰度,以便得到對于目標(biāo)輸出設(shè)備最佳的灰體字形。在第22-4步中,用輸出尺寸和灰體字形的灰度,對于第22-2步中讀入的坐標(biāo)數(shù)據(jù)進(jìn)行放大或縮小處理。假定所要求的輸出尺寸為(Ax,Ay),在第3—3步中得到的每個坐標(biāo)值是(x,y),在放大或縮小處理以后得到的每一坐標(biāo)值是(X,Y),字符框架的存儲尺寸是(Mx,My),放大或縮小計(jì)算可表示如下(X,Y)=(x×n×Ax/Mx,y×n×Ay/My)--(4)]]>在第22-16步和22-17步中,從第22-15步建立的點(diǎn)位圖字形得到灰體字形。首先,在第22-16步中,根據(jù)作為輸入?yún)?shù)接收的輸出設(shè)備的特性來選擇灰度轉(zhuǎn)換表。如圖23A,23B和23C所示,對于16個灰度級的灰體字形轉(zhuǎn)換表為4×4個分離數(shù)字,其中,代表輸出設(shè)備特性的值是事先儲存的。在圖23A所示例表中,輸出設(shè)備的密度特性為一致的。在圖23B所示例表不,中央點(diǎn)的密度高,外圍點(diǎn)的密度低。在圖23C所示例表中,外圍點(diǎn)的密度高,而中央點(diǎn)的密度低。從中選擇對于輸出設(shè)備的密度特性最合適的表。在第22-17步中,根據(jù)第22-16步所選的表建立灰體字形。將用圖24中例子來說明處理過程。圖24所示為第22-15步得到的點(diǎn)位圖字形,字體的垂直和水平尺寸為灰度n的n倍。因此,點(diǎn)位圖字體垂直和水平地用n分割,提取n×n個網(wǎng)格方塊。在一個網(wǎng)格方塊中,用第22-16步中得到的表中對應(yīng)位方塊的值乘以每一點(diǎn)方塊中的位值。全部相乘的積相加,得到目標(biāo)點(diǎn)的灰度值。圖24所示為輸出16級灰體字形,對于4×4位方塊選用圖23B中的表。對于全部網(wǎng)格方塊進(jìn)行上述處理,可以得到圖25所示的灰體字形。在第22-18步中,與輸出形式一致存儲灰體字,并且將數(shù)據(jù)返回到要求端部件。如果要求用一個字節(jié)表示一個點(diǎn)的輸出形式,則每個網(wǎng)格方塊中的值壓縮到一個字節(jié),并且儲存起來。如果要求兩個相鄰點(diǎn)的數(shù)據(jù)合并到一個字節(jié)的輸出形式,儲存數(shù)據(jù)時將一個點(diǎn)放入四個位,然后返回到要求端部件。此后過程停止。在第一到第三實(shí)施例中,在用形成字符每一筆劃的坐標(biāo)數(shù)據(jù)表示向量數(shù)據(jù)時,進(jìn)行權(quán)(粗細(xì)度)的轉(zhuǎn)換。
在第四實(shí)施例中,在用字符外形的坐標(biāo)數(shù)據(jù)表示向量數(shù)據(jù)的情況下,進(jìn)行權(quán)轉(zhuǎn)換的。字符形狀如圖26所示。從圖26中明顯看出,外形中沒有交叉筆劃。現(xiàn)在來說明將圖26中所示字符加粗到例如如圖27所示的處理過程。圖28所示為一個字符存在ROM中的外形坐標(biāo)數(shù)據(jù)格式,本實(shí)施例中使用了這一外形坐標(biāo)數(shù)據(jù)。與圖4到圖6中的例子比較,這些說明性的例子是容易理解的,圖4到圖6涉及到的字符是由組成字符每一筆劃的坐標(biāo)數(shù)據(jù)形成其向量數(shù)據(jù)。在圖28中所存的數(shù)據(jù)是代表字符外形特征的坐標(biāo)數(shù)據(jù)。為每一個坐標(biāo)點(diǎn)提供了屬性信息,例如確定直線數(shù)據(jù)/曲線數(shù)據(jù)標(biāo)志和外形起點(diǎn)/終點(diǎn)標(biāo)志。雖然用于曲線數(shù)據(jù)的內(nèi)插值可以是第二或第二B樣條曲線,或用是第二或第三貝茲爾曲線,所采用的內(nèi)插法是事先選定的。表示字符框架的最小坐標(biāo)值是0,最大值是800。
圖29A和29B為流程圖,說明用這些數(shù)據(jù)進(jìn)行權(quán)轉(zhuǎn)換的過程。由于圖29A和29B的流程圖中有許多地方和圖3A和3B中的流程圖相對應(yīng),僅僅說明其中不同的過程步驟。雖然所處理的數(shù)據(jù)不一樣,但是,第29-1步到29-7步的過程除了第29-3步的加粗/變細(xì)處理不同以外。與圖3A和3B中第3-1步到3-7步一樣,因此,對這些步驟不再解釋。以后將參考圖34A和34B詳細(xì)說明第29-3步的過程。
在第29-8步中進(jìn)行產(chǎn)生直線的處理過程。雖然如在圖3A和3B中第3-8步那樣,用DDA來產(chǎn)生直線條,這一生成是在兩個平面上進(jìn)行的。一個平面是XOR繪字平面,另一個平面是OR外形平面。OR外形平面用來校正在XOR繪字平面上漏去的位。將參考給出XOR繪字平面的圖30和給出OR外形平面的圖31來說明這個過程。在圖30的XOR繪字平面中,一個Y坐標(biāo)只設(shè)一個X坐標(biāo)。在以后要說明的繪字過程中(第29-16步),從左到右對每一條線掃描,從奇數(shù)位“1”到偶數(shù)位“1”的間隔中繪成“1”。這樣,除非在一個Y坐標(biāo)提供一個X坐標(biāo),否則不能很好地繪字。為了在XOR繪字平面上設(shè)置一點(diǎn),進(jìn)行按位的OR(XOR)邏輯計(jì)算用來得到在XOR繪字平面上目標(biāo)坐標(biāo)點(diǎn)和“1”的值。結(jié)果保留在XOR繪字平面的目標(biāo)坐標(biāo)點(diǎn)上。如果在圖31中的OR外形平面上設(shè)置一點(diǎn),全部相對于一個Y坐標(biāo)值的直線上全部X坐標(biāo)值均置成“1”。在OR外形平面上,在XOR繪字平面上丟失的位便可以補(bǔ)回。
在第29-9和29-10步中進(jìn)行生成曲線處理。除了對直線所作的兩個平面上點(diǎn)的設(shè)置過程不同,這些步驟與圖3A和3B中第3-9步和3-10步相同,對這些步驟不再作說明。
由于第29-11步到29-14步與圖3A和3B中的第3-11步到3-14步也相同,對它們也不再作說明。
在第29-15步中,對繪字平面作繪字處理。參考圖32來說明這一過程。如圖32中的箭頭所指,沿每一條掃描線從左到右對繪字平面掃描,在一奇數(shù)位“1”和一偶數(shù)位“1”之間的間隔中繪成“1”。對全部掃描線進(jìn)行這一處理。在第29-16步中,計(jì)算XOR繪字平面和OR外形平面的OR,來完成一個字符的點(diǎn)位圖數(shù)據(jù)。這一過程如圖33所示。例如,在第29-17步中,在第29-16步中獲得的一個字符的點(diǎn)位圖數(shù)據(jù)返回到由要求端設(shè)備所指定的存儲區(qū),以后便停止處理過程。
參考圖34A和34B中的流程圖,詳細(xì)說明圖29A和29B中第29-3步中的加粗/變細(xì)處理。由于在這一過程中及在參考圖10A和圖10B說明的過程中有許多重復(fù),將僅說明不同的過程。
由于對于形成字符的外部外形和內(nèi)部外形所用的加粗/變細(xì)參數(shù)不同,所以必須要識別這二種外形。對于加粗/變細(xì)過程來說,外部外形加粗/變細(xì)參數(shù)用來處理外部外形,而內(nèi)部外形加粗/變細(xì)參數(shù)用來處理內(nèi)部外形。這一加粗/變細(xì)處理與圖10A和10B中所示的處理不同。這一過程是在第34-1到34-5步中進(jìn)行。
假設(shè)用于外部外形的點(diǎn)列逆時針方向排列,用于內(nèi)部外形的點(diǎn)列則順時針方向排列。在這種情況下,檢查外形點(diǎn)的排列來識別是外部外形還是內(nèi)部外形。也可以把順時針排列的點(diǎn)列看作外部外形,而把逆時針排列的點(diǎn)看作內(nèi)部外形。
在第34-1到34-3步中進(jìn)行這一決定的予處理。參考圖35來說明這一過程。在第34-1步中,得到圖35中的起點(diǎn)在S,第34-2步中,得到與圖35中起點(diǎn)S相鄰的兩點(diǎn)A和B。點(diǎn)A是在起點(diǎn)S前面的一個點(diǎn)(一個有關(guān)外形上的最后一點(diǎn)),點(diǎn)B是起點(diǎn)S后面的點(diǎn)。在圖35中,要作處理的一點(diǎn)設(shè)置在將由向量AS和向量SB所形成的角分成兩個角的方向上。對于外部外形,即對于逆時針方向的點(diǎn)列,這一點(diǎn)位于沿向量方向從起點(diǎn)S向右離開有一規(guī)定距離的地方。對于內(nèi)部外形,即對于順時針點(diǎn)列,該予處理的點(diǎn)位于沿向量方向從起點(diǎn)S向左有一規(guī)定距離的地方。這是在第34-3中進(jìn)行的。在第34-4步中,檢查確定基于予處理點(diǎn)的目標(biāo)外形是外部外形還是內(nèi)部外形。將參考圖40中的流程圖詳細(xì)地說明這一處理過程。
在第34-5步中,配合權(quán)值。確定用于外部外形粗細(xì)和內(nèi)部外形粗細(xì)的參數(shù)。確定這些粗細(xì)度的參數(shù)對于外部外形和內(nèi)部外形在x方向和在y方向有獨(dú)立的值。對于水平線的加粗量信息和垂直線的加粗量信息分別地處理。如圖36中所示,因?yàn)閷τ趍incho字體來說,垂直線必須加粗很多,而水平線卻不需要加粗很多,所以對于x方向和y方向必須設(shè)置不同的值。為了加粗圓形gothic字體,字符用基本相同量垂直地和水平地加粗,如圖37A和37B所示。這一方法與圖10A,10B,11A,11B,12A和12B中第10-1步相同。如圖38所示,對于每一種字體和權(quán)的水平線和垂直線,從線中央延長到外部外形或延長到內(nèi)部外形的間隔的每個參考數(shù)據(jù)值事先填入表中。參考該字體要輸出的坐標(biāo)數(shù)據(jù)的權(quán)和輸入目標(biāo)坐標(biāo)數(shù)據(jù)的權(quán)值,確定在x方向和在y方向上對于外部外形和對內(nèi)部外形所用的加粗值。
由于第34-6步到34-21步的過程與圖10A和10B中的過程相同,盡管目標(biāo)坐標(biāo)數(shù)據(jù)不同,也不對這一過程作說明。必須注意的是這一過程和圖10A和10B中的區(qū)別在于這一過程包括對外部外形和內(nèi)部外形兩方面的處理。在第34-10步中進(jìn)行對于外部外形,即逆時針的點(diǎn)列,上不太尖銳的角的加粗處理,目標(biāo)點(diǎn)向右移動(見圖39)。如果外部外形的點(diǎn)列是順時針方向的,目標(biāo)點(diǎn)就向左移動。在加粗過程中,外部外形的目標(biāo)點(diǎn)在加粗方向移動,程序控制轉(zhuǎn)移到第34-12步。由于內(nèi)部外形的目標(biāo)點(diǎn)在變細(xì)方向移動,程序控制進(jìn)入第34-16步。對于變細(xì)過程,上述情況相反進(jìn)行。
現(xiàn)在參考圖40中的流程圖來說明圖34A和34B中第34-4步外部外形/內(nèi)部外形確定過程。如圖41所示,逆時針方向的值為正,計(jì)算出由點(diǎn)Z和形成外形的坐標(biāo)點(diǎn)A,B,C,D和E所組成的θ1到θ4角。如果角θ1到θ4之總和角為2π,便可確定點(diǎn)Z位于外形的內(nèi)部,如圖42所示,如果由形成外形的點(diǎn)A到D和點(diǎn)Z所形成的角θ1到θ4之和為0,便設(shè)想點(diǎn)Z位于外形的外部。圖40中的流程圖所示為這一過程。因?yàn)榈?4-1到34-3步中得到點(diǎn)Z,圖40的流程圖中所示為計(jì)算從點(diǎn)Z開始的角度之總和。在第40-1步中,以總和角Tθ為0進(jìn)行初始化。在第40-2步中,提取兩個相鄰點(diǎn),在第40-3步中,用向量把點(diǎn)Z和兩個提取點(diǎn)相連接,并且計(jì)算由這些點(diǎn)形成的角度θ。計(jì)算一個外積便可以得到該角度θ。在第40-4步中,將得到的θ值加到角度之和Tθ上。在第40-5步中,檢查確定是否一個外形上的全部點(diǎn)都已經(jīng)提取了兩個點(diǎn)。如果對全部點(diǎn)都已經(jīng)完成了計(jì)算,程序控制前進(jìn)到第40-6步。如果計(jì)算尚未完成,程序控制返回到第40-2步。去繼續(xù)計(jì)算過程。在第40-6步中,檢查確定角度之和為Tθ為0,還是為2π。如果角度之和Tθ為0,便設(shè)想目標(biāo)點(diǎn)是外部外形的點(diǎn),并且設(shè)立外部外形標(biāo)志。如果角度之和Tθ為2π,便設(shè)想目標(biāo)點(diǎn)是內(nèi)部外形的點(diǎn),并且設(shè)立一個內(nèi)部外形的標(biāo)志。在以后的過程中,用這一標(biāo)志來確定目標(biāo)點(diǎn)是外部外形的點(diǎn),還是內(nèi)部外形的點(diǎn)。[第五實(shí)施例]第五實(shí)施例對應(yīng)于前述的第二實(shí)施例,所示的例子中,系統(tǒng)中存在兩個或兩個以上相同的字體,并且用一個無交叉筆劃的外形來表示坐標(biāo)數(shù)據(jù)。在這種情況下,如圖19中的流程圖,進(jìn)行加粗過程比進(jìn)行變細(xì)過程使質(zhì)量下降小些。選擇比要求的權(quán)小些的外形坐標(biāo)數(shù)據(jù)。因?yàn)樗c圖19所示流程圖中所述的過程相同,因此不再說明這一過程。
圖43A和43B為本實(shí)施例中采用的表格,它們與圖20A和20B中所示的表格對應(yīng)。[第六實(shí)施例]第六實(shí)施例對應(yīng)于前述的第三實(shí)施例,所示的例子中,對灰體字作加粗處理,用一個無交叉筆劃的外形來表示坐標(biāo)數(shù)據(jù)。在圖44A和44B的流程圖中給出這一過程。在圖44A和44B中流程圖的過程和圖22A和22B中流程圖相同,所不同之處是對兩個平面進(jìn)行的處理如圖29A和29B中流程圖。因此,不再說明圖44A和44B中的過程。參考圖22A和22B,并考慮到圖3A和3B中與圖29A和29B中的過程的差別,便能清楚圖44A和44B中的過程了。
本發(fā)明可以用一個包括多臺設(shè)備的系統(tǒng)來實(shí)現(xiàn),或者由一個只有一臺設(shè)備的系統(tǒng)來實(shí)現(xiàn)。此外,本發(fā)明可以用在一個系統(tǒng)或者一臺設(shè)備中,由向該系統(tǒng)或設(shè)備提供一個程序,來實(shí)現(xiàn)本發(fā)明。
如上所述,根據(jù)本發(fā)明,根據(jù)輸入的加粗量信息或變細(xì)量信息變換外形數(shù)據(jù)的坐標(biāo)值。提取要調(diào)整的坐標(biāo)值并進(jìn)行調(diào)整,用調(diào)整的外形數(shù)據(jù)來產(chǎn)生粗或細(xì)的字符圖形。用少量的字符數(shù)據(jù)便可以提供具有不同粗細(xì)度的高質(zhì)量黑體字或淺體字。
根據(jù)本發(fā)明,與輸入的加粗量信息或變細(xì)量信息一致,確定要變化的字符數(shù)據(jù)。變換對應(yīng)于確定的字符數(shù)據(jù)的外形數(shù)據(jù)坐標(biāo)值,并且用已經(jīng)變換了坐標(biāo)的外形數(shù)據(jù),提供粗或細(xì)的字符圖形。用字符數(shù)據(jù)庫提供最好的黑體或淺體字符數(shù)據(jù)。
根據(jù)本發(fā)明,確定粗細(xì)度接近于輸入的加粗量或變細(xì)量的字符數(shù)據(jù),作為要變換的字符數(shù)據(jù)。因此,可以產(chǎn)生更精確的黑體或淺體字符數(shù)據(jù)。
此外,根據(jù)本發(fā)明,參考與目標(biāo)坐標(biāo)相鄰兩點(diǎn)的坐標(biāo)值,以便確定一組變換的坐標(biāo)??梢蕴峁┓浅F胶獾暮隗w或淺體字符圖形。
根據(jù)本發(fā)明,根據(jù)輸入的加粗量信息或變細(xì)量信息,在x方向和在y方向上獨(dú)立地變化提取的外形數(shù)據(jù),來進(jìn)行變換。可以產(chǎn)生反映每種字體特征的黑體或淺體字符圖形。
根據(jù)本發(fā)明,參考目標(biāo)坐標(biāo)及兩個相鄰點(diǎn)的坐標(biāo)值,由檢查由三個點(diǎn)形成的角和一個輸入值是否表明加粗量或變細(xì)量,以及由目標(biāo)字體來確定外形形狀。因此,可以產(chǎn)生高質(zhì)量的黑體或淺體字符圖形。
根據(jù)本發(fā)明,在選定加粗量時,插入一個新點(diǎn)作為目標(biāo)點(diǎn)來進(jìn)行坐標(biāo)調(diào)整,因此,可以產(chǎn)生高質(zhì)量的黑體字符圖形。
根據(jù)本發(fā)明,在指定加粗量時,插入一個新點(diǎn)作為目標(biāo)點(diǎn),并且對角邊緣作圓滑處理,來進(jìn)行坐標(biāo)調(diào)整,所以,可以產(chǎn)生反映每種字體特征的好的黑體字符圖形。
根據(jù)本發(fā)明,在指定變細(xì)量時,如果用移動目標(biāo)點(diǎn)來進(jìn)行坐標(biāo)調(diào)整,便可以產(chǎn)生高質(zhì)量的淺體字符圖形。
根據(jù)本發(fā)明,為了產(chǎn)生數(shù)據(jù),與變換的外形數(shù)據(jù)一致,輸出點(diǎn)位圖字形,外形數(shù)據(jù),或者灰體字形,可以用適當(dāng)?shù)臄?shù)據(jù)格式,將黑體或淺體字符數(shù)據(jù)提供給不同的輸出設(shè)備。
外形數(shù)據(jù)可以由多個有交叉筆劃的外形數(shù)據(jù)組成,也可以由多個無交叉筆劃的外形數(shù)據(jù)組成。
因此,可以用少量存儲容量產(chǎn)生各種權(quán)的字符數(shù)據(jù)。
權(quán)利要求
1.一種字符處理設(shè)備,包括用于貯存由外形數(shù)據(jù)形成的字符數(shù)據(jù)的存儲裝置;用所述外形數(shù)據(jù)產(chǎn)生字符圖形的字符圖形裝置;用于輸入加粗量信息或變細(xì)量信息,使字符圖形加粗或變細(xì)的輸入裝置;根據(jù)由所述輸入裝置輸入的所述加粗量信息或所述變細(xì)量信息,對存在所述存儲裝置中的所述外形數(shù)據(jù)的坐標(biāo)值進(jìn)行變換的變換裝置;在用所述變換裝置進(jìn)行變換時,用于確定外形形狀的確定;以及在由所述確定裝置得到的確定結(jié)果的基礎(chǔ)上,調(diào)整要變換的坐標(biāo)的坐標(biāo)調(diào)整裝置,其中,所述產(chǎn)生裝置利用所述坐標(biāo)調(diào)整裝置得到的外形數(shù)據(jù),產(chǎn)生粗或細(xì)的字符圖形。
2.根據(jù)權(quán)利要求1的字符處理設(shè)備,其中,所述變換裝置參考與目標(biāo)坐標(biāo)相鄰的兩個點(diǎn)的坐標(biāo),確定一組變換的坐標(biāo)。
3.根據(jù)權(quán)利要求1的字符處理設(shè)備,其中,所述輸入裝置從x方向和y方向分別輸入所述加粗量信息參數(shù)或變細(xì)量信息參數(shù),并且其中所述變換裝置獨(dú)立地在所述x方向和所述y方向改變所述加粗量信息和所述變細(xì)量信息。
4.根據(jù)權(quán)利要求1的字符處理設(shè)備,其中,所述確定裝置利用與所述目標(biāo)坐標(biāo)相鄰的兩個點(diǎn)的所述目標(biāo)坐標(biāo),確定由三個點(diǎn)形成的一個角的外形形狀。
5.根據(jù)權(quán)利要求1的字符處理設(shè)備,其中,所述坐標(biāo)調(diào)整裝置用插入兩個新的點(diǎn)而不用由所述變換裝置得到的所述坐標(biāo)值,來得到坐標(biāo)值。
6.根據(jù)權(quán)利要求1的字符處理設(shè)備,其中,所述坐標(biāo)調(diào)整裝置用插入形成一條曲線的兩個新的點(diǎn),而不用由所述變換裝置得到的所述坐標(biāo)值來得到坐標(biāo)值。
7.根據(jù)權(quán)利要求1的字符處理設(shè)備,其中,所述的坐標(biāo)調(diào)整裝置移動用所述變換裝置得到的所述坐標(biāo)值來進(jìn)行調(diào)整。
8.根據(jù)權(quán)利要求1的字符處理設(shè)備,其中,所述的字符圖形準(zhǔn)備裝置輸出一個點(diǎn)位圖化的字形或一個灰體字形。
9.根據(jù)權(quán)利要求1的字符處理設(shè)備,其中,所述字符圖形準(zhǔn)備裝置輸出外形數(shù)據(jù)。
10.根據(jù)權(quán)利要求1的字符處理設(shè)備,其中,所述外形數(shù)據(jù)由多個有交叉筆劃的外形數(shù)據(jù)組成。
11.根據(jù)權(quán)利要求1的字符處理設(shè)備,其中,所述的外形數(shù)據(jù)由多個沒有交叉筆劃的外形數(shù)據(jù)組成。
12.根據(jù)權(quán)利要求1的字符處理設(shè)備,還包括用于輸出所產(chǎn)生的字符圖形的輸出裝置。
13.根據(jù)權(quán)利要求12的字符處理設(shè)備,其中,所述輸出裝置為一臺打印機(jī)。
14.根據(jù)權(quán)利要求12的字符處理設(shè)備,其中,所述輸出裝置為一臺顯示裝置。
15.根據(jù)權(quán)利要求1的字符處理設(shè)備,還包括一臺提供顯示數(shù)據(jù)的主計(jì)算機(jī)。
16.采用存儲裝置以貯存由外形數(shù)據(jù)形成字符數(shù)據(jù)的字符處理方法,包括下述步驟用所述外形數(shù)據(jù)產(chǎn)生字符圖形;輸入加粗量信息或變細(xì)量信息,用以加粗或變細(xì)所述字符圖形;根據(jù)輸入的加粗量信息或變細(xì)量信息,變換儲存的所述外形數(shù)據(jù)的坐標(biāo)值;在進(jìn)行變換時,確定外形形狀;根據(jù)確定的結(jié)果,調(diào)整要變換的坐標(biāo)值;以及用對所述坐標(biāo)的變換、確定和調(diào)整的結(jié)果得到的外形數(shù)據(jù),產(chǎn)生粗或細(xì)的字符圖形;
17.根據(jù)權(quán)利要求16的字符處理方法,其中在所述的變換中,由參考與目標(biāo)坐標(biāo)相鄰的兩個點(diǎn)的坐標(biāo)值,確定一組被變換的坐標(biāo)。
18.根據(jù)權(quán)利要求16的字符處理方法,其中,在所述的輸入中,所述加粗量信息參數(shù)或變細(xì)量信息的參數(shù)是在x方向和在y方向輸入的,并且,其中在所述的變換中,所述加粗量信息和所述變細(xì)量信息獨(dú)立地在所述x方向和所述y方向變化。
19.根據(jù)權(quán)利要求16的字符處理方法,其中,在所述的確定中,在參考與所述目標(biāo)坐標(biāo)相鄰的兩個點(diǎn)的所述目標(biāo)坐標(biāo)的時候,由三個點(diǎn)形成的一個角和一個輸入值確定了加粗量或變細(xì)量,并且外形的形狀由目標(biāo)字體確定。
20.根據(jù)權(quán)利要求16的字符處理方法,其中,在所述坐標(biāo)調(diào)整中,由插入兩個新的點(diǎn),而不用由所述變換得到的所述坐標(biāo)值來得到坐標(biāo)。
21.根據(jù)權(quán)利要求16的字符處理方法,其中,在所述坐標(biāo)調(diào)整中,由插入形成一條曲線的兩個新的點(diǎn),而不用由所述變換得到的所述坐標(biāo)值得到坐標(biāo)值。
22.根據(jù)權(quán)利要求16的字符處理方法,其中所述坐標(biāo)調(diào)整是移動由所述變換得到的所述坐標(biāo)值來進(jìn)行的。
23.根據(jù)權(quán)利要求16的字符處理方法,其中在產(chǎn)生所述字符圖形中,輸出一個點(diǎn)位圖化字形或一個灰體字形。
24.根據(jù)權(quán)利要求16的字符處理方法,其中,在所述的產(chǎn)生所述字符圖形中,輸出外形數(shù)據(jù)。
25.根據(jù)權(quán)利要求16的字符處理方法,其中,所述外形數(shù)據(jù)由多個有交叉筆劃的外形數(shù)據(jù)組成。
26.根據(jù)權(quán)利要求16的字符處理方法,其中,所述外形數(shù)據(jù)由多個無交叉筆劃的外形數(shù)據(jù)組成。
27.一個字符處理設(shè)備,其組成為用于存儲多組由外形數(shù)據(jù)形成的,有不同粗細(xì)度的字符數(shù)據(jù)的存儲裝置;根據(jù)存在所述存儲裝置中的所述外形數(shù)據(jù),用于具有不同加粗量信息的字符圖形的產(chǎn)生裝置;用于輸入加粗量信息或變細(xì)量信息,使所述字符圖形加粗或變細(xì)的輸入裝置;用所述的輸入裝置輸入的所述加粗量信息或所述變細(xì)量信息來選擇要變換的字符數(shù)據(jù)的選擇裝置;對應(yīng)由所述選擇裝置選出的字符數(shù)據(jù),對所述外形數(shù)據(jù)的坐標(biāo)值進(jìn)行變換的變換裝置;在用所述變換裝置進(jìn)行變換時,用于確定外形形狀的確定裝置;以及根據(jù)確定的結(jié)果,改變變換結(jié)果的坐標(biāo)調(diào)整裝置;其中所述的產(chǎn)生裝置利用所述坐標(biāo)調(diào)整裝置得到的外形數(shù)據(jù),產(chǎn)生一個粗或細(xì)的字符圖形。
28.根據(jù)權(quán)利要求27的字符處理設(shè)備,其中,所述的選擇裝置,選擇一個其粗細(xì)度接近于輸入的所述加粗量信息或所述變細(xì)量信息的字符的數(shù)據(jù),作為要轉(zhuǎn)換的字符數(shù)據(jù)。
29.根據(jù)權(quán)利要求27的字符處理設(shè)備,其中,所述輸入裝置在x方向和y方向分別輸入所述加粗量信息的參數(shù)或所述變細(xì)量信息參數(shù),并且,其中所述變換裝置獨(dú)立地在所述x方向和所述y方向改變所述加粗量信息和所述變細(xì)量信息。
30.根據(jù)權(quán)利要求27的字符處理設(shè)備,其中,所述確定裝置利用與所述目標(biāo)坐標(biāo)相鄰的兩個點(diǎn)的所述目標(biāo)坐標(biāo),確定由三個點(diǎn)形成的一個角的外形形狀。
31.根據(jù)權(quán)利要求27的字符處理設(shè)備,其中,所述坐標(biāo)調(diào)整裝置由插入兩個新的點(diǎn)而不用由所述變換裝置得到的所述坐標(biāo)值來得到坐標(biāo)值。
32.根據(jù)權(quán)利要求27的字符處理設(shè)備,其中,所述坐標(biāo)調(diào)整裝置由插入形成一條曲線的兩個新的點(diǎn)而不用由所述變換裝置得到的所述坐標(biāo)值得到坐標(biāo)值。
33.根據(jù)權(quán)利要求27的字符處理設(shè)備,其中,所述坐標(biāo)調(diào)整裝置移動由所述變換裝置得到的所述坐標(biāo)值來進(jìn)行調(diào)整。
34.根據(jù)權(quán)利要求27的字符處理設(shè)備,其中,所述字符圖形準(zhǔn)備裝置輸出一個點(diǎn)位圖化的字形或一個灰體字形。
35.根據(jù)權(quán)利要求27的字符處理設(shè)備,其中,所述外形數(shù)據(jù)由多個有交叉筆劃的外形數(shù)據(jù)組成。
36.根據(jù)權(quán)利要求27的字符處理設(shè)備,其中,所述外形數(shù)據(jù)由多個無交叉筆劃的外形數(shù)據(jù)組成。
37.根據(jù)權(quán)利要求27的字符處理設(shè)備,還包括一個輸出所產(chǎn)生的字符圖形的輸出裝置。
38.根據(jù)權(quán)利要求27的字符處理設(shè)備,其中所述輸出裝置為一臺打印機(jī)。
39.根據(jù)權(quán)利要求37的字符處理設(shè)備,其中所述輸出裝置為一臺顯示裝置。
40.根據(jù)權(quán)利要求27的字符處理設(shè)備,還包括一臺提供顯示數(shù)據(jù)的主計(jì)算機(jī)。
41.一種字符處理方法,它用存儲裝置儲存多組由多個外形數(shù)據(jù)形成的不同粗細(xì)度的字符數(shù)據(jù),該方法包括下述步驟;根據(jù)貯存的所述外形數(shù)據(jù),產(chǎn)生一個有不同加粗量信息的字符圖形;輸入一個加粗量信息或一個變細(xì)量信息,以便所述字符圖形加粗或變細(xì);用輸入的所述加粗量信息或所述變細(xì)量信息,選擇要進(jìn)行變換的字符數(shù)據(jù);變換對應(yīng)所選字符數(shù)據(jù)的外形數(shù)據(jù)的坐標(biāo)值;在變換前確定外形的形狀;根據(jù)確定的結(jié)果,進(jìn)行坐標(biāo)調(diào)整,以改變所述變換的結(jié)果;以及用由所述坐標(biāo)調(diào)整得到的外形數(shù)據(jù)產(chǎn)生一個粗的或細(xì)的字符圖形。
42.根據(jù)權(quán)利要求41的字符處理方法,其中,選擇一個粗細(xì)度接近于輸入的所述加粗量信息或所述變細(xì)量信息的字符的數(shù)據(jù),作為要變換的字符數(shù)據(jù)。
43.根據(jù)權(quán)利要求41字符處理方法,其中,在所述變換中,由參考與目標(biāo)坐標(biāo)相鄰的兩個點(diǎn)的坐標(biāo)值,確定一組被變換的坐標(biāo)。
44.根據(jù)權(quán)利要求41的字符處理方法,其中,在所述輸入中,所述加粗量信息參數(shù)或所述變細(xì)量信息參數(shù)是在x方向和在y方向輸入的,并且,其中在所述變換中,所述加粗量信息和所述變細(xì)量信息獨(dú)立地在所述x方向和所述y方向改變。
45.根據(jù)權(quán)利要求41的字符處理方法,其中,在所述確定中,在參考與所述目標(biāo)坐標(biāo)相鄰的兩個點(diǎn)的所述目標(biāo)坐標(biāo)時,由三個點(diǎn)形成的角和一個輸入值確定加粗量或變細(xì)量,并且由一個目標(biāo)字體確定外形的形狀。
46.根據(jù)權(quán)利要求41的字符處理方法,其中,在所述坐標(biāo)調(diào)整中,由插入兩個新的點(diǎn),而不用由所述變換得到的所述坐標(biāo)值來得到坐標(biāo)值。
47.根據(jù)權(quán)利要求41的字符處理方法,其中在所述坐標(biāo)調(diào)整中,用插入形成一條曲線的兩個新的點(diǎn),而不用由所述變換得到的所述坐標(biāo)值得到坐標(biāo)。
48.根據(jù)權(quán)利要求41的字符處理方法,其中所述坐標(biāo)調(diào)整是由移動從所述變換得到的所述坐標(biāo)值來進(jìn)行的。
49.根據(jù)權(quán)利要求41的字符處理方法,其中,在產(chǎn)生所述字符圖形中,輸出一個點(diǎn)位圖化的字形或一個灰體字形。
50.根據(jù)權(quán)利要求41的字符處理方法,其中在所述字符的所述產(chǎn)生中,輸出外形數(shù)據(jù)。
全文摘要
由外形數(shù)據(jù)形成的字符圖形數(shù)據(jù)被存起來,輸入一個加粗量信息或一個變細(xì)量信息,使字符圖形加粗或變細(xì)。根據(jù)輸入的加粗量信息或變細(xì)量信息,儲存的外形數(shù)據(jù)的坐標(biāo)值被變換。在進(jìn)行變換時,確定一個外形的形狀,并且根據(jù)確定的結(jié)果,調(diào)整要被變換的坐標(biāo),由于調(diào)整是由參考外形的形狀進(jìn)行,可以得到高質(zhì)量的字符數(shù)據(jù),例如點(diǎn)位圖數(shù)據(jù)和灰體數(shù)據(jù)。
文檔編號G09G5/24GK1132878SQ9512053
公開日1996年10月9日 申請日期1995年12月5日 優(yōu)先權(quán)日1994年12月5日
發(fā)明者吉田政幸 申請人:佳能株式會社