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

一種計算機字庫內(nèi)建支持行外標點功能的方法

文檔序號:6383032閱讀:597來源:國知局

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