專利名稱:繪制和編碼字形的制作方法
技術(shù)領(lǐng)域:
本公開涉及信息編碼,并且更具體地,涉及字體的壓縮表示。
背景技術(shù):
字體描述了字形(glyph)族,其通常具有特定的樣式或者字樣 (typeface)。字體中的每個單獨(dú)字形通常表示語言中的單個字符, 并且字體潛在地可以包括多種語言的字形。每個字形描述了字符看起 來應(yīng)該是什么樣子的。計(jì)算機(jī)字體是字體的數(shù)字編碼,通常包含在文 件中,其一般用于規(guī)定如何將字符繪制在顯示設(shè)備上、如何由打印機(jī) 打印或者二者。
輪廓字體是一種計(jì)算機(jī)字體,其中通常將每個字形指定為描述輪 廓的一系列點(diǎn)。例如,圖1A示出了字形100,其表示為例如可以在 輪廓字體中指定的一系列直線(例如,直線110)和曲線(例如,曲 線120)。字形100中的每條直線或者曲線包括至少一個點(diǎn)130,其 指定每條直線或者曲線的末端的水平和垂直位置。圖1B中示出了字 形100的繪制195。
每個字形可以包括多個不連續(xù)的部分。例如,字形100包括部分 140、 150和160,每個部分纟皮此間分離。每個部分的輪廓通常由一個 或多個輪廓線來描述,其中輪廓線被指定為 一 系列的直線或者曲線。 例如,字體部分150包括三個輪廓線155A、 155B和155C。支持多種 語言(特別是亞洲語言)字符的字體可以對上千個乃至上萬個字形以 及字形的組成部分輪廓進(jìn)行編碼。
發(fā)明內(nèi)容
總體上,本說明書中所描述主題的一個方面可以在如下方法中實(shí)現(xiàn),該方法包括標(biāo)識元素庫的動作,其中元素庫中的每個元素與輪 廓以及一個或多個參數(shù)相關(guān)聯(lián)。標(biāo)識字形,該字形具有一個或多個對 元素庫中的相應(yīng)元素的引用。每個引用指定與相應(yīng)元素相關(guān)聯(lián)的一個 或多個參數(shù)的值?;谧中嗡玫拿總€相應(yīng)元素來繪制字形。每個 引用所指定的一個或多個參數(shù)的值影響所繪制元素的外觀。此方面的 其他實(shí)施方式包括相應(yīng)的系統(tǒng)、裝置以及計(jì)算機(jī)程序產(chǎn)品。
這些以及其他實(shí)施方式可選地包括以下一個或多個特征。元素庫 中的每個元素可以區(qū)別于元素庫中的所有其他元素。繪制字形可以包 括基于相關(guān)聯(lián)的一個或多個參數(shù)的值,來繪制與字形所引用的每個 相應(yīng)元素相關(guān)聯(lián)的每個輪廓,其中一個或多個參數(shù)中每一個參數(shù)的值 影響輪廓的形狀。與元素相關(guān)聯(lián)的一個或多個參數(shù)中的每一個可以描 述相關(guān)聯(lián)輪廓的形變,其中每個形變在繪制時影響輪廓的形狀。形變 可以影響一個或多個輪廓的高度、寬度、旋轉(zhuǎn)、粗細(xì)、錐化(taper)、 擴(kuò)展、半徑以及曲率。每個形變可以影響部分輪廓的形狀。
總體上,本說明書中所描述主題的另 一方面可以在如下方法中實(shí)
現(xiàn),該方法包括編碼元素庫的動作,其中元素庫中的每個元素與輪廓 以及一個或多個參數(shù)相關(guān)聯(lián)。元素庫中的每個元素區(qū)別于庫中的所有
用包括相關(guān)聯(lián)的一個或多個參數(shù)中一個或多個參數(shù)的值。此方面的其 他實(shí)施方式包括相應(yīng)的系統(tǒng)、裝置以及計(jì)算機(jī)程序產(chǎn)品。
這些以及其他實(shí)施方式可選地包括以下一個或多個特征。 一個或 多個參數(shù)中的每個參數(shù)可以與元素的關(guān)聯(lián)輪廓的形變相關(guān)聯(lián)。形變可 以影響輪廓的形狀,并且可以包括以下一個或多個高度、寬度、旋 轉(zhuǎn)、粗細(xì)、錐化、擴(kuò)展、半徑以及曲率。每個形變可以影響部分輪廓 的形狀。引用中參數(shù)的值可以使用相對于先前已編碼引用的值的偏移 來編碼??梢源_定每個參數(shù)的最小絕對值。編碼字形可以包括以如下 方式編碼引用特定元素的多個引用指定多個引用中每個引用的特定 元素的參數(shù)值,以及僅標(biāo)識該特定元素一次。編碼字形可以包括使用 可變字節(jié)編碼來編碼值。總體上,本說明書中所描述主題的一個方面可以實(shí)現(xiàn)在一種計(jì)算 可讀介質(zhì)中,該介質(zhì)包括用于存儲字形的數(shù)據(jù)結(jié)構(gòu)。該數(shù)據(jù)結(jié)構(gòu)包括 一個或多個對元素庫中元素的引用,其中元素庫中的每個元素與輪廓 相關(guān)聯(lián)。該數(shù)據(jù)結(jié)構(gòu)還包括一個或多個引用中每個引用的多個值,該 一個或多個值指定了與 一個或多個引用的相應(yīng)值相關(guān)聯(lián)的輪廓的形 狀。
可以實(shí)施本說明書中所描述主題的特定實(shí)施方式,以實(shí)現(xiàn)以下一 個或多個優(yōu)點(diǎn)??梢酝ㄟ^如下方式來指定和編碼字體,與指定每個字 形部分的輪廓相比,該方式需要非常少的存儲空間??梢愿鶕?jù)輪廓元 素的組合而不是一個或多個輪廓線來指定和編碼字形。使用輪廓元素 的組合來設(shè)計(jì)字體的字形可以降低設(shè)計(jì)難度。復(fù)用字形中的元素改進(jìn) 了字形內(nèi)以及字形間 一致性,這對于易讀性和質(zhì)量二者而言都是重要 的。參數(shù)的數(shù)值影響字形中輪廓元素的精細(xì)形狀,可以對參數(shù)的數(shù)值 進(jìn)行堆疊,以減少字形編碼的大小。字形中的數(shù)值可以是可變字節(jié)編 碼的或者是指定為相對偏移,以便進(jìn)一步減小編碼字形的大小。
下文的附圖和描述中記載了本發(fā)明的一個或多個實(shí)施方式的細(xì) 節(jié)。根據(jù)描述、附圖以及權(quán)利要求書,本發(fā)明的其他特征、方面和優(yōu) 點(diǎn)將變得易見。
圖1A是輪廓字體中指定的字形的圖示。 圖1B是圖1A中示出的字形的繪制的圖示。
圖2A是其各部分包括與各種元素相關(guān)聯(lián)的多個輪廓的字形的圖示。
圖2B是圖2A中示出的字形的繪制的圖示。
圖3是一種字體的圖示,該字體包括引用元素庫中元素的多個字
體字形。
圖4示出了與字形中所引用的元素相關(guān)聯(lián)的參數(shù)值如何影響字形 中輪廓的外觀。圖5是用于繪制字形的流程圖,該字形包括對元素庫中元素的引用。
圖6是用于繪制字形的系統(tǒng)的框圖,該字形引用來自元素庫的元素。
各圖中相似的參考標(biāo)號和名稱表示相似的元素。
具體實(shí)施例方式
圖2A示出了字形200,字形200的部分210A-210C包括多個輪 廓(例如,輪廓250A-250C),每個輪廓與相應(yīng)的元素(例如,元素 250-260 )相關(guān)聯(lián)。每個輪廓與字形中的其他輪廓不相連。例如,輪 廓250A與字形中的所有其他輪廓(例如,輪廓260A-260C)相分離。 與元素相關(guān)聯(lián)的每個輪廓是由一個或多個輪廓線所指定的輪廓,其中 每個輪廓線由一系列直線或者曲線(例如,二次或者三次貝塞爾曲線) 指定。
所繪制的字形可以多次包括與特定元素相關(guān)聯(lián)的輪廓。例如,輪 廓250B和輪廓250C具有類似的外觀;這些輪廓僅僅是其相對垂直 位置有所不同。可以認(rèn)為該字形多次引用了相同的元素。輪廓250A 和250B也是類似的;然而,除了具有不同的位置之外,這些輪廓的 相對水平大小也是不同的。
每個元素與輪廓以及一個或多個參數(shù)相關(guān)聯(lián),其中所述參數(shù)指定 了輪廓的外觀,諸如輪廓的長度和寬度以及輪廓的垂直和水平位置。 當(dāng)字形引用元素時,所繪制的字形包括與所引用的元素相關(guān)聯(lián)的輪 廓。每個元素引用包括確定字形中輪廓外觀的每個元素參數(shù)的值。因 此,每個元素參數(shù)的值是字形特定的。在一些實(shí)現(xiàn)中,如果參數(shù)與默 認(rèn)值相關(guān)聯(lián),則字形無需指定每個字形參數(shù)的值。
在一些實(shí)現(xiàn)中, 一些參數(shù)不能應(yīng)用于所有元素。例如,元素280 可以包括指明元素粗細(xì)的參數(shù)以及指明元素曲率的另 一參數(shù)。盡管前 一參數(shù)也適用于元素250A,但后一參數(shù)則不適用。參考圖4更詳細(xì) 地描述了參數(shù)及其對元素輪廓外觀的潛在影響。可以通過引用一個或多個預(yù)定義的元素以及每個元素的參f丈的
指定值來指定字形。例如,指定字形200可以包括在三個單獨(dú)實(shí)例中 引用元素260。每個引用包括元素的參數(shù)的值,其中該值描述了元素 的輪廓在字形中的位置和形狀。
一般而言,字形還可以包括與元素不相關(guān)聯(lián)的輪廓。例如,輪廓 240可以不是一個元素,并且沒有相關(guān)聯(lián)的參數(shù),在字形中,可以將 該輪廓指定為一系列線段而不是對形狀的引用。在一些實(shí)現(xiàn)中,對于 特定的字體,每個元素可以從不同的元素庫來標(biāo)識。
圖2B示出了圖2A中示出的字形200的繪制295。指定字形中的 每個輪廓繪制為實(shí)心區(qū)域,其繪制了看起來僅包括三個單獨(dú)字形部分 的字形。例如,盡管字形200中的部分210C包括多個輪廓,所繪制 的輪廓在理想上看起來等同于僅使用單個輪廓指定的相應(yīng)部分(例 如,部分160)的繪制(例如,與圖1B中的繪制195相比)。 一般 而言,繪制字形可以包括繪制彩色字形或者彩色陰影的字形、應(yīng)用可 視效果(諸如,投射陰影、輪廓、三維擠壓)、將字形光柵化為圖像、 或者用作圖像遮罩。在一些實(shí)現(xiàn)中,可以根據(jù)圖2A中示出的輪廓元 素得出類似于圖1A中所示的輪廓。
可以將指定字形200所需的信息與指定字形IOO所需的信息進(jìn)行 比較。具體地,注意,部分140需要至少48個點(diǎn)來指定每條直線和 曲線,其中每個點(diǎn)包括兩個值(例如,水平位置和垂直位置)。實(shí)際 上,字形可能包括遠(yuǎn)不止45個點(diǎn)。相反,部分210A中的8個元素引 用中的每一個都需要8個點(diǎn)來指定每個輪廓的位置,而每個元素的參 數(shù)只需要少至8個附加的值。由此,與標(biāo)識和提供組成字形200的最 大部分的8個元素中每個元素的參數(shù)的值所需的信息(例如,24個值) 相比,指定定義輪廓140的點(diǎn)(例如,90個值)所需的信息要多得多。
圖3是字體300的圖示,字體300包括多個字體的字形 350A-350C,其引用元素庫310中的元素。元素庫310包括多個元素, 每個元素由其不同的輪廓(例如,輪廓320、 330和340)示出。 一般 而言,每個元素的輪廓(例如,輪廓320、 330和340)區(qū)別于所有其他元素的輪廓,例如,庫中沒有兩個輪廓具有相同的外觀(或者,可 能具有相同的外觀,這是由于按照任一相應(yīng)元素的參數(shù)發(fā)生形變的結(jié)
果)。例如,在一些實(shí)現(xiàn)中,壽侖廓330和輪廓340看起來相似,然而, 輪廓330的邊是直線,而輪廓340的邊是曲線。在一些實(shí)現(xiàn)中,輪廓 330和340 二者可以相同,然而每個輪廓的關(guān)聯(lián)元素的參數(shù)可能不同。 例如,與輪廓340相關(guān)聯(lián)的元素可以包括影響輪廓曲率的參數(shù),而與 輪廓330相關(guān)聯(lián)的元素沒有這種參數(shù)。在這種實(shí)現(xiàn)中,需要彎曲變化 輪廓340的字形引用該輪廓的相應(yīng)元素以及適當(dāng)?shù)那蕝?shù),而根據(jù) 直的輪廓330構(gòu)造的字形引用相應(yīng)的元素,而不必包括與輪廓曲率相 關(guān)的一個或多個參數(shù)的任何附加值。
字體中的每個字形可以引用庫中的一個或多個元素。例如,字形 350A可以引用元素320、 330、 333、 337和340。另一字形350B可 以引用元素320、 333和337。通過引用庫中的元素,與僅使用直線和 曲線來指定字形的情況下所需的信息相比,可以使用較少的信息來指 定字體中的每個字形。在字體中,特別是在包括大量表現(xiàn)出視覺相似 性的字形的字體(例如,包含日文日本漢字以及繁體和簡體中文文字 中使用的字符的字體)中,字形可以重復(fù)地引用每個元素。
圖4示出了與字形400中引用的元素相關(guān)聯(lián)的參數(shù)的值(例如, 值410、 415、 425、 435、 445、 450、 455、 460、 465和470)可以如 何影響字形中的輪廓448、 490A-490C、 493和497的外觀。每個元素 與多個參數(shù)相關(guān)聯(lián),所述參數(shù)影響與元素相關(guān)聯(lián)的輪廓將如何出現(xiàn)在 字形中。每個元素與兩個位置參數(shù)相關(guān)聯(lián),該位置參數(shù)指定了輪廓在 字形內(nèi)的相應(yīng)水平位置和垂直位置。例如,可以將輪廓490C的位置 指定為相對于先前的指定點(diǎn)、或者相對于可以存在于字形中的原點(diǎn) 407 (例如,字形基線403的最左邊的點(diǎn))的x和_y坐標(biāo)(例如,分 別是值410和值445 )。每個元素還與至少一個形變參數(shù)相關(guān)聯(lián),該 形變參數(shù)影響元素輪廓(例如,輪廓的寬度、高度或者曲率)在字形 中的形狀而不影響位置。
一般而言,元素的每個參數(shù)對應(yīng)于可以應(yīng)用于該元素的關(guān)聯(lián)輪廓的多個形變之一。每個形變指定了可以改變元素輪廓外觀的方式(例 如,縮放、旋轉(zhuǎn)或者曲率)。參數(shù)的值影響形變影響元素輪廓的程度。
例如,元素490包括與用來水平縮放元素的關(guān)聯(lián)輪廓的形變相關(guān)聯(lián)的 參數(shù)。注意,指定元素490的水平縮放的值470描述了輪廓490A, 其大于在利用值475來指定相同元素時的輪廓,其中值475指定了輪 廓490C的水平縮放。以此方式,每當(dāng)字形引用元素時,可以定制每 個元素的輪廓。
可以使用其他形變來確定輪廓關(guān)于點(diǎn)的旋轉(zhuǎn)。例如,元素497與 如下參數(shù)相關(guān)聯(lián),該參數(shù)的值460影響元素輪廓圍繞點(diǎn)463的旋轉(zhuǎn)。 關(guān)于其進(jìn)行旋轉(zhuǎn)的點(diǎn)463可以是針對所有元素預(yù)先確定的,或者可以 是針對每個元素預(yù)先確定的。在一些實(shí)現(xiàn)中,參數(shù)的值可以用來影響 與另一參數(shù)相關(guān)聯(lián)的形變的性質(zhì)。例如,元素497可以與第二參數(shù)相 關(guān)聯(lián),該第二參數(shù)指定元素的輪廓關(guān)于其進(jìn)行旋轉(zhuǎn)的點(diǎn)(例如,點(diǎn)463 ) 的位置。
元素包括以下位置參數(shù)中的每一個,其中位置參數(shù)影響元素的輪 廓在字形內(nèi)的位置
水平位置,其影響元素的輪廓在字形內(nèi)的水平位置(例如,值 410)。
垂直位置,其影響元素的輪廓在字形內(nèi)的垂直位置(例如,值 455 )。
與每個元素相關(guān)聯(lián)的特定形變可以包括以下一個或多個形變 水平縮放,其影響元素輪廓的寬度(例如,值470)。
垂直縮放,其影響元素輪廓的高度。
粗細(xì),其影響元素輪廓的粗細(xì)(例如,值455 )而不影響其寬 度。在一些實(shí)現(xiàn)中,元素可以與多個粗細(xì)參數(shù)相關(guān)聯(lián),每個粗 細(xì)參數(shù)影響元素輪廓的不同部分的粗細(xì)。例如,三個粗細(xì)參數(shù) 可以影響元素495的一個水平條和兩個垂直條中每一個的相對粗細(xì)。
旋轉(zhuǎn),其影響輪廓關(guān)于點(diǎn)的旋轉(zhuǎn)(例如,值460)。 曲率,其影響可應(yīng)用于輪廓的曲率的點(diǎn)。例如,參數(shù)450的值
標(biāo)識輪廓448沿特定方向的彎曲程度。
筆劃錐化,其影響輪廓中的直線或者曲線相對于輪廓其他部分
的扭曲或者錐化程度。例如,參數(shù)465的值標(biāo)識了輪廓493末
端的錐化程度。
特征擴(kuò)展,其影響輪廓中部分的長度或者大小。例如,輪廓的 特征455可以增長,而不影響輪廓的其他部分。在另一示例中, 輪廓495的垂直筆劃可以增長或者縮短。而且,還可以按照關(guān) 聯(lián)參數(shù)的值來影響輪廓495的每個垂直筆劃之間的空間。
半徑,其影響具有圓形形狀的元素輪廓的大小。在一些實(shí)現(xiàn)中, 可以使用參數(shù)來指定具有橢圓形形狀的輪廓的長軸和短軸。 可以將以上一個或多個組合到單個參數(shù)中。例如, 一個元素可以 與兩個參數(shù)相關(guān)聯(lián),這兩個參數(shù)分別對應(yīng)于水平縮放和垂直縮放中的 一個。另一元素可以與單個參數(shù)相關(guān)聯(lián),該參數(shù)影響水平縮放和垂直 縮放二者(例如,輪廓的呈比例縮放)。如果輪廓在大小呈比例變化 的多個字形中出現(xiàn),則組合形變可能是有用的。
在一些實(shí)現(xiàn)中,每個已編碼元素可以包括元素4侖廓(例如,指定 為一系列直線和曲線)的編碼。每個元素還可以包括如下信息,該信 息指定元素具有多少形變參數(shù)、哪些形變與所述參數(shù)相關(guān)聯(lián)、以及元 素中的哪些點(diǎn)與每個形變相關(guān)聯(lián)。例如,可以利用與輪廓488相關(guān)聯(lián) 的元素對信息進(jìn)行編碼,其指明輪廓的哪些點(diǎn)要進(jìn)行曲率形變。
在一些實(shí)現(xiàn)中,針對字形中的元素參數(shù)所指定的值可以是相對于 先前指定字形的。例如,輪廓490B的位置可以相對于在其之前指定 的元素(例如,輪廓490A)來指定,而不是相對于字形原點(diǎn)407來 指定。與輪廓490B的垂直位置相關(guān)聯(lián)的值435指明了在先前輪廓 490A之上的該輪廓位置。同樣,值425和415指明了輪廓490A相對 于輪廓490B位置的水平位置和垂直位置。
在一些實(shí)現(xiàn)中,每個單獨(dú)的值可以指定為相對于先前指定值的偏 移。例如,元素引用可以包括以下6個值610、 548、 457、 528、 427、481??梢允褂萌缦碌南鄬ζ苼碇付ㄟ@些相同的值610、 -62、 -91、 71、 -101、 54。特別地,注意,第二個值548是通過將610與-62相 加而得到的,而第三個值是通過將548與-91相加得到的。注意,當(dāng) 以二進(jìn)制編碼時,前面的6個值每個都需要不止一個字節(jié),而后面的 6個值可以僅通過7個字節(jié)來容易地編碼。備選地,可以將一系列值 指定為關(guān)于該系列中第一個值的相對偏移(例如,上述值中的每一個 可以作為相對于第一個值610的偏移而給出)。
通過編碼來指定每個字形,該編碼可以包括對元素的引用以及每 個所引用元素的每個參數(shù)的值。 一般而言,每個字形編碼是較大的字 體編碼的一部分,并且通常存儲在存儲設(shè)備上的文件中(例如,存儲 在只讀或者讀寫存儲器上,并且可對其進(jìn)行訪問)。在一些實(shí)現(xiàn)中, 字體編碼可以包括元素庫以及關(guān)于每個元素參數(shù)和相關(guān)聯(lián)形變的信 息。在其他實(shí)現(xiàn)中,元素庫可以與字體分離地編碼。備選地,可以以 如下方式編碼元素庫,使得一些元素與字體一起編碼,而一些元素與 字體分離地編碼(例如,多個字體編碼可以引用的全局元素庫)。
在一些實(shí)現(xiàn)中,字形可以編碼為一系列指令,每個指令具有一個 或多個操作數(shù)。例如,指令可以通過指定具有兩個操作的"lineto" 指令,來指示從當(dāng)前位置到第二位置描繪一條直線,其中所述兩個操 作指明第二位置的水平和垂直方面。指令還可以引用元素,指示元素
的輪廓是從元素庫中描繪的;這樣的指令還可以指明可被解釋為參數(shù) 值的可變數(shù)目的操作數(shù)。例如,對于引用指令,第一操作數(shù)可以標(biāo)識 特定的元素(例如,引用元素庫中的元素位置),而后續(xù)操作數(shù)指明 每個元素參數(shù)的值。
例如,兩次引用相同元素的字形可以具有以下代表性編碼
84 34 -29 45 94 compose 39-92212394 compose
在上文的編碼中,"compose"指明使用第一操作數(shù)來標(biāo)識特定 元素(在此情況下是元素庫中的元素"94")的指令。其余4個操作
數(shù)是所指定元素參數(shù)值。所繪制的字形將包括兩個輪廓,二者都引用相同的元素,但是根據(jù)其指定的參數(shù)而在位置和形狀方面有所不同。 在一些實(shí)現(xiàn)中,指定元素參數(shù)的操作數(shù)可以堆疊,如在下文的代
表性編碼中所示
8434-29459439-92213394 compose 前8個值對上文給出的兩個引用二者指定了 4個相同的參數(shù)。通 過堆疊參數(shù)值,對于編碼中指定的四個參數(shù)的每個,多次引用元素
"94"。 一般而言,可以按照如下方式來堆疊元素參數(shù),使得對于具 有"個參數(shù)的給定元素而言,如果提供m乘"個參數(shù),則按照w個 由"個參數(shù)構(gòu)成的集合中的每一個集合來產(chǎn)生w個輪廓。
除了引用元素之外,字形編碼還可以包括直接指定輪廓(例如, 指定為直線和曲線,而不引用元素)的信息。在無法根據(jù)元素庫中可 用元素來單獨(dú)構(gòu)建或者有效構(gòu)建字形的所需方面時,這種信息可以與 字形一起編碼。
字??勺冏止?jié)編碼將數(shù)字編碼在與數(shù)字的絕對值成比例的可變數(shù)目字 節(jié)中。在一些實(shí)現(xiàn)中,可以使用單個字節(jié)來編碼較小的數(shù)字以及指定 是否需要附加位來解碼該數(shù)字的信息二者。例如,假設(shè)v是第一字節(jié) 的值,則如果v具有32到246之間的值,則所編碼的數(shù)字是v減去 139。如果v具有包含247到250之間的值,則編碼的數(shù)字是 (v-247)x256+v,+108,其中v,是v后面字節(jié)的值。類似地,如果v具 有包含251到254之間的值,則編碼的數(shù)字是0-251) x(-256)-v,-108。 如果v的值是255,則數(shù)字作為4字節(jié)的有符號數(shù)被編碼在v后面的 4個字節(jié)中。可以使用0到32之間的v值來編碼至少32個唯一的指 令或者操作(例如,引用元素庫中元素的指令,或者在當(dāng)前位置和操 作數(shù)給出的位置之間畫線的指令)。
在一些實(shí)現(xiàn)中,可以編碼字符,以最小化在編碼中使用的每個數(shù) 字的絕對值。不是在需要大值的維度中指定輪廓值(例如,300x300 的方框),而是可以將值最小化(例如,30x30的方框),同時仍然 保留輪廓的相對形狀。將用來編碼字形的數(shù)字的絕對值最小化,使得存儲字體所需的字節(jié)數(shù)目得以最小化;特別是在與上文討論的技術(shù)之 一 (例如,可變字節(jié)編碼或者相對偏移)相結(jié)合的情況下。
圖5是用于繪制包括對元素庫中元素的引用的字形的過程500的 流程圖。過程500包括標(biāo)識元素庫(步驟510)。在一些實(shí)現(xiàn)中,元 素庫包括字體,字體包含引用來自該庫的元素的字形。在其他實(shí)現(xiàn)中, 元素庫可以與字體分離地標(biāo)識。元素庫可以是預(yù)定義的(例如,由操
作系統(tǒng)、應(yīng)用或者用戶偏好來預(yù)定義)。例如,可以標(biāo)識元素庫,其 中,多個單獨(dú)的字體(例如,其中每個字體具有不同的樣式或者包括 不同的字形集)中的每一個可以引用相同的元素庫。
過程500包括接收對元素庫中元素的標(biāo)識(步驟520 )。字體中
標(biāo)識元素的一個或多個參數(shù)的值(步驟530)。每個參數(shù)的值與字形 中對元素的每個引用相關(guān)聯(lián),或者是利用這種引用來進(jìn)行編碼。接收 值可以包括對已被編碼的值進(jìn)行解碼,以便使指定值所需的空間最小 化。例如,可以將值指定為與前面的值的相對偏移,或者可以通過壓 縮可變字節(jié)編碼來對值進(jìn)行編碼和/或可以對引用相同元素的多個引 用的參數(shù)進(jìn)行堆疊。在繪制輪廓時,使用每個形變參數(shù)的值來確定與 元素相關(guān)聯(lián)的輪廓的形狀。
過程500包括基于每個參數(shù)值(如字形的元素引用中所指定的) 來對所標(biāo)識元素相關(guān)聯(lián)的輪廓進(jìn)行形變(步驟540)。每個字形的形 變是基于在元素庫中指定的元素(例如,與元素相關(guān)聯(lián)的參數(shù))以及 與元素相關(guān)聯(lián)的特定輪廓。 一般而言,字形可以在多個引用中標(biāo)識多 個元素,對于每個引用,指定每個引用的每個元素的參數(shù)值。對于每 個引用,對所引用元素的輪廓進(jìn)行形變(例如,可以針對字形中的每 個引用來重復(fù)步驟520到540)。
過程500可以可選地包括接收與字形相關(guān)聯(lián)的附加輪廓(步驟 550 )。這種輪廓不與元素庫中的任何元素相關(guān)聯(lián)。字形可以包括指 定為直線和曲線的這種輪廓,特別是在字形描繪了無法有效指定為庫 中的一個元素或多個元素的組合的形狀時。過程500包括通過繪制經(jīng)形變的輪廓來繪制字形(步驟560)。 繪制經(jīng)形變的輪廓的方式類似于繪制輪廓的方式,就如同其已被指定 為字形的一部分那樣。 一般而言,這包括對輪廓進(jìn)行光柵化,并且可 以包括諸如反走樣、亞像素繪制的其他操作。在一些實(shí)現(xiàn)中,可以將 字形直接繪制在顯示設(shè)備上。在其他實(shí)現(xiàn)中,每個字形的繪制或者經(jīng) 形變的輪廓存儲于存儲器高速緩存(例如,存儲器的部分,通常是高 速的易失性存儲器)。在將字形繪制到顯示設(shè)備時,可以從高速緩存 繪制或者復(fù)制字形。從高速緩存將字形繪制到顯示設(shè)備使得繪制 一 系 列字形(通??赡馨ㄏ嗤中蔚亩啻卫L制)所需的解碼、輪廓形變 以及光柵化得以最小化。
一般而言,針對字形中的每個引用而繪制經(jīng)形變的輪廓。在字形 還指定了一個或多個輪廓(例如,在步驟550中接收的輪廓)的實(shí)現(xiàn) 中,還要繪制字形特定的輪廓。
圖6示出了用于繪制引用元素庫中元素的字形的系統(tǒng)600。系統(tǒng) 600總體上包括模塊(例如,模塊650-690 )和資源(例如,字體信 息610)。模塊通常是不同功能的單元,其可以向其他模塊提供信息 并從其他模塊接收信息。模塊可以促進(jìn)與輸入或者輸出設(shè)備(例如, 字形繪制器680)的通信。模塊可以對資源進(jìn)行操作。 一般而言,資 源是模塊可操作的信息的集合。然而,在一些實(shí)現(xiàn)中,向其他模塊提 供信息的模塊可以像資源一樣操作,反之亦然。例如,在一些實(shí)現(xiàn)中, 字形高速緩存690可以視作資源。
系統(tǒng)600包括字體信息600,其包括涉及一個或多個字體的信息, 其中每個字體包括用于一個或多個字形的字形信息620。用于每個字 形的字形信息可以包括一個或多個輪廓623、以及一個或多個對元素 的引用627。字形中的每個引用標(biāo)識元素庫630中的元素。元素庫630 包括一個或多個元素,每個元素包括輪廓633以及位置參數(shù)和形變參 數(shù)637 二者。
系統(tǒng)600包括字體繪制引擎640。字體繪制引擎630包括元素解 碼器645,其用于解碼接收到的字形信息620。元素解碼器645包括元素標(biāo)識器650,用于對標(biāo)識元素庫630中元素的字形元素引用627 進(jìn)行解碼。例如,元素標(biāo)識器650可以標(biāo)識元素引用指令和指令的各 操作數(shù),其可以指定所引用的元素以及元素的各參數(shù)的值二者。參數(shù) 處理器660可以對涉及元素參數(shù)值的字形信息進(jìn)行解碼。參數(shù)處理器 660可以確定所引用的元素需要多少參數(shù)。在一些實(shí)現(xiàn)中,參數(shù)處理 器660可以確定參數(shù)何時被堆疊(例如,被編碼為多個參數(shù)集的、對 相同元素的多個引用,而沒有顯式地重新標(biāo)識所引用的元素)。
元素解碼器645還可以包括輪廓形變器670,其根據(jù)在字形中指 定、并由參數(shù)處理器660處理的參數(shù)值,來對與元素相關(guān)聯(lián)的輪廓進(jìn) 行形變。輪廓形變器645可以執(zhí)行如下操作,該操作調(diào)節(jié)輪廓中的點(diǎn) 相對于其他點(diǎn)的位置。例如,可以水平地或者垂直地將點(diǎn)移開(例如,
對應(yīng)于水平和垂直縮放參數(shù))。
字體繪制引擎640還可以包括字形繪制器680。字形繪制器680 可以使用字形中引用的元素的經(jīng)形變輪廓以及字形特定的任何輪廓 (如果有的話)來繪制字形。字形繪制器可以將每個字形直接繪制到 顯示設(shè)備695上。顯示設(shè)備695可以包括CRT或者LCD顯示器、投 影顯示設(shè)備或者內(nèi)置顯示設(shè)備(例如手持或者便攜式通信、娛樂或控 制設(shè)備中的那些設(shè)備)。
在一些實(shí)現(xiàn)中,字形繪制器680可以將字形繪制到字形高速緩存 中。字形可以根據(jù)命令(例如,在需要時)繪制到字形高速緩存690 中,或者可以預(yù)先繪制到字形高速緩存690中(例如,在系統(tǒng)加載字 體時)。在這種實(shí)現(xiàn)中,當(dāng)繪制到顯示設(shè)備695上時,字形繪制器680 可以通過訪問字形高速緩存690中預(yù)先繪制的字形來繪制字形,而不 是根據(jù)筆跡(scratch)來繪制字形。
一般而言,系統(tǒng)600中示出的模塊和資源可以合并或者劃分,并 且可以實(shí)現(xiàn)在由 一 個或多個網(wǎng)絡(luò)連接的 一 個或多個計(jì)算設(shè)備上的硬 件或軟件的某些組合中。
本說明書中描述的主題和功能性操作的實(shí)施方式可以在數(shù)字電 子電路中實(shí)現(xiàn),或者在計(jì)算機(jī)軟件、固件或硬件中實(shí)現(xiàn),該計(jì)算機(jī)軟件、固件或硬件包括本說明書中公開的結(jié)構(gòu)及其等同結(jié)構(gòu)、或是它們 的一個或多個的組合。本說明書中描述的主題的實(shí)施方式可以實(shí)現(xiàn)為 一個或多個計(jì)算機(jī)程序產(chǎn)品,也即,在計(jì)算機(jī)可讀介質(zhì)上編碼的、以 便由數(shù)據(jù)處理裝置執(zhí)行或控制數(shù)據(jù)處理裝置操作的一個或多個計(jì)算 機(jī)程序指令模塊。計(jì)算機(jī)可讀介質(zhì)可以是機(jī)器可讀的存儲設(shè)備、機(jī)器 可讀的存儲襯底、存儲設(shè)備、實(shí)現(xiàn)計(jì)算機(jī)可讀的傳播信號的組合、或 者它們中的一個或多個的結(jié)合。術(shù)語"數(shù)據(jù)處理裝置"包括用于處理 數(shù)據(jù)的所有裝置、設(shè)備和機(jī)器,例如包括可編程處理器、計(jì)算機(jī),或 者多個處理器或計(jì)算機(jī)。除了硬件之外,該裝置可以包括為考慮中的 計(jì)算機(jī)程序創(chuàng)建執(zhí)行環(huán)境的代碼,例如,構(gòu)成處理器固件、協(xié)議棧、 數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)、跨平臺運(yùn)行時環(huán)境,或者它們中一個或 多個的結(jié)合的代碼。傳播信號是人工生成的信號,例如及其生成的電 信號、光信號或者電磁信號,生成這些信號是為了對信息進(jìn)行編碼以 便傳輸?shù)竭m當(dāng)?shù)慕邮掌餮b置。
計(jì)算機(jī)程序(也公知為程序、軟件、軟件應(yīng)用、腳本或代碼)可 以由任意形式的編程語言編寫,包括編譯語言或解釋語言,說明性語 言或過程語言,并且該計(jì)算機(jī)程序可以任意形式部署,包括部署為單 獨(dú)的程序或模塊、組件、子例程,或者適于在計(jì)算環(huán)境中使用的其他 單元。計(jì)算機(jī)程序無需對應(yīng)于文件系統(tǒng)中的文件。程序可以存儲在保 存其他程序或數(shù)據(jù)(例如,存儲在標(biāo)記語言文檔中的 一個或多個腳本) 的文件的 一部分中、可以存儲在專門用于考慮中的程序的單個文件 中,或者存儲在多個協(xié)同文件中(例如,存儲一個或多個模塊、子程 序,或代碼部分的文件)??梢詫⒂?jì)算機(jī)程序部署為在一個計(jì)算機(jī)上 執(zhí)行,或者將其部署為在位于一個地點(diǎn)的多個計(jì)算機(jī)上執(zhí)行或跨過多 個地點(diǎn)分布且通過通信網(wǎng)絡(luò)互連的多個計(jì)算機(jī)上執(zhí)行。
本說明書中描述的處理和邏輯流程可以由執(zhí)行一個或多個計(jì)算 機(jī)程序的一個或多個可編程處理器執(zhí)行,用于通過對輸入數(shù)據(jù)進(jìn)行操
作以及產(chǎn)生輸出來執(zhí)行功能。該處理和邏輯流程還可以由例如FPGA (現(xiàn)場可編程門陣列)或ASIC (專用集成電路)的專用邏輯電路執(zhí)行,并且也可以將裝置實(shí)現(xiàn)為所述專用邏輯電路。
適于計(jì)算機(jī)程序執(zhí)行的處理器例如包括通用和專用處理器兩者、 以及任意類型的數(shù)字計(jì)算機(jī)的任意一個或多個處理器。通常,處理器 將從只讀存儲器或隨機(jī)訪問存儲器或兩者處接收指令和數(shù)據(jù)。計(jì)算機(jī) 的基本元件是用于執(zhí)行指令的處理器以及用于存儲指令和數(shù)據(jù)的一 個或多個存儲器設(shè)備。通常,計(jì)算機(jī)還將包括用于存儲數(shù)據(jù)的一個或 多個海量存儲設(shè)備,或被操作性地耦合為從所述用于存儲數(shù)據(jù)的一個 或多個海量存儲設(shè)備接收數(shù)據(jù)、向其傳送數(shù)據(jù)、或者進(jìn)行兩者,該海 量存儲設(shè)備例如磁盤、磁光盤、或光盤。然而,計(jì)算機(jī)不必一定具有 這樣的設(shè)備。而且,計(jì)算機(jī)可以嵌入在其他設(shè)備中,例如移動電話、
個人數(shù)字助理(PDA )、移動音頻或視頻播放器、全球定位系統(tǒng)(GPS ) 接收器、或者便攜式存儲設(shè)備(例如,通用串行總線(USB)閃存馬區(qū) 動),這僅是一些例子。適于存儲計(jì)算機(jī)程序指令和數(shù)據(jù)的計(jì)算機(jī)可 讀介質(zhì)包括所有形式的非易失性存儲器、介質(zhì)和存儲設(shè)備,例如包括 半導(dǎo)體存儲設(shè)備,如EPROM、 EEPROM和閃存設(shè)備;磁盤,如內(nèi)部 硬盤或可移動硬盤;磁光盤;以及CD-ROM和DVD-ROM盤。處理
為了提供與用戶的交互,本說明書中描述的主題的實(shí)施方式可以 在具有用于向用戶顯示信息的顯示設(shè)備以及用戶可以通過其向計(jì)算 機(jī)提供輸入的鍵盤和指示設(shè)備的計(jì)算機(jī)上實(shí)現(xiàn),其中顯示設(shè)備例如 CRT (陰極射線管)或者LCD (液晶顯示器)顯示器,指示設(shè)備例如 鼠標(biāo)或者軌跡球。也可以使用其他類型的設(shè)備來提供與用戶的交互; 例如,提供給用戶的反饋可以是任何形式的感觀反饋,例如視覺反饋、 聲覺反饋、或者觸覺反饋;并且可以接收來自用戶的任意形式的輸入,
包括聲音、語音或觸覺輸入。
本說明書中描述的主題的實(shí)施方式可以實(shí)現(xiàn)在包括后端組件的
計(jì)算系統(tǒng)中,例如數(shù)據(jù)服務(wù)器;或?qū)崿F(xiàn)在包括中間件組件的計(jì)算系統(tǒng) 中,例如應(yīng)用服務(wù)器;或?qū)崿F(xiàn)在包括前端組件的計(jì)算系統(tǒng)中,例如具 有圖形用戶界面或者Web瀏覽器的客戶端計(jì)算機(jī),用戶通過該圖形用戶界面或Web瀏覽器可以與本說明書中描述的主題的實(shí)現(xiàn)進(jìn)行交 互;或?qū)崿F(xiàn)在一個或多個這樣的后端、中間件、或前端組件的任意結(jié) 合中。系統(tǒng)組件可以與任意形式或介質(zhì)的數(shù)字?jǐn)?shù)據(jù)通信(例如,通信 網(wǎng)絡(luò))互連。通信網(wǎng)絡(luò)的示例包括局域網(wǎng)("LAN")和廣域網(wǎng) ("WAN"),例如互聯(lián)網(wǎng)。
計(jì)算系統(tǒng)可以包括客戶端和服務(wù)器??蛻舳撕头?wù)器一般相互遠(yuǎn) 離,并且通常通過通信網(wǎng)絡(luò)進(jìn)行交互??蛻舳撕头?wù)器的關(guān)系是借助 于在各自計(jì)算機(jī)上運(yùn)行的、彼此具有客戶端-服務(wù)器關(guān)系的計(jì)算機(jī)程 序得到的。
盡管本說明書包含多種特定細(xì)節(jié),但是不應(yīng)將其理解為是對本發(fā) 明的范圍或者所要求保護(hù)內(nèi)容的限制,而應(yīng)當(dāng)理解為是本發(fā)明具體實(shí) 施方式的特定特征的描述。本說明書中描述的在各個實(shí)施方式的上下 文中的某些特征也可以在單個實(shí)施方式中結(jié)合實(shí)現(xiàn)。相反,在單個實(shí) 施方式上下文中描述的各種特征也可以分別實(shí)現(xiàn)在多個實(shí)施方式中 或者任意適當(dāng)?shù)淖咏M合中。而且,盡管上文可能將特征描述為在特定 的組合中操作,甚至初始也是這樣要求保護(hù)的,但是來自所要求保護(hù) 的組合的一個或多個特征在一些情況下可以從該組合中去除,并且所
類似地,盡管在附圖中以特定的順序描述操作,但是不應(yīng)將其理 解為要求按照所示的特定順序或是串行順序來執(zhí)行這些操作,或是要 求執(zhí)行全部所示的操作以得到期望的結(jié)果。在特定環(huán)境中,多任務(wù)和 并行處理可能是有利的。而且,在上述實(shí)施方式中多個系統(tǒng)組件的分 離不應(yīng)被理解為在所有實(shí)施方式中需要這些操作,應(yīng)當(dāng)將其理解為所 描述的程序組件和系統(tǒng)通??梢栽趩蝹€軟件產(chǎn)品中集成在一起,或是 被打包到多個軟件產(chǎn)品中。
已經(jīng)描述了本說明書中所描述主題的特定實(shí)施方式。其他實(shí)施方 式也在所附權(quán)利要求的范圍之內(nèi)。例如,可以按照不同的順序來執(zhí)行 權(quán)利要求中記載的動作,并且仍然能夠?qū)崿F(xiàn)期望的結(jié)果。
權(quán)利要求
1. 一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括標(biāo)識元素庫,所述元素庫中的每個元素與輪廓以及一個或多個參數(shù)相關(guān)聯(lián);標(biāo)識具有一個或多個對所述參數(shù)庫中的相應(yīng)元素的引用的字形,每個引用指明與所述相應(yīng)元素相關(guān)聯(lián)的一個或多個所述參數(shù)的值;以及基于所述字形所引用的每個相應(yīng)元素來繪制所述字形,其中由每個引用所指定的所述一個或多個參數(shù)的值影響所繪制元素的外觀。
2. 根據(jù)權(quán)利要求1的方法,其中所述元素庫中的每個元素區(qū)別于所述元素庫中的所有其他元素。
3. 根據(jù)權(quán)利要求l的方法,其中繪制所述字形還包括 根據(jù)所述相關(guān)聯(lián)的一個或多個參數(shù)的值來繪制與所述字形所引用的每個相應(yīng)元素相關(guān)聯(lián)的每個輪廓,其中所述一個或多個參數(shù)中的 每個參數(shù)的值影響所述輪廓的形狀。
4. 根據(jù)權(quán)利要求1的方法,其中與元素關(guān)聯(lián)的所述一個或多個參 數(shù)中的每一 個參數(shù)描述所述相關(guān)聯(lián)輪廓的形變,每個形變在繪制時影 響所述輪廓的形狀,包括以下一個或多個所述輪廓的高度、寬度、 旋轉(zhuǎn)、粗細(xì)、錐化、擴(kuò)展、半徑和曲率。
5. 根據(jù)權(quán)利要求4的方法,其中每個形變影響所述輪廓的部分的形狀。
6. —種計(jì)算才幾實(shí)現(xiàn)的方法,包括編碼元素庫,所述元素庫中的每個元素與輪廓以及一個或多個參 元素;以及具有所述相關(guān)聯(lián)的一個或多個參數(shù)中一個或多個的值。
7. 根據(jù)權(quán)利要求6的方法,其中一個或多個參數(shù)中的每一個與所述元素的相關(guān)聯(lián)輪廓的形變相關(guān)聯(lián)。
8. 根據(jù)權(quán)利要求7的方法,其中形變影響所述輪廓的形狀,并且 包4舌以下一個或多個高度、寬度、旋轉(zhuǎn)、粗細(xì)、錐化、擴(kuò)展、半徑以及曲率。
9. 根據(jù)權(quán)利要求8的方法,其中 每個形變影響所述輪廓的部分的形狀。
10. 根據(jù)權(quán)利要求6的方法,其中使用相對于先前已編碼的引用的值的相對偏移來編碼所述引用中的參數(shù)值。
11. 根據(jù)權(quán)利要求6的方法,其中編碼所述字形包括確定每個參數(shù)的最小絕對值。
12. 根據(jù)權(quán)利要求6的方法,其中編碼字形包括以如下方式對引用特定元素的多個引用進(jìn)行編碼針對所述多個 引用中的每個引用來指定所述特定元素的參數(shù)的值,并且僅標(biāo)識所述 特定元素一次。
13. 根據(jù)權(quán)利要求6的方法,其中編碼字形包括 使用可變字節(jié)編碼對值進(jìn)行編碼。
14. 一種計(jì)算機(jī)可讀介質(zhì),包括用于存儲字形的數(shù)據(jù)結(jié)構(gòu),所述 數(shù)據(jù)結(jié)構(gòu)包括一個或多個對元素庫中元素的引用,所述元素庫中的每個元素與 輪廓相關(guān)聯(lián);以及針對所述一個或多個引用中每個引用的多個值,所述一個或多個 值描述與所述一個或多個引用的相應(yīng)元素相關(guān)聯(lián)的輪廓的形狀。
15. —種編碼在計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品,其可操作 以使數(shù)據(jù)處理裝置執(zhí)行操作,所述操作包括標(biāo)識元素庫,所述元素庫中的每個元素與輪廓以及一個或多個參 數(shù)相關(guān)聯(lián);標(biāo)識具有一個或多個對所述參數(shù)庫中的相應(yīng)元素的引用的字形,每個引用指明與所述相應(yīng)元素相關(guān)聯(lián)的一個或多個所述參數(shù)的值;以 及基于所述字形所引用的每個相應(yīng)元素來繪制所述字形,由每個引 用所指定的所述一個或多個參數(shù)的值影響所繪制元素的外觀。
16. 根據(jù)權(quán)利要求15的產(chǎn)品,其中繪制所述字形還包括 根據(jù)所述相關(guān)聯(lián)的一個或多個參數(shù)的值來繪制與所述字形所引用的每個相應(yīng)元素相關(guān)聯(lián)的每個輪廓,其中所述一個或多個參數(shù)中的每個參數(shù)的值影響所述輪廓的形狀。
17. —種編碼在計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品,其可操作 以使數(shù)據(jù)處理裝置執(zhí)行操作,所述操作包括編碼元素庫,所述元素庫中的每個元素與輪廓以及一個或多個參元素;以及具有所述相關(guān)聯(lián)的一個或多個參數(shù)中一個或多個的值。
18. 根據(jù)權(quán)利要求17的產(chǎn)品,其中繪制所述字形還包括 根據(jù)所述相關(guān)聯(lián)的一個或多個參數(shù)的值來繪制與所述字形所引用的每個相應(yīng)元素相關(guān)聯(lián)的每個輪廓,其中所述一個或多個參數(shù)中的每個參數(shù)的值影響所述輪廓的形狀。
19. 一種系統(tǒng),包括用于標(biāo)識元素庫的裝置,所述元素庫中的每個元素與輪廓以及一 個或多個參數(shù)相關(guān)聯(lián);用于標(biāo)識具有 一 個或多個對所述參數(shù)庫中的相應(yīng)元素的引用的 字形的裝置,每個引用指明與所述相應(yīng)參數(shù)相關(guān)聯(lián)的一個或多個所述 參數(shù)的值;以及用于基于所述字形所引用的每個相應(yīng)元素來繪制所述字形的裝 置,其中每個引用所指定的所述一個或多個參數(shù)的所述值影響所繪制 元素的外觀。
20. —種系統(tǒng),包括用于編碼元素庫的裝置,所述元素庫中的每個元素與輪廓以及一個或多個參數(shù)相關(guān)聯(lián),所述元素庫中的每個元素區(qū)別于所述元素庫中 的所有其他元素;以及置,每個引用具有所述相關(guān)聯(lián)的一個或多個參數(shù)中一個或多個的值。
全文摘要
公開了一種方法、系統(tǒng)和裝置,其中包括用于對字體信息進(jìn)行壓縮編碼的計(jì)算機(jī)程序產(chǎn)品。在一個方面,提供一種方法,包括標(biāo)識元素庫(630),其中元素庫中的每個元素與輪廓(633)以及一個或多個參數(shù)(637)相關(guān)聯(lián)。標(biāo)識字形,該字形具有一個或多個對元素庫(630)中的相應(yīng)元素的引用(627)。每個引用指定了與相應(yīng)元素相關(guān)聯(lián)的一個或多個參數(shù)的值。根據(jù)字形所引用的每個相應(yīng)元素來繪制(680)該字形。每個引用所指定的一個或多個參數(shù)的值影響所繪制元素的外觀(645,660,670)。
文檔編號G06T11/20GK101536037SQ200780040842
公開日2009年9月16日 申請日期2007年9月19日 優(yōu)先權(quán)日2006年9月20日
發(fā)明者T·S·道靈 申請人:奧多比公司