專(zhuān)利名稱(chēng):結(jié)構(gòu)性圖形顯示系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種結(jié)構(gòu)性圖形顯示系統(tǒng),特別涉及一種可將一結(jié)構(gòu)性圖形的子圖形加以變化以產(chǎn)生一新的結(jié)構(gòu)性圖形的結(jié)構(gòu)性圖形顯示系統(tǒng)。
目前的高品質(zhì)中文字型大都使用筆劃組字技術(shù)來(lái)完成,筆劃組字技術(shù)將每一個(gè)字型的字視為一個(gè)由許多筆劃組成的結(jié)構(gòu)性圖形,而每一筆劃則是由該筆劃的外形輪廓所構(gòu)成的子圖形來(lái)代表。中文字的筆劃種類(lèi)并不多,同一種筆劃,例如“一”在不同的字中或是一個(gè)字的不同部位,它們一方面在外形輪廓上具有相同的特征,一方面也會(huì)有許多像是長(zhǎng)、短、胖、瘦或是角度的差異。因此當(dāng)代表一個(gè)筆劃的長(zhǎng)、短、角度及位置的關(guān)鍵點(diǎn)以及代表一個(gè)筆劃胖、瘦的寬度值能被分別標(biāo)定出來(lái)時(shí),一個(gè)筆劃的外形輪廓就可以很容易地用一個(gè)筆劃繪制程序計(jì)算出來(lái)并加以繪制。
每一種筆劃都設(shè)有預(yù)定個(gè)數(shù)的關(guān)鍵點(diǎn)及寬度值,而且每一種筆劃都可用一個(gè)筆劃繪制程序來(lái)繪制。筆劃繪制程序是用“圖形描述語(yǔ)言(Graphicdescription language)”寫(xiě)成的,它可根據(jù)給定的關(guān)鍵點(diǎn)及寬度值將一種筆劃的外形繪制在一個(gè)方框內(nèi),而一個(gè)字的字型就是將它所有的筆劃由各個(gè)筆劃繪制程序逐一繪制在一個(gè)方框內(nèi)所構(gòu)成的。
請(qǐng)參閱
圖1。圖1為習(xí)知筆劃表10的數(shù)據(jù)結(jié)構(gòu)。筆劃表10包含代表每個(gè)筆劃的筆劃碼12,以及用來(lái)繪制各個(gè)筆劃的筆劃繪制程序14。在繪制筆劃時(shí),系統(tǒng)會(huì)依據(jù)一個(gè)筆劃的筆劃碼來(lái)取出相對(duì)應(yīng)的筆劃繪制程序,然后再利用該筆劃繪制程序依據(jù)該筆劃的關(guān)鍵點(diǎn)及寬度值來(lái)將該筆劃的外形輪廓繪制在一個(gè)方框內(nèi)。
請(qǐng)參閱圖2和圖3。圖2所示的為筆劃20的外形輪廓以及各個(gè)關(guān)鍵點(diǎn)及寬度值的位置。而圖3為筆劃20的數(shù)據(jù)結(jié)構(gòu)30。筆劃20設(shè)有三個(gè)關(guān)鍵點(diǎn)(x1,y1)、(x2,y2)和(x3,y3)以及兩個(gè)寬度值w1和w2,數(shù)據(jù)結(jié)構(gòu)30包含筆劃20的筆劃碼(ID7)以及各個(gè)關(guān)鍵點(diǎn)和寬度值。
請(qǐng)參閱圖4。圖4為習(xí)知字型描述文件40的數(shù)據(jù)結(jié)構(gòu)。字型描述文件40是用來(lái)記錄每一個(gè)字型是由哪些筆劃所組成,以及每個(gè)筆劃的筆劃碼、關(guān)鍵點(diǎn)和寬度值等筆劃數(shù)據(jù)。字型描述文件40包含一索引表42以及每個(gè)字的筆劃描述表44。索引表42內(nèi)含有每個(gè)字型的字碼(WID)以及相對(duì)應(yīng)的筆劃描述表44的地址。而筆劃描述表44則是由一字型的各個(gè)筆劃的數(shù)據(jù)結(jié)構(gòu)所組成,就如同圖3所示的數(shù)據(jù)結(jié)構(gòu)30,其內(nèi)含有各個(gè)筆劃的筆劃數(shù)據(jù)筆劃碼、關(guān)鍵點(diǎn)和寬度值,同時(shí)這些筆劃數(shù)據(jù)是依照一個(gè)預(yù)定的順序來(lái)排列的,如同寫(xiě)字時(shí)所用的筆順。在繪制一個(gè)字型的時(shí)候,只要找出該字型的字碼,系統(tǒng)就會(huì)利用字型描述文件40的索引表42將該字型的筆劃描述表44找出,然后再配合前述的筆劃表10將該字型的所有筆劃逐一繪制在一個(gè)方框內(nèi)以完成該字型。
運(yùn)用上述的筆劃組字方法來(lái)制造一套新字型時(shí),首先需找出筆劃數(shù)據(jù)結(jié)構(gòu)中的各個(gè)參數(shù),而這些參數(shù)的產(chǎn)生是由專(zhuān)業(yè)美術(shù)人員先在書(shū)面上一筆一劃地繪制出一套新字型中的每一字符,然后再將各字符的每一筆劃予以數(shù)字化,亦即計(jì)算出每個(gè)字符的所有構(gòu)成筆劃以及各個(gè)筆劃關(guān)鍵點(diǎn)和寬度值,以制作出相對(duì)應(yīng)的筆劃表和字型描述表。每一套新字型的產(chǎn)生都需分別制作出該字型專(zhuān)屬的筆劃表與字型描述表,而一套常用的中文字型包含大約一萬(wàn)四千個(gè)字符,運(yùn)用前述的方式需耗去半年左右的時(shí)間才能制作出一套新的字型。因此產(chǎn)生一套新字型的速度相當(dāng)緩慢。
因此本發(fā)明的主要目的在于提供一種結(jié)構(gòu)性圖形顯示系統(tǒng),利用改變一既存字型中各個(gè)字符的某些屬性,來(lái)產(chǎn)生一新字型的字符,以減少制作新字型所耗費(fèi)的人力與時(shí)間。
為了實(shí)現(xiàn)本發(fā)明的上述目的,本發(fā)明提供一種結(jié)構(gòu)性圖形顯示系統(tǒng),包含一存儲(chǔ)器,用來(lái)存儲(chǔ)數(shù)據(jù)與程序;一處理器,用來(lái)執(zhí)行存儲(chǔ)于該存儲(chǔ)器內(nèi)的程序;以及一預(yù)設(shè)區(qū)域,用來(lái)顯示一結(jié)構(gòu)性圖形;每一結(jié)構(gòu)性圖形由至少一子圖形構(gòu)成,每一子圖形均設(shè)有多個(gè)參數(shù)以及一相對(duì)應(yīng)的子圖形繪制程序存儲(chǔ)于該存儲(chǔ)器內(nèi),用來(lái)依據(jù)該子圖形的參數(shù)將該子圖形繪出,每一結(jié)構(gòu)性圖形由其所有子圖形在該預(yù)設(shè)區(qū)域中逐一繪制而成,每一子圖形均包含一外框,該系統(tǒng)還包含一外框變化程序,存儲(chǔ)于該存儲(chǔ)器內(nèi),其可依據(jù)一變化規(guī)則并沿一切線方向來(lái)更改一子圖形的外框;其中當(dāng)繪制一結(jié)構(gòu)性圖形于該預(yù)設(shè)區(qū)域中,該外框變化程序可用來(lái)改變?cè)摻Y(jié)構(gòu)性圖形的所有子圖形的外框,以使該結(jié)構(gòu)性圖形得以在該切線方向產(chǎn)生規(guī)則性的外框變化。
與習(xí)知新字型產(chǎn)生方法以逐字逐筆的方式建立筆劃的關(guān)鍵點(diǎn)、寬度值和筆劃繪制程序相比,本發(fā)明的結(jié)構(gòu)性圖形顯示系統(tǒng)只需對(duì)現(xiàn)有的字型做屬性上的變化即可產(chǎn)生出效果完全不同的新字型,除了可以節(jié)省大量的制作時(shí)間外,由于屬性的變化的方式可以有無(wú)限多種組合,因此可以制作出種類(lèi)繁多的新字型以滿足使用者的需要。
附圖的簡(jiǎn)單說(shuō)明圖1為習(xí)知筆劃表的數(shù)據(jù)結(jié)構(gòu)。
圖2為一筆劃的外形輪廓以及各個(gè)關(guān)鍵點(diǎn)及寬度值。
圖3為圖2所示筆劃的數(shù)據(jù)結(jié)構(gòu)。
圖4為習(xí)知字型描述文件的數(shù)據(jù)結(jié)構(gòu)。
圖5為本發(fā)明結(jié)構(gòu)性圖形顯示系統(tǒng)的硬件系統(tǒng)方塊圖。
圖6為圖5結(jié)構(gòu)性圖形顯示系統(tǒng)的軟件系統(tǒng)方塊圖。
圖7為圖6所示的外框變化描述表的數(shù)據(jù)結(jié)構(gòu)。
圖8為本發(fā)明的新字型字符圖。
圖9為圖8新字型字符產(chǎn)生的流程圖。
圖10為一筆劃的外形輪廓以及沿切線方向的各線段與其坐標(biāo)值。
請(qǐng)參閱圖5。圖5為本發(fā)明結(jié)構(gòu)性圖形顯示系統(tǒng)50的硬件系統(tǒng)方塊圖。系統(tǒng)50包含一電腦52以及一監(jiān)視器58。電腦52包含一存儲(chǔ)器54,用來(lái)存儲(chǔ)數(shù)據(jù)與程序;以及一處理器56,用來(lái)執(zhí)行存儲(chǔ)于存儲(chǔ)器54內(nèi)的程序。監(jiān)視器58包含一屏幕60,用來(lái)顯示電腦52所產(chǎn)生的結(jié)構(gòu)性圖形,例如中文字型。
請(qǐng)參閱圖6。圖6為圖5結(jié)構(gòu)性圖形顯示系統(tǒng)50的軟件系統(tǒng)70的方塊圖。軟件系統(tǒng)70存儲(chǔ)于電腦52的存儲(chǔ)器54內(nèi),其包含一繪圖控制程序72,用來(lái)控制一字型的繪制;一外框變化程序74,用來(lái)依據(jù)一預(yù)定的變化規(guī)則,沿一切線方向來(lái)更改一筆劃的外框;一圖形整合程序76,用來(lái)將一字符的所有筆劃的外框加以整合并繪制于屏幕60中;一筆劃表10,用來(lái)存儲(chǔ)用以繪制每個(gè)字型中各個(gè)筆劃的筆劃碼及筆劃繪制程序;以及一字型描述文件78,用來(lái)存儲(chǔ)每一字型中各個(gè)字符的參數(shù)數(shù)據(jù)。字型描述文件78包含一索引文件42,用來(lái)記錄每個(gè)字符的字碼以及相對(duì)應(yīng)的筆劃描述表的地址;以及一筆劃描述表44,用來(lái)記錄每一字型的字符所包含的筆劃、和每個(gè)筆劃的筆劃碼、關(guān)鍵點(diǎn)和寬度值等筆劃數(shù)據(jù),并且將這些筆劃數(shù)據(jù)依照一個(gè)預(yù)定的順序來(lái)排列。字型描述文件78還包含一外框變化描述文件80,用來(lái)記錄每一字型的切線參數(shù)及外框變化參數(shù)。
軟件系統(tǒng)70中的繪圖控制程序72會(huì)依據(jù)一字符的字碼來(lái)搜尋字型描述文件78以找出該字符中所有筆劃的參數(shù),將各筆劃的參數(shù)交由該筆劃相對(duì)應(yīng)的筆劃繪制程序來(lái)將各筆劃的外框繪出,并將各筆劃的外框交由外框變化程序74依據(jù)一變化規(guī)則并沿一切線方向來(lái)加以改變,再將各筆劃改變后的外框交由圖形整合程序76加以整合并繪制于屏幕60中。而外框變化程序74在變化各筆劃的外框時(shí),會(huì)依據(jù)存儲(chǔ)在外框變化描述文件80中的切線參數(shù)來(lái)決定該切線方向,以及依據(jù)存儲(chǔ)在外框變化描述文件80中的外框變化參數(shù)來(lái)決定該外框變化規(guī)則。
請(qǐng)參閱圖7。圖7為圖6中所示的外框變化描述文件80的數(shù)據(jù)結(jié)構(gòu)。外框變化描述文件80中包含一變化描述表82、一原字型碼索引表84、一變化系數(shù)碼索引表86、以及多個(gè)變化系數(shù)描述表88。變化描述表82內(nèi)含有每個(gè)新造字型的新字型碼90與新字型名稱(chēng)92、該新造字型所藉以變化產(chǎn)生的原字型碼94、該新字型的外框變化系數(shù)96與切線系數(shù)98。原字型碼索引表84內(nèi)含有每個(gè)原字型的字型碼以及對(duì)應(yīng)的字型名稱(chēng)。變化系數(shù)碼索引表86內(nèi)含有外框變化系數(shù)碼以及相對(duì)應(yīng)的外框變化名稱(chēng)。變化系數(shù)描述表88則是用來(lái)記錄各種外框變化方式。當(dāng)外框變化程序74在改變一筆劃的外框時(shí),會(huì)分別搜尋變化描述表82中的切線系數(shù)98以選出該外框沿該切線方向上兩兩成對(duì)的外框點(diǎn),和外框變化系數(shù)96以決定變化該外框點(diǎn)的方式和變化總量,然后依據(jù)外框變化系數(shù)以一種配對(duì)的方式來(lái)同時(shí)更改各對(duì)外框點(diǎn)。
請(qǐng)參閱圖8與圖9。圖8為本發(fā)明的新字型字符圖。圖9為圖8新字型字符產(chǎn)生的流程圖100。本發(fā)明的新字型包含楷墨水體、楷竹節(jié)體、黑鋸齒體和黑疊白扭曲體等四種新字型。新字型字符產(chǎn)生的流程圖100包含下列步驟步驟102開(kāi)始;步驟103輸入所欲產(chǎn)生的新字型碼90、字碼以及字符大??;步驟104繪圖控制程序72依據(jù)所輸入的新字型碼90來(lái)搜尋外框變化描述文件80以找出新字型碼90所賴(lài)以變化產(chǎn)生的原字型碼94,并依據(jù)此原字型碼94及所輸入的字碼來(lái)搜尋字型描述文件78以找出該字碼的所有筆劃的參數(shù),將各筆劃的參數(shù)交由與該各筆劃相對(duì)應(yīng)的筆劃繪制程序來(lái)將各筆劃的外框繪出,并將各筆劃的外框交由外框變化程序74來(lái)加以變化;步驟105外框變化程序74依據(jù)變化描述表80中的切線系數(shù)98選出該外框沿該切線方向上的兩兩成對(duì)的外框點(diǎn),并依據(jù)外框變化系數(shù)96以配對(duì)的方式來(lái)同時(shí)更改各對(duì)外框點(diǎn);步驟106圖形整合程序76將更改后的各對(duì)外框點(diǎn)加以整合并繪制于監(jiān)視器58的屏幕60上;步驟107結(jié)束。
關(guān)于上述步驟108中外框變化程序74更改各筆劃外框的方式,現(xiàn)在以圖8中的楷墨水體第一個(gè)字符“臼”的第一筆劃120“丿”的外框變化來(lái)作進(jìn)一步的說(shuō)明。請(qǐng)參閱圖10。圖10為筆劃120的外形輪廓及沿水平切線的各線段與其坐標(biāo)值。當(dāng)使用者輸入楷墨水體的字型碼“11”、“臼”的字碼以及欲產(chǎn)生的字符大小后,繪圖控制程序72會(huì)搜尋字型描述文件78的外框變化描述文件80以找出楷墨水體的原字型(楷體),再據(jù)以搜尋字型描述文件78以找出楷體的索引表42與筆劃描述表44,進(jìn)而找出字符“臼”的筆劃120的筆劃碼、關(guān)鍵點(diǎn)和寬度值,并依據(jù)其筆劃碼到筆劃表10中找出相對(duì)應(yīng)的筆劃繪制程序以繪出筆劃120交由外框變化程序74來(lái)加以變化。之后外框變化程序74會(huì)依據(jù)變化描述表82中的切線系數(shù)98來(lái)選出筆劃120的外框沿切線方向上的兩兩成對(duì)的外框點(diǎn)。由圖9中可以看出外框變化程序74沿著水平方向取固定間隔的切線,共取得七對(duì)左右對(duì)稱(chēng)的外框點(diǎn)122。在得到各對(duì)外框點(diǎn)的坐標(biāo)值后,外框變化程序74會(huì)進(jìn)一步依據(jù)各個(gè)外框變化系數(shù)96依序變化各外框點(diǎn)122的坐標(biāo)值。
外框變化系數(shù)96的系數(shù)1為選邊系數(shù),表示只對(duì)左邊、右邊或同時(shí)對(duì)左右兩邊的外框點(diǎn)加以變化的參數(shù)。系數(shù)2為疊筆變化,表示是否將一字符中的各筆劃予以部份重疊的參數(shù)。系數(shù)3為變化系數(shù),表示外框變化種類(lèi)的參數(shù),用來(lái)決定變化各外框點(diǎn)的坐標(biāo)值時(shí)應(yīng)采用何種規(guī)則或公式。系數(shù)4和系數(shù)5則分別為程度控制第一和第二系數(shù),用來(lái)決定系數(shù)3中采用的變化公式所應(yīng)輸入的變化常數(shù)。例如楷墨水體的前5個(gè)系數(shù)分別為3、0、3、5、20,分別表示需同時(shí)變化左右兩邊的外框點(diǎn)122、沒(méi)有疊筆變化以及采用墨水變化。墨水變化所表示的即是采用下列公式來(lái)變化外框點(diǎn)122的坐標(biāo)值XL=XL-隨機(jī)數(shù)值(字符大小×系數(shù)4/100)XR=XR+隨機(jī)數(shù)值(字符大小×系數(shù)5/100)
其中系數(shù)4和系數(shù)5分別為5和20。
在變化描述表82中的外框變化系數(shù)96中還包含一項(xiàng)變化總量系數(shù),外框變化程序74在變化外框點(diǎn)122的坐標(biāo)值時(shí),會(huì)依據(jù)此變化總量系數(shù)來(lái)控制各外框點(diǎn)122的變化量以防止外框過(guò)度變化。
外框變化程序74在依據(jù)上述的變化公式一一更改7對(duì)外框點(diǎn)122的坐標(biāo)值后,會(huì)將變化后的坐標(biāo)值交由圖形整合程序76加以整合,并繪制于監(jiān)視器58的屏幕60上。由上述的外框變化公式和過(guò)程中可以看出,將楷體字符的左右兩側(cè)外框每隔一固定距離同時(shí)向外擴(kuò)散一小段不特定的距離,即可產(chǎn)生出邊緣不平滑、具有中國(guó)書(shū)法效果的楷墨水體。此外,若將上述公式中的隨機(jī)數(shù)值改為一固定的數(shù)值、沿水平以外的切線方向變化外框、各對(duì)外框點(diǎn)間的距離不固定、或以不同的字型為變化基礎(chǔ),則又可產(chǎn)生不同效果的字型。
以上所述僅為本發(fā)明的較佳實(shí)施例,凡依本發(fā)明權(quán)利要求所做的均等變化與修飾,皆應(yīng)屬本發(fā)明專(zhuān)利的涵蓋范圍。
權(quán)利要求
1.一種結(jié)構(gòu)性圖形顯示系統(tǒng),包含一存儲(chǔ)器,用來(lái)存儲(chǔ)數(shù)據(jù)與程序;一處理器,用來(lái)執(zhí)行存儲(chǔ)于該存儲(chǔ)器內(nèi)的程序;以及一預(yù)設(shè)區(qū)域,用來(lái)顯示一結(jié)構(gòu)性圖形;每一結(jié)構(gòu)性圖形由至少一子圖形構(gòu)成,每一子圖形均設(shè)有多個(gè)參數(shù)以及一相對(duì)應(yīng)的子圖形繪制程序存儲(chǔ)于該存儲(chǔ)器內(nèi),用來(lái)依據(jù)該子圖形的參數(shù)將該子圖形繪出,每一結(jié)構(gòu)性圖形由其所有子圖形在該預(yù)設(shè)區(qū)域中逐一繪制而成,每一子圖形均包含一外框,其特征在于,該系統(tǒng)還包含一外框變化程序,存儲(chǔ)于該存儲(chǔ)器內(nèi),其可依據(jù)一變化規(guī)則并沿一切線方向來(lái)更改一子圖形的外框;其中當(dāng)繪制一結(jié)構(gòu)性圖形于該預(yù)設(shè)區(qū)域中,該外框變化程序可用來(lái)改變?cè)摻Y(jié)構(gòu)性圖形的所有子圖形的外框,以使該結(jié)構(gòu)性圖形得以在該切線方向產(chǎn)生規(guī)則性的外框變化。
2.如權(quán)利要求1所述的結(jié)構(gòu)性圖形顯示系統(tǒng),其中每一結(jié)構(gòu)性圖形的所有子圖形的參數(shù)均存儲(chǔ)于一圖形描述文件中,而該系統(tǒng)還包含一圖形整合程序,存儲(chǔ)于該存儲(chǔ)器內(nèi),用來(lái)將一結(jié)構(gòu)性圖形的所有子圖形的外框加以整合并繪制于該預(yù)設(shè)區(qū)域中;以及一繪圖控制程序,用來(lái)控制一結(jié)構(gòu)性圖形的繪制;其中該繪圖控制程序會(huì)依據(jù)一結(jié)構(gòu)性圖形的字碼來(lái)搜尋該圖形描述文件,以找出該結(jié)構(gòu)性圖形的所有子圖形的參數(shù),將各個(gè)子圖形的參數(shù)交由與該子圖形相對(duì)應(yīng)的子圖形繪制程序來(lái)將各個(gè)子圖形的外框繪出,將各個(gè)子圖形的外框交由該外框變化程序來(lái)加以改變,以及將各個(gè)子圖形的改變后的外框交由該圖形整合程序加以整合并繪制于該預(yù)設(shè)區(qū)域中。
3.如權(quán)利要求1所述的結(jié)構(gòu)性圖形顯示系統(tǒng),其中每一結(jié)構(gòu)性圖形均包含一切線參數(shù)及外框變化參數(shù)存儲(chǔ)于該圖形描述文件中,而該外框變化程序則會(huì)依據(jù)該切線參數(shù)來(lái)決定該切線方向,以及依據(jù)該外框變化參數(shù)來(lái)決定該外框的變化規(guī)則。
4.如權(quán)利要求1所述的結(jié)構(gòu)性圖形顯示系統(tǒng),其中該結(jié)構(gòu)性圖形為一字型,其包含至少一筆劃,而該字型的所有筆劃即為構(gòu)成該字型的所有子圖形。
5.如權(quán)利要求1所述的結(jié)構(gòu)性圖形顯示系統(tǒng),其中該外框變化程序在更改一子圖形的外框時(shí),該外框變化程序會(huì)依據(jù)一預(yù)設(shè)的變化總量來(lái)控制該外框的變化量以防止過(guò)度變化。
6.如權(quán)利要求1所述的結(jié)構(gòu)性圖形顯示系統(tǒng),其中該外框變化程序在更改一子圖形的外框時(shí),該外框變化程序會(huì)選出該外框沿該切線方向上的兩兩成對(duì)的外框點(diǎn),并以一種配對(duì)的方式來(lái)同時(shí)更改各對(duì)外框點(diǎn)。
全文摘要
一種結(jié)構(gòu)性圖形顯示系統(tǒng),利用對(duì)一既存的結(jié)構(gòu)性圖形中的各子圖形加以變化以產(chǎn)生一新的結(jié)構(gòu)性圖形。該系統(tǒng)包含:繪圖控制程序、外框變化程序、圖形整合程序、筆劃表、以及字型描述文件。字型描述文件中包含:索引文件,記錄每個(gè)字型的字碼及其筆劃描述表的地址;筆劃描述表,記錄每一個(gè)字型由哪些筆劃所組成、和每個(gè)筆劃的筆劃碼、關(guān)鍵點(diǎn)和寬度值等筆劃數(shù)據(jù);以及外框變化描述文件,記錄每一字型的切線參數(shù)及外框變化參數(shù)。
文檔編號(hào)G06F19/00GK1245940SQ98118400
公開(kāi)日2000年3月1日 申請(qǐng)日期1998年8月21日 優(yōu)先權(quán)日1998年8月21日
發(fā)明者吳福生, 黃逸輝 申請(qǐng)人:文鼎科技開(kāi)發(fā)股份有限公司