專利名稱::一種計(jì)算機(jī)字庫(kù)內(nèi)建支持行外標(biāo)點(diǎn)功能的方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于計(jì)算機(jī)字庫(kù)
技術(shù)領(lǐng)域:
,具體而言,涉及一種計(jì)算機(jī)字庫(kù)內(nèi)建支持行外標(biāo)點(diǎn)功能的方法。
背景技術(shù):
:中文現(xiàn)代標(biāo)點(diǎn)誕生初期,在排版時(shí)標(biāo)點(diǎn)并非同現(xiàn)代一樣與漢字均位于行內(nèi),而是當(dāng)文字豎排時(shí)位于靠近標(biāo)點(diǎn)前一個(gè)字右下角的位置,即位于行外,因此稱這種用法為行外標(biāo)點(diǎn)?,F(xiàn)代在使用計(jì)算機(jī)模仿古籍或民國(guó)書籍的排版時(shí),為了實(shí)現(xiàn)行外標(biāo)點(diǎn),通常需要針對(duì)每個(gè)出現(xiàn)的標(biāo)點(diǎn)單獨(dú)設(shè)置樣式,使其脫離行內(nèi)位置;或單獨(dú)建立一個(gè)或多個(gè)文本域?qū)S糜诖娣艠?biāo)點(diǎn)。這些方法不僅設(shè)置麻煩,并且具有在各平臺(tái)中方法不通用、呈現(xiàn)的效果不受字庫(kù)控制、破壞文本數(shù)據(jù)流等缺點(diǎn)。
發(fā)明內(nèi)容本發(fā)明旨在提供一種字庫(kù)內(nèi)建支持行外標(biāo)點(diǎn)功能的方法,包括在字庫(kù)中增加作為行外標(biāo)點(diǎn)的字形;在新增的字形中放置矢量圖形;為作為行外標(biāo)點(diǎn)的字形編寫vmtx表描述;為作為行外標(biāo)點(diǎn)的字形編寫GSUB表特性描述。本發(fā)明實(shí)施例的計(jì)算機(jī)字庫(kù)內(nèi)建支持行外標(biāo)點(diǎn)功能的方法因?yàn)槭腔谧謳?kù)自身支持的功能,所以可以擁有跨平臺(tái)的兼容性及便利性;并且可以由字庫(kù)設(shè)計(jì)及開發(fā)者將預(yù)制的多套行外標(biāo)點(diǎn)字形(Glyph)內(nèi)置在字庫(kù)中,供使用者選擇。此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分。本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中圖1示出了根據(jù)本發(fā)明實(shí)施例的計(jì)算機(jī)字庫(kù)內(nèi)建支持行外標(biāo)點(diǎn)功能的方法的流程圖;圖2示出了根據(jù)本發(fā)明實(shí)施例的漢字字形的工作區(qū)及其度量空間;圖3示出了根據(jù)本發(fā)明實(shí)施例的作為行外標(biāo)點(diǎn)的字形“行外頓號(hào)”;圖4示出了根據(jù)本發(fā)明實(shí)施例的當(dāng)一段文本使用了作為行外標(biāo)點(diǎn)的字形“行外頓號(hào)”前后的效果對(duì)比。具體實(shí)施例方式下面結(jié)合實(shí)施例和附圖對(duì)本發(fā)明提供的字庫(kù)內(nèi)建支持行外標(biāo)點(diǎn)功能的方法進(jìn)行詳細(xì)描述。在本實(shí)施例中,字庫(kù)采用OpenTypename-keyed形式字庫(kù),其中所涉及的操作方法及描述基于字庫(kù)編輯軟件FontLabStudio及字庫(kù)編譯工具AFDKO(AdobeFontDevelopmentKitforOpenType)提供的功能及其規(guī)范。字庫(kù)中的坐標(biāo)系是以左下角為原點(diǎn),以第一象限作為工作區(qū)。字庫(kù)中存在以下三項(xiàng)基本參數(shù)UPM(Unitsperem)、上升部(Ascender)及下降部(Descender)。UPM用以表示字庫(kù)中工作區(qū)的精度,即一個(gè)工作區(qū)的寬、高被劃分為多少個(gè)相對(duì)單位;上升部及下降部則分別表示工作區(qū)中字形的上下邊緣位置。此外,字庫(kù)中的hmtx表(Horizontalmetricstable,水平度量表)及vmtx表(Verticalmetricstable,垂直度星表)負(fù)責(zé)記錄每個(gè)子形的覽度及聞度度星彳曰息。對(duì)于一般的漢字印刷體字庫(kù),其漢字字形度量寬度與高度均等于UPM,且左側(cè)度量位于O點(diǎn),上方度量位于上升部位置。在本實(shí)施例中,字庫(kù)的UPM為1000,上升部及下降部分別為800及-120,所以漢字字形的度量空間為從左下角的x0,y_120到右上角的xl000,y880的正方形空間(如圖2所示)O下面結(jié)合圖1所示的根據(jù)本發(fā)明實(shí)施例的流程圖來(lái)詳細(xì)說(shuō)明在字庫(kù)中添加及使用一個(gè)作為行外標(biāo)點(diǎn)的字形“行外頓號(hào)”的方法步驟1,在字庫(kù)中增加作為行外標(biāo)點(diǎn)的字形。首先,在FontLab軟件中為字庫(kù)源文件增加一個(gè)空白字形,并設(shè)置其度量寬度為與字庫(kù)中的漢字字形一致,本實(shí)施例中為1000。接下來(lái),為新增的空白字形設(shè)置名稱及Unicode碼位。Unicode碼位不是必需的,若不設(shè)置將無(wú)法在某些軟件中調(diào)用該字形。本實(shí)施例中將該字形的Unicode碼位編入PUA(PrivateUseArea,私用區(qū))區(qū)段,因此設(shè)置其名稱及Unicode碼位分別為uniEOOO及E000。步驟2,在新增的字形中放置矢量圖形。為了使標(biāo)點(diǎn)可以在豎排時(shí)顯示于前一個(gè)字的右側(cè)位置,需要將其矢量圖形放置在字形右側(cè)度量以右及上方度量以上附近的空間中。本實(shí)施例中放置矢量圖形后的字形如圖3所示。做完此步驟后,需將字庫(kù)源文件生成為AFDKO所支持的格式,以便最后使用AFDKO生成最終字庫(kù)文件時(shí)被調(diào)用,相關(guān)操作在此不贅述。步驟3,為作為行外標(biāo)點(diǎn)的字形編寫vmtx表描述。編寫vmtx表描述是為了將作為行外標(biāo)點(diǎn)的字形度量高度設(shè)置為0,這樣在豎排時(shí),該字形將不具有行內(nèi)高度,但其矢量圖形并不會(huì)因此而被隱藏。ADFKO所支持的vmtx表描述的寫法如下tablevmtx{VertOriginY[字形I名稱][值];VertAdvanceY[字形I名稱][值];VertOriginY[字形2名稱][值];VertAdvanceY[字形2名稱][值];......}vmtx;其中VertOriginY表示字形的上方度量位置,VertAdvanceY表示字形的度量高度,即其上方度量至下方度量間的距離。VertOriginY不是必需的,若不提供,AFDKO會(huì)將上方度量設(shè)置為與上升部位置相同。本實(shí)施例中編寫的vmtx表描述的內(nèi)容如下tablevmtx{VertAdvanceYuniEOOOO;}vmtx;接下來(lái)將其存儲(chǔ)進(jìn)名為“features”的文本文件,并與生成后的字體源文件一同置于項(xiàng)目文件夾中,以便最后使用AFDKO生成最終字庫(kù)文件時(shí)將被調(diào)用。做到這里,通過(guò)AFDKO生成的最終字庫(kù)文件中的“行外頓號(hào)”已經(jīng)可以使用了,在支持讀取vmtx表的文字編輯軟件中將可以正常顯示。但因?yàn)椴襟EI中并沒(méi)有將該“行外頓號(hào)”字形的Unicode碼位分配為正常頓號(hào)的Unicode碼位,或者根本沒(méi)有為其設(shè)置Unicode碼位,所以在使用該字庫(kù)時(shí)無(wú)法令正常頓號(hào)直接顯示或方便的轉(zhuǎn)換為“行外頓號(hào)”。為了方便調(diào)用作為行外標(biāo)點(diǎn)的字形,還需進(jìn)行以下的步驟。步驟4,為作為行外標(biāo)點(diǎn)的字形編寫GSUB表特性描述。編寫GSUB表(Glyphsubstitutiondatatable,字形替換數(shù)據(jù)表)特性描述是為了在正常標(biāo)點(diǎn)字形與作為行外標(biāo)點(diǎn)的字形間建立轉(zhuǎn)換關(guān)系,使后者可以通過(guò)啟用相關(guān)OpenType特性而被方便的調(diào)用。AFDKO所支持的GSUB表特性描述的寫法如下feature[特性名稱]{sub[被替換的字形名稱]by[替換為的字形名稱];......}[特性名稱];GSUB表中的諸多OpenType特性均可以被選擇使用,如使用vert及/或vrt2特性進(jìn)行描述,當(dāng)在支持讀取vert及/或vrt2特性的軟件中編輯文本時(shí),當(dāng)文本豎排時(shí)會(huì)默認(rèn)自動(dòng)將正常標(biāo)點(diǎn)字形轉(zhuǎn)換為行外標(biāo)點(diǎn)字形。為了可以將是否啟用行外標(biāo)點(diǎn)功能的選擇權(quán)交由使用者,本實(shí)施例中使用swsh(花飾字)特性進(jìn)行描述,內(nèi)容如下featureswsh{subuniE78FbyuniEOOO;}swsh;因行外標(biāo)點(diǎn)功能僅針對(duì)豎排環(huán)境,所以該描述中的“被替換的字形名稱”并非使用漢字字體中的正常頓號(hào)字形uni3001,而使用經(jīng)vert及/或vrt2特性轉(zhuǎn)換后的豎排用頓號(hào)字形uniE78F,也因此,在features文件中swsh特性必須寫在vert及/或vrt2特性之后。做完此步驟后,在使用通過(guò)AFDKO生成的最終字庫(kù)文件時(shí),在Photoshop或Illustrator等支持調(diào)用OpenType特性的軟件中,當(dāng)文字豎排時(shí),可通過(guò)啟用“OpenType”菜單中的“花飾字”選項(xiàng)調(diào)用“行外頓號(hào)”。本實(shí)施例中啟用相關(guān)OpenType特性前后的效果對(duì)比如圖4所/Jnο顯然,本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)該明白,上述的實(shí)施方式僅僅是為了說(shuō)明本發(fā)明的原理而采用的示例,它們亦可以用其他軟件或工具實(shí)現(xiàn),或者采用不同的步驟。因此,本發(fā)明不限制于任何特定的軟件或工具或步驟的組合。對(duì)于本領(lǐng)域內(nèi)的技術(shù)人員而言,本發(fā)明可以有各種更改和變化,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求1.一種字庫(kù)內(nèi)建支持行外標(biāo)點(diǎn)功能的方法,其特征在于,包括在字庫(kù)中增加作為行外標(biāo)點(diǎn)的字形;在新增的字形中放置矢量圖形;為作為行外標(biāo)點(diǎn)的字形編寫vmtx表描述;為作為行外標(biāo)點(diǎn)的字形編寫GSUB表特性描述。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在字庫(kù)中增加作為行外標(biāo)點(diǎn)的字形包括為字庫(kù)源文件增加一個(gè)空白字形;設(shè)置其度量寬度為與字庫(kù)中的漢字字形一致;為新增的空白字形設(shè)置名稱及Unicode碼位。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,為新增的空白字形設(shè)置名稱及Unicode碼位包括Unicode碼位不是必需的,若不設(shè)置將無(wú)法在某些軟件中調(diào)用該字形。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在新增的字形中放置矢量圖形包括為了使標(biāo)點(diǎn)可以在豎排時(shí)顯示于前一個(gè)字的右側(cè)位置,需要將其矢量圖形放置在字形右側(cè)度量以右及上方度量以上附近的空間中。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,為作為行外標(biāo)點(diǎn)的字形編寫vmtx表描述包括編寫vmtx表描述是為了將作為行外標(biāo)點(diǎn)的字形度量高度設(shè)置為0,這樣在豎排時(shí),該字形將不具有行內(nèi)高度,但其矢量圖形并不會(huì)因此而被隱藏。6.根據(jù)權(quán)利要求1所述的方法,其特征在于,為作為行外標(biāo)點(diǎn)的字形編寫GSUB表特性描述包括編寫GSUB表特性描述是為了在正常標(biāo)點(diǎn)字形與作為行外標(biāo)點(diǎn)的字形間建立轉(zhuǎn)換關(guān)系,使后者可以通過(guò)啟用相關(guān)OpenType特性而被方便的調(diào)用。7.根據(jù)權(quán)利要求6所述的方法,其特征在于,編寫GSUB表特性描述是為了在正常標(biāo)點(diǎn)字形與作為行外標(biāo)點(diǎn)的字形間建立轉(zhuǎn)換關(guān)系包括GSUB表中的諸多OpenType特性均可以被選擇使用。全文摘要本發(fā)明旨在提供一種字庫(kù)內(nèi)建支持行外標(biāo)點(diǎn)功能的方法,包括在字庫(kù)中增加作為行外標(biāo)點(diǎn)的字形;在新增的字形中放置矢量圖形;為作為行外標(biāo)點(diǎn)的字形編寫vmtx表描述;為作為行外標(biāo)點(diǎn)的字形編寫GSUB表特性描述。本發(fā)明實(shí)施例的計(jì)算機(jī)字庫(kù)內(nèi)建支持行外標(biāo)點(diǎn)功能的方法因?yàn)槭腔谧謳?kù)自身支持的功能,所以可以擁有跨平臺(tái)的兼容性及便利性;并且可以由字庫(kù)設(shè)計(jì)及開發(fā)者將預(yù)制的多套行外標(biāo)點(diǎn)字形內(nèi)置在字庫(kù)中,供使用者選擇。文檔編號(hào)G06F17/30GK103034694SQ20121051009公開日2013年4月10日申請(qǐng)日期2012年12月4日優(yōu)先權(quán)日2012年12月4日發(fā)明者厲向晨申請(qǐng)人:厲向晨