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

減少字體指令的制作方法

文檔序號(hào):6485091閱讀:242來源:國(guó)知局
減少字體指令的制作方法
【專利摘要】公開了一個(gè)或多個(gè)技術(shù)和/或系統(tǒng)以用于減少字體的字體執(zhí)行指令,從而減小字體的文件大小。該字體執(zhí)行指令可以被掃描(例如,通過審查表)以標(biāo)識(shí)字體執(zhí)行指令中的一個(gè)或多個(gè)共同指令集??梢詾楣餐噶罴x函數(shù),并且字體執(zhí)行指令中的共同指令集的實(shí)例或外觀可以用對(duì)該函數(shù)的調(diào)用替代。由于該調(diào)用一般比其替代的共同指令集更?。ɡ?,包括更少的代碼行),因此,字體執(zhí)行指令的數(shù)量得以減少。
【專利說明】減少字體指令
【背景技術(shù)】
[0001]在計(jì)算環(huán)境中,計(jì)算機(jī)字體可以包括特定字型的字符(例如字母數(shù)字字符)的樣式。計(jì)算機(jī)字體在保持它們的字型樣式的同時(shí)典型地可以被縮放到更大或更小的尺寸,被加粗和/或被用斜體。字體的特征可以包括筆劃寬度(重量),字符斜率或角度,及字符寬度(例如,以及高度)。再現(xiàn)(例如光柵化)顯示器上的字體的度量標(biāo)準(zhǔn)可以包括描述字體各個(gè)字符的獨(dú)立字形的元數(shù)據(jù)。計(jì)算機(jī)字體可以包含,更確切地說是被包含在程序內(nèi)(例如,在一個(gè)或多個(gè)字體文件中),該程序可以利用編程語言來描述各個(gè)字形如何被光柵化組件再現(xiàn),以顯示給用戶。

【發(fā)明內(nèi)容】

[0002]提供本
【發(fā)明內(nèi)容】
以便以簡(jiǎn)化的形式介紹以下在【具體實(shí)施方式】中進(jìn)一步描述的概念的選擇。本
【發(fā)明內(nèi)容】
不是旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵因素或必要特征,也不是旨在用于限制所要求保護(hù)的主題的范圍。
[0003]某些計(jì)算機(jī)字體可能包括一種機(jī)制,其中字符的縮放輪廓可以被調(diào)整,以在目標(biāo)設(shè)備上實(shí)現(xiàn)所期望的輸出?;诓僮鞔a(op-code)的類似于匯編語言的解釋型語言可以被多種字體所使用,并且可以通過光柵化裝置來解釋以完成被稱為指示或暗示的調(diào)整。在一種字體中,可能存在與各個(gè)字形相關(guān)聯(lián)的指令以及可以應(yīng)用于文本尺寸和/或字體本身的全局指令。
[0004]某些計(jì)算機(jī)字體包括表的集合,例如,其中各個(gè)表由唯一的標(biāo)記標(biāo)識(shí)。字體中的字形可以在字形表中定義。作為一個(gè)示例,字形定義可以包括利用字體的各個(gè)字形和字體輪廓的數(shù)學(xué)表示來執(zhí)行的指令。為各個(gè)字體大小而執(zhí)行的全局指令集可以被包含在例如預(yù)程序中,其有時(shí)被稱為控制值程序(prep)表。例如,為字體執(zhí)行的另一全局指令集可以被包括在字體程序(fpgm)中。所有這些指令可以顯著增加到與任何特定字體相關(guān)聯(lián)的一個(gè)或多個(gè)文件的大小。
[0005]相應(yīng)地,用于減少例如包含在一個(gè)或多個(gè)字體文件中的字體執(zhí)行指令量的一個(gè)或多個(gè)技術(shù)和/或系統(tǒng)被公開。例如,包含在一個(gè)或多個(gè)字體表中的指令總量可以被減少,同時(shí)可以保持原始字體的這些指令的功能等效。例如,字體執(zhí)行指令可以包括在字體中在幾個(gè)地方都是一樣的指令集。相應(yīng)地,這些“共同”指令(例如,共同指令集)中的至少一些可以用僅有的幾行(例如,一行或二行等)對(duì)已經(jīng)定義的用于共同指令集的函數(shù)的函數(shù)調(diào)用來替代。用函數(shù)調(diào)用替代共同指令集例如可以導(dǎo)致壓縮的字體執(zhí)行指令,同時(shí)保持未壓縮的字體的功能等效。
[0006]在用于字體的減少字體執(zhí)行指令的一個(gè)實(shí)施例中,一個(gè)或多個(gè)共同指令集可以在字體執(zhí)行指令中被標(biāo)識(shí)。更進(jìn)一步地,對(duì)于所標(biāo)識(shí)出的共同指令集,可以在該字體中定義函數(shù)。此外,在字體執(zhí)行指令中,所標(biāo)識(shí)出的共同指令集可以由對(duì)已定義的相應(yīng)函數(shù)的調(diào)用來替代,從而導(dǎo)致減小的字體執(zhí)行指令集。
[0007]為了實(shí)現(xiàn)前述和相關(guān)目的,以下描述和附圖闡述了某些說明性方面和實(shí)現(xiàn)方式。這些指示可以據(jù)以采用一個(gè)或多個(gè)方面的各種方式,但是是其中的一些。當(dāng)結(jié)合附圖考慮時(shí),本公開的其它方面,優(yōu)點(diǎn)和新穎性特征根據(jù)下面的詳細(xì)描述將變得顯而易見。
【專利附圖】

【附圖說明】
[0008]圖1是示出用于減少字體的執(zhí)行指令的示例性方法的流程圖。
[0009]圖2是示出其中可以實(shí)施本文所描述的一項(xiàng)或多項(xiàng)技術(shù)的一個(gè)或多個(gè)部分的示例實(shí)施例的流程圖。
[0010]圖3是示出字體執(zhí)行指令的示例實(shí)施例的圖表。
[0011]圖4是示出其中可以實(shí)施本文所描述的一項(xiàng)或多項(xiàng)技術(shù)的一個(gè)或多個(gè)部分的示例實(shí)施例的流程圖。
[0012]圖5是示出其中可以實(shí)施本文所描述的一項(xiàng)或多項(xiàng)技術(shù)的一個(gè)或多個(gè)部分的示例實(shí)施例的圖表。
[0013]圖6是示出用于減少字體的執(zhí)行指令的示例性系統(tǒng)的組件圖。
[0014]圖7是示出其中可以實(shí)施本文所描述的一個(gè)或多個(gè)系統(tǒng)的示例實(shí)施例的組件圖。
[0015]圖8是包含處理器可執(zhí)行指令的示例性計(jì)算機(jī)可讀介質(zhì)的圖示,所述處理器可執(zhí)行指令被配置為具體化本文所闡述的規(guī)定中的一個(gè)或多個(gè)。
[0016]圖9示出其中可以實(shí)施本文所闡述的規(guī)定中的一個(gè)或多個(gè)的示例性計(jì)算環(huán)境。【具體實(shí)施方式】
[0017]現(xiàn)在將參考附圖描述所要求保護(hù)的主題,其中自始至終,相同的附圖標(biāo)記通常用于指代相同的元件。為了解釋的目的,在下面的描述中許多具體的細(xì)節(jié)被闡述以便提供所要求保護(hù)主題的徹底理解。然而,可能顯而易見的是,所要求保護(hù)的主題可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在其它實(shí)例中,以框圖的形式展示結(jié)構(gòu)和設(shè)備以便于描述所要求保護(hù)的主題。
[0018]如本文所提供的,可以設(shè)計(jì)一種方法,該方法規(guī)定通過減少(例如,合并)在例如字體表中的一個(gè)或多個(gè)中包含的字體執(zhí)行指令來減小字體文件大小,同時(shí)保持減少之前的字體的功能等價(jià)物。作為一個(gè)示例,字體可以利用基于“操作碼”的類似于匯編語言的包括指令或“提示”的解釋語言。當(dāng)在目標(biāo)設(shè)備上再現(xiàn)字體時(shí),該操作碼語言可以由光柵化裝置來解釋。字體可以包含表的集合,例如,其分別包括字體指令(例如,字形指令和全局指令)。在這個(gè)示例中,(例如,在字體表中的)指令的總量可以減少。
[0019]圖1是示出用于減少字體的字體執(zhí)行指令的示例性方法100的流程圖。該示例性方法100開始于102,并且在104處,包括識(shí)別字體執(zhí)行指令中的共同指令集。作為一個(gè)示例,共同指令集可以包括在字體執(zhí)行指令中多于一個(gè)位置處找到的相同的指令模式(pattern)。
[0020]在106處,為共同函數(shù)集定義函數(shù)。例如,用于字體執(zhí)行指令的語言可以提供可以從字體執(zhí)行指令中調(diào)用的指令集的函數(shù)化。在108處,用對(duì)已定義函數(shù)的調(diào)用替代字體執(zhí)行指令中的共同指令集。例如,在字體執(zhí)行指令中各共同指令集的位置上,該共同指令集可以被移除,而對(duì)已定義函數(shù)的調(diào)用可以被插入到其位置。以這種方式,例如,可以通過用對(duì)函數(shù)的調(diào)用替代在多個(gè)位置處的指令集來減少字體執(zhí)行指令??梢砸庾R(shí)到,這可以被重復(fù),使得其它共同指令集被替代為僅僅是對(duì)已定義函數(shù)的各個(gè)調(diào)用,以進(jìn)一步減少字體執(zhí)行指令。
[0021]圖2是示出其中可以實(shí)施本文所描述的一項(xiàng)或多項(xiàng)技術(shù)的一個(gè)或多個(gè)部分的示例實(shí)施例200的流程圖。在202處,字體執(zhí)行指令可以被掃描,以在204處識(shí)別一個(gè)或多個(gè)共同指令集。在一個(gè)實(shí)施例中,共同指令集可以包括在該字體執(zhí)行指令中的至少兩個(gè)位置處識(shí)別出的一個(gè)或多個(gè)共同字體執(zhí)行指令(例如,共同字形執(zhí)行指令)的集合。作為一個(gè)示例,可以對(duì)預(yù)備表掃描在多于一個(gè)的位置處找到的指令,其中指令集可以包括用于在目標(biāo)設(shè)備上執(zhí)行字體的代碼中的一行或多行。
[0022]作為一個(gè)說明性的示例,圖3是示出字體執(zhí)行指令的示例實(shí)施例300的圖表。在本例300中,除其它以外,字體執(zhí)行指令還包括,三種字形302 ,304, 306的字形指令部分。此外,字形18 302包括指令集308,該指令集308還可以在字形167 304中的310處找到,并且也可以在字形520 306中的312處找到。相同的指令集308 ,310, 312可以包括字體執(zhí)行指令的共同指令集。可以意識(shí)到,針對(duì)字形302 ,304, 306的各個(gè)字體執(zhí)行指令各自包括不僅僅集合308 ,310, 312。也就是說,為簡(jiǎn)單、解釋等目的,示出僅僅字形302,304,306的共同或者重疊的集合308,310,312 (例如,各個(gè)字形302,304,306的字體執(zhí)行指令的額外部分沒有被不出)。
[0023]返回到圖2,在206處,所述一個(gè)或多個(gè)共同指令集的壓縮(例如,用函數(shù)替代所述(多個(gè))共同指令集)的結(jié)果可以被評(píng)估,例如,以確定在沒有對(duì)用于執(zhí)行壓縮的計(jì)算資源造成過度負(fù)擔(dān)的情況下,該壓縮是否在字體文件大小上產(chǎn)生了期望的提升。在一個(gè)實(shí)施例中,該壓縮的評(píng)估可以包括當(dāng)壓縮字體執(zhí)行指令中的共同指令集時(shí)確定是否達(dá)到了所期望的文件大小減小閾值。
[0024]在208處,確定是否存在所期望的文件大小減小(例如,達(dá)到減小閾值)可以包括:確定是否存在文件大小的凈減小,例如,通過減少字體的執(zhí)行指令。如果沒有達(dá)到減小閾值(例如,沒有凈減小)(在208處的否),則在212處,可能就不對(duì)字體執(zhí)行指令執(zhí)行壓縮。如果達(dá)到減小閾值(在208處的是),則在210處,可以確定執(zhí)行壓縮的計(jì)算資源成本。
[0025]在一個(gè)實(shí)施例中,確定是否達(dá)到所期望的文件大小減小閾值可以包括:識(shí)別用于減小字體執(zhí)行指令大小的性能成本。在本實(shí)施例中,性能成本(例如,計(jì)算資源成本,例如處理器使用,功率消耗,時(shí)間,和/或?qū)嶋H成本等)可以與期望性能成本閾值進(jìn)行比較(例如,其中,在壓縮方面的改善勝過性能成本)。
[0026]如果性能開銷成本沒有達(dá)到期望的閾值(在210處的否),則在212處不執(zhí)行壓縮。如果性能開銷成本達(dá)到期望的閾值(在210處的是),則在214處可以執(zhí)行所述一個(gè)或多個(gè)共同指令集的壓縮。例如,在字體執(zhí)行指令中,一個(gè)或多個(gè)共同指令集可以用已定義的函數(shù)替代,以減少字體執(zhí)行指令的大小。
[0027]—方面,字體可以包括,更準(zhǔn)確地說是包括在一個(gè)指令集中,該指令集包括一個(gè)或多個(gè)操作以定義一個(gè)或多個(gè)功能,比如從操作棧中移除值。作為一個(gè)示例,TrueType字體提供了至少兩種類型的函數(shù),函數(shù)定義(FDEF )和指令定義(IDEF )。在這個(gè)示例中,F(xiàn)DEF包括標(biāo)準(zhǔn)函數(shù)定義并且由FDEF在該函數(shù)塊的開始位置進(jìn)行指示;而IDEF包括定制指令定義并且由IDEF在該定制指令塊的開始位置進(jìn)行指示。此外,這兩種類型的函數(shù)都可以用ENDF終止。作為一個(gè)說明性示例,在被調(diào)用時(shí),F(xiàn)DEF從操作棧中移除要用作唯一函數(shù)編號(hào)的值;而IDEF從該棧中移除要用作定制指令的值。另外,在這個(gè)示例中,使用從棧中獲取函數(shù)編號(hào)的“CALL”指令來調(diào)用標(biāo)準(zhǔn)函數(shù),使用定制指令定義的操作碼簡(jiǎn)單地執(zhí)行定制指令。
[0028]圖4是示出其中可以實(shí)施本文所描述的一項(xiàng)或多項(xiàng)技術(shù)的一個(gè)或多個(gè)部分的示例實(shí)施例400的流程圖。在402處,可以確定共同指令集450的數(shù)量是否大于字體執(zhí)行指令的替代閾值。例如,有些字體類型(例如,TrueType字體)提供有限數(shù)量的替代函數(shù)。作為一個(gè)示例,TrueType字體典型地提供字體的有限數(shù)量的定制函數(shù)(IDEF)。在這個(gè)示例中,如果存在比可用于替代的定制函數(shù)多的共同指令集,則可能超過替代閾值。
[0029]在一個(gè)實(shí)施例中,在使用標(biāo)準(zhǔn)函數(shù)之前,定制函數(shù)可以被用于替代共同指令集,因?yàn)閷?duì)定制指令(例如,IDEF)的調(diào)用相較于對(duì)標(biāo)準(zhǔn)函數(shù)(例如,F(xiàn)DEF)的調(diào)用可能包括更少的計(jì)算開銷并且可能導(dǎo)致更大的指令壓縮。作為一個(gè)示例,IDEF可以包括執(zhí)行僅僅一條指令(例如,“執(zhí)行定制指令12”),而FDEF可以包括執(zhí)行兩條指令(例如,(“將12推入棧中;跳至棧頂入口標(biāo)識(shí)的函數(shù)”))。因此,在本實(shí)施例中,定制函數(shù)可以優(yōu)先于標(biāo)準(zhǔn)函數(shù),直到達(dá)到替代閾值為止(例如,用于定制函數(shù)),然后,例如對(duì)于任何剩余的共同指令集,可以使用標(biāo)準(zhǔn)函數(shù)。
[0030]在一個(gè)實(shí)施例中,可以針對(duì)共同指令集禁止使用定制指令。例如,基于其它目的,字體程序員/提供者可能利用定制指令(例如,IDEF)。作為一個(gè)示例,IDEF經(jīng)常被用作未來指令的補(bǔ)丁,比如用于字體的將來的版本或更新。在本實(shí)施例中,例如,禁止使用定制指令可以減輕與字體程序的可能沖突,和/或問題。在一個(gè)實(shí)施例中,標(biāo)準(zhǔn)函數(shù)(例如,F(xiàn)DEF)的使用可以例如被禁止,并且僅僅定制指令可以用于共同指令集。
[0031]在圖4中,在404處,所述共同指令集可以被優(yōu)先用于替代。在一個(gè)實(shí)施例中,如果達(dá)到共同指令集450的閾值數(shù)量(在402處的是),則第一共同指令集例如可以優(yōu)先于第二共同指令集用于壓縮。在一個(gè)實(shí)施例中,優(yōu)先化可以包括,如果與(在字體執(zhí)行指令中找至IJ)第二共同指令集相比,在字體執(zhí)行指令中在更多的位置找到第一共同指令集,則將第一共同指令集優(yōu)先于第二共同指令集。在一個(gè)實(shí)施例中,優(yōu)先化可以包括:將具有更多數(shù)目的字體執(zhí)行指令的第一共同指令集優(yōu)先于具有較少的字體執(zhí)行指令的第二共同指令集。
[0032]在406處,可以為共同指令集創(chuàng)建函數(shù),例如,為各個(gè)標(biāo)識(shí)的共同指令集。作為一個(gè)說明性的示例,圖5是示出了其中可以實(shí)施本文所描述的一項(xiàng)或多項(xiàng)技術(shù)的一個(gè)或多個(gè)部分的示例實(shí)施例500的圖表。共同指令集502包括可能已經(jīng)在字體程序中的多于一個(gè)的位置處或者針對(duì)多個(gè)字形的各個(gè)字體執(zhí)行指令(例如,針對(duì)圖3的字形302,304,306的指令)中標(biāo)識(shí)出的字體執(zhí)行指令。另外,在這個(gè)示例實(shí)施例500中,可以為共同指令集502創(chuàng)建函數(shù)504。在該示例中,創(chuàng)建的函數(shù)504包括來自已標(biāo)識(shí)的共同指令集502的字體執(zhí)行指令 516。
[0033]返回到圖4,在408處,定義函數(shù)可以包括函數(shù)化字體或者字體的預(yù)程序中的共同指令集,其中所創(chuàng)建的函數(shù)可以在字體控制程序中定義,比如在fpgm表中。例如,函數(shù)可以在字體程序(fpgm)表和/或字體的預(yù)程序(prep)中被定義(例如,函數(shù)化)。此外,在一個(gè)實(shí)施例中,所定義的函數(shù)可以僅僅被函數(shù)化在字體程序中的一個(gè)位置處,例如,由此通過允許共同指令集的函數(shù)被壓縮。在一個(gè)實(shí)施例中,定義共同指令集的函數(shù)可以包括在字體程序的字體表中創(chuàng)建包含共同指令集的函數(shù)。[0034]在一個(gè)實(shí)施例中,定義函數(shù)可以包括為共同指令集定義定制指令。如上所述,定制函數(shù)可以包括定制指令定義函數(shù),其可以在字體的控制程序(例如,fpgm和/或預(yù)程序)中定義。作為一個(gè)示例,定制指令定義函數(shù)可以在用于定制字體的字體平臺(tái)上提供,以便為字體的未來版本添加功能。在這個(gè)示例中,未定義的操作碼(例如,共同指令集)可以用于在比如字體程序表中定義定制指令定義函數(shù)(例如,IDEF)。
[0035]在410處,在示例實(shí)施例400中,對(duì)已定義函數(shù)的調(diào)用可以被插入到字體執(zhí)行指令中。例如,在字體執(zhí)行指令中標(biāo)識(shí)出共同指令集的各個(gè)位置處,可以用對(duì)定義在字體程序文件中的函數(shù)的調(diào)用來替代共同指令集。在一個(gè)實(shí)施例中,可以用已定義的定制指令來替代字體執(zhí)行指令中的共同指令集。另外,各個(gè)定義的函數(shù),或者定義的定制指令,可以替代在字體執(zhí)行指令中標(biāo)識(shí)出的相應(yīng)共同指令集,從而減小字體執(zhí)行指令的大小。
[0036]作為一個(gè)說明性的示例,在圖5中,壓縮的字體執(zhí)行指令506包括用于字體的字形508,510,512的各個(gè)執(zhí)行指令,其中,共同指令集502已被替代為對(duì)已定義函數(shù)504的調(diào)用514。此外,當(dāng)與圖3中的未壓縮的字體執(zhí)行指令300相比時(shí),可以看出,例如,執(zhí)行指令的行數(shù)已經(jīng)從25 (圖3中的300)減少到包括定義的函數(shù)的19 (圖5中的504和506),(例如,在字體程序表中)。在一個(gè)實(shí)施例中,例如,當(dāng)共同指令集在甚至更多(例如,多于3個(gè))的位置處找到時(shí),和/或例如對(duì)于包括更大量的執(zhí)行指令(例如,更多行的執(zhí)行指令的操作碼)的共同指令集而言,壓縮比率可以顯著增加。
[0037]在一個(gè)方面中,共同指令集的標(biāo)識(shí)可以用于壓縮多于一種字體。在一個(gè)實(shí)施例中,在這方面,所標(biāo)識(shí)的共同指令集可以用于標(biāo)識(shí)不同字體的字體執(zhí)行指令中的共同指令集。例如,共同指令集的標(biāo)識(shí)可以包括強(qiáng)力字符搜索,其中各個(gè)字符和/或字符集被選擇并與字體執(zhí)行指令中的字符進(jìn)行比較。然而,在本實(shí)施例中,比如在一個(gè)或多個(gè)字體執(zhí)行指令中標(biāo)識(shí)出的各個(gè)共同指令集可以被用作基本搜索條件以試圖標(biāo)識(shí)其它字體中的同樣的集合。
[0038]例如,圖5的共同指令集502可能在第一字體中被標(biāo)識(shí),并且可以用作搜索條件以匹配第二字體中的字體執(zhí)行指令。以這種方式,例如,可以通過以已知的共同指令集開始,來減少用于字體的共同指令集標(biāo)識(shí)的時(shí)間,和/或計(jì)算資源成本。
[0039]此外,在此方面的一個(gè)實(shí)施例中,為共同指令集定義的函數(shù)可以用于多于一種字體。在本實(shí)施例中,在用于多于一種字體的字體控制程序中,函數(shù)(例如,標(biāo)準(zhǔn)和/或定制函數(shù))可以被函數(shù)化。作為一個(gè)示例,字體控制程序可以采用共同表,其中,所述共同表包括用于相應(yīng)的共同指令集的一個(gè)或多個(gè)定義的函數(shù)。以這種方式,例如,可以通過減少各字體的定義的函數(shù)的量來進(jìn)一步壓縮字體執(zhí)行指令。
[0040]在一個(gè)方面中,一個(gè)共同指令集可以被嵌套在另一個(gè)共同指令集中。在該方面的一個(gè)實(shí)施例中,可以為第一共同指令集(例如,在字體程序表中)定義第一函數(shù),其中在字體的字體執(zhí)行指令中,第一共同指令集嵌套在第二共同指令集內(nèi)。此外,可以為第二共同指令集定義第二函數(shù)。在一個(gè)實(shí)施例中,第一共同指令集可以用對(duì)定義的第一函數(shù)的調(diào)用替代,和/或所述第二共同指令集可以用對(duì)定義的第二函數(shù)的調(diào)用替代。
[0041]作為一個(gè)示例,第二 (嵌套的)共同指令集可以用對(duì)第二定義的函數(shù)的第二調(diào)用替代。另外,在這個(gè)示例中,目前包括對(duì)第二定義的函數(shù)的調(diào)用的第一共同指令集,可以被定義為第一函數(shù)。另外,第一共同指令集可以用對(duì)第一函數(shù)的調(diào)用(例如,其還包括對(duì)第二定義的函數(shù)的調(diào)用)替代。以這種方式,例如,可以通過減少定義的函數(shù)的指令量來進(jìn)一步壓縮字體執(zhí)行指令。
[0042]可以設(shè)計(jì)一種系統(tǒng)以用于減小字體執(zhí)行程序(例如,包括一個(gè)或多個(gè)字體文件)的大小。字體執(zhí)行程序可以包括編程代碼和編程表,其提供用于根據(jù)設(shè)計(jì)者期望的輸出在顯示器上再現(xiàn)字形。類似于其它類型的編程代碼,字體執(zhí)行程序的各行可以包括關(guān)于如何再現(xiàn)字體的指令。例如,通過利用對(duì)為共同執(zhí)行指令定義的函數(shù)的調(diào)用替代可能在程序的若干區(qū)域中是共同的相同字體執(zhí)行指令的部分,可以減少字體執(zhí)行指令的數(shù)量。
[0043]圖6是示出用于減少字體執(zhí)行指令的示例性系統(tǒng)600的組件圖?;谟?jì)算機(jī)的處理器602被配置來為系統(tǒng)處理數(shù)據(jù)并且可操作地耦合于共同指令標(biāo)識(shí)組件604。共同指令標(biāo)識(shí)組件604被配置為標(biāo)識(shí)字體執(zhí)行指令650中的共同指令集。例如,字體執(zhí)行指令650可以包括關(guān)于如何再現(xiàn)字體(例如通過光柵化裝置來解釋)的指令,比如編程代碼。此外,字體執(zhí)行指令650可以包括在多于一個(gè)位置處是相同的指令集,例如,包括共同指令集。在這個(gè)示例中,共同指令標(biāo)識(shí)組件604可以掃描字體執(zhí)行指令以標(biāo)識(shí)一個(gè)或多個(gè)共同指令集。
[0044]在示例性系統(tǒng)600中,指令替代組件606與處理器可操作地耦合,并且被配置為利用為已標(biāo)識(shí)的共同指令集定義的函數(shù)的調(diào)用來替代字體執(zhí)行指令中該已標(biāo)識(shí)的共同指令集。例如,可以為一個(gè)或多個(gè)已標(biāo)識(shí)的共同指令集定義各函數(shù),并且指令替代組件606可以通過貫穿字體執(zhí)行指令移除各共同指令集并利用對(duì)相應(yīng)定義的函數(shù)的調(diào)用替代它們,來創(chuàng)建壓縮的字體執(zhí)行指令652。以這種方式,例如,用于字體執(zhí)行指令的代碼行的數(shù)量可以被減少,因?yàn)楹瘮?shù)調(diào)用典型地比(用于替代共同指令集的)相應(yīng)共同指令集小得多。
[0045]圖7是示出其中可以實(shí)施本文所描述的一個(gè)或多個(gè)系統(tǒng)的示例實(shí)施例700的組件圖。在本例700中,提供圖6的擴(kuò)展,因此為簡(jiǎn)便起見,關(guān)于圖6描述的元件、組件等的描述可以不被重復(fù)。在一個(gè)實(shí)施例中,在字體執(zhí)行指令750中被共同指令標(biāo)識(shí)組件604標(biāo)識(shí)的(多個(gè))共同指令集754可以包括在字體執(zhí)行指令中多個(gè)位置處被標(biāo)識(shí)出來的一個(gè)或多個(gè)共同字體執(zhí)行指令(例如,共同字形執(zhí)行指令)的集合。
[0046]在本示例實(shí)施例700中,減少確定組件712可以被配置為當(dāng)壓縮在字體執(zhí)行指令750中的(多個(gè))共同指令集754時(shí)確定是否達(dá)到了所期望的文件大小減小閾值。在一個(gè)實(shí)施例中,指令替代組件606可以被配置為,僅僅在達(dá)到了所期望的文件大小減小閾值的情況下,替代(多個(gè))共同指令集754。例如,如果減少確定組件712確定,用相應(yīng)的對(duì)函數(shù)的調(diào)用替代在字體執(zhí)行指令中的所述一個(gè)或多個(gè)共同指令集將字體文件減少了期望的閾值量,則指令替代組件可以執(zhí)行該替代;否則,例如,壓縮(例如,使用調(diào)用的替代)可以不發(fā)生。
[0047]在該示例實(shí)施例700中,共同指令優(yōu)先化組件714可以被配置為至少部分地基于字體的指令替代的閾值數(shù)量來在字體執(zhí)行指令750中設(shè)置用于替代的一個(gè)或多個(gè)共同指令集754的優(yōu)先級(jí)順序。例如,字體類型可以限制可以用于替代字體執(zhí)行指令中的指令的函數(shù)的數(shù)量。在這個(gè)示例中,共同指令優(yōu)先化組件714可以基于共同指令集出現(xiàn)在字體執(zhí)行指令中的次數(shù)和/或共同指令集的長(zhǎng)度確定在字體執(zhí)行指令中哪個(gè)(哪些)共同指令集可以被函數(shù)化和被替代。例如,替代更頻繁出現(xiàn)和/或比其它共同指令集更長(zhǎng)的共同指令集一般可以導(dǎo)致更大程度的壓縮。
[0048]在示例實(shí)施例700中,共同指令定義組件710可以被配置成為(多個(gè))共同指令集754定義函數(shù)。在一個(gè)實(shí)施例中,定義的函數(shù)可以包含標(biāo)準(zhǔn)函數(shù)(例如,TrueType字體的FEDF函數(shù)),和/或定制指令函數(shù)(例如,TrueType字體的IDEF函數(shù))。例如,共同指令定義組件710可以為識(shí)別的共同指令集創(chuàng)建函數(shù),并在字體執(zhí)行指令中(例如,在字體程序(fpgm)表中)定義該函數(shù)。在這個(gè)示例中,對(duì)一個(gè)或多個(gè)定義的函數(shù)的調(diào)用可以被用來替代相應(yīng)的共同指令集,從而導(dǎo)致壓縮的字體執(zhí)行指令752。
[0049]再一實(shí)施例涉及包含被配置為實(shí)施本文所提出的技術(shù)中的一項(xiàng)或多項(xiàng)的處理器可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)。可以用這些方式設(shè)計(jì)的一種示例性計(jì)算機(jī)可讀介質(zhì)被示于圖8中,其中實(shí)現(xiàn)方式800包括計(jì)算機(jī)可讀介質(zhì)808 (例如,⑶-R,DVD-R,或硬盤驅(qū)動(dòng)器的盤片),在其上編碼計(jì)算機(jī)可讀數(shù)據(jù)806。該計(jì)算機(jī)可讀數(shù)據(jù)806進(jìn)而包括被配置為根據(jù)本文所闡述的原則中的一條或多條來進(jìn)行操作的計(jì)算機(jī)指令集804。在一個(gè)這樣的實(shí)施例802中,處理器可執(zhí)行指令804可以被配置為執(zhí)行一種方法,例如,比如圖1的示例性方法100的至少一些。在另一個(gè)這樣的實(shí)施例中,處理器可執(zhí)行指令804可以被配置為實(shí)施一個(gè)系統(tǒng),例如,比如圖6的示例性系統(tǒng)600的至少一些。本領(lǐng)域普通技術(shù)人員可以設(shè)計(jì)出被配置為根據(jù)本文所提出的技術(shù)操作的許多這樣的計(jì)算機(jī)可讀介質(zhì)。
[0050]雖然已經(jīng)以特定于結(jié)構(gòu)特征和/或方法動(dòng)作的語言描述了本主題,但應(yīng)理解的是在所附權(quán)利要求中限定的主題不必局限于以上描述的特定的特征或動(dòng)作。相反,以上描述的特定特征和動(dòng)作是作為實(shí)施權(quán)利要求的示例形式而公開的。
[0051]如在本申請(qǐng)中所使用的,術(shù)語“組件”,“模塊”,“系統(tǒng)”,“接口”等一般旨在指代計(jì)算機(jī)相關(guān)的實(shí)體,或者是硬件,硬件和軟件的組合,軟件或執(zhí)行中的軟件。例如,組件可以是,但不限于是,在處理器上運(yùn)行的進(jìn)程,處理器,對(duì)象,可執(zhí)行文件,執(zhí)行線程,程序,和/或計(jì)算機(jī)。通過說明的方式,在控制器上運(yùn)行的應(yīng)用和該控制器二者都可以是組件。一個(gè)或多個(gè)組件可以駐留在進(jìn)程和/或執(zhí)行的線程內(nèi),且組件可以位于一臺(tái)計(jì)算機(jī)內(nèi)和/或分布在兩個(gè)或更多計(jì)算機(jī)之間。
[0052]此外,所要求保護(hù)的主題可以被實(shí)現(xiàn)為方法,裝置或制品,其使用標(biāo)準(zhǔn)編程和/或工程技術(shù)以產(chǎn)生軟件、固件、硬件或其任意組合以控制計(jì)算機(jī)實(shí)現(xiàn)所公開的主題。本文中所使用的術(shù)語“制品”旨在涵蓋可從任何計(jì)算機(jī)可讀設(shè)備,載體或介質(zhì)訪問的計(jì)算機(jī)程序。當(dāng)然,本領(lǐng)域的技術(shù)人員將意識(shí)到,在不背離所要求保護(hù)的主題的范圍或精神的情況下,可以對(duì)這種配置進(jìn)行多種修改。
[0053]圖9和以下的討論提供了對(duì)實(shí)現(xiàn)本文所闡述的規(guī)定中的一個(gè)或多個(gè)的實(shí)施例的適合計(jì)算環(huán)境的簡(jiǎn)潔而概要的描述。圖9的操作環(huán)境僅僅是一個(gè)適合操作環(huán)境的示例,并且不旨在就操作環(huán)境的使用或功能的范圍建議任何限制。示例計(jì)算設(shè)備包括但不限于,個(gè)人計(jì)算機(jī),服務(wù)器計(jì)算機(jī),手持式或膝上型設(shè)備,移動(dòng)設(shè)備(比如移動(dòng)電話,個(gè)人數(shù)字助理(PDA),媒體播放器,等等),多處理器系統(tǒng),消費(fèi)電子產(chǎn)品,小型計(jì)算機(jī),大型計(jì)算機(jī),包括以上系統(tǒng)或設(shè)備中的任何一種的分布式計(jì)算環(huán)境等等。
[0054]雖然不是要求的,但是實(shí)施例還是以由一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行的“計(jì)算機(jī)可讀指令”的一般上下文來描述。計(jì)算機(jī)可讀指令可以通過(下面討論的)計(jì)算機(jī)可讀介質(zhì)來分布。計(jì)算機(jī)可讀指令可以被實(shí)現(xiàn)為執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的程序模塊,比如函數(shù),對(duì)象,應(yīng)用程序編程接口(API ),數(shù)據(jù)結(jié)構(gòu)等。典型地,計(jì)算機(jī)可讀指令的功能可以按照期望地被組合或分布在各種環(huán)境中。
[0055]圖9示出系統(tǒng)900的示例,其包括計(jì)算設(shè)備912,該計(jì)算設(shè)備912被配置為實(shí)現(xiàn)本文提供的一個(gè)或多個(gè)實(shí)施例。在一個(gè)配置中,計(jì)算設(shè)備912包括至少一個(gè)處理單元916和存儲(chǔ)器918。取決于計(jì)算設(shè)備的確切配置和類型,存儲(chǔ)器918可以是易失性的(例如,諸如RAM),非易失性的(例如,諸如ROM,閃存等)或是兩者的某種組合。此配置在圖9中由虛線914示出。
[0056]在其它實(shí)施例中,設(shè)備912可以包括附加特征和/或功能。例如,設(shè)備912還可以包括附加存儲(chǔ)裝置(例如,可移除和/或不可移除的),其包括但不限于磁存儲(chǔ)裝置,光學(xué)存儲(chǔ)裝置等等。這樣的附加存儲(chǔ)裝置在圖9中由存儲(chǔ)裝置920示出。在一個(gè)實(shí)施例中,實(shí)現(xiàn)本文提供的一個(gè)或多個(gè)實(shí)施例的計(jì)算機(jī)可讀指令可以存儲(chǔ)在存儲(chǔ)裝置920中。存儲(chǔ)裝置920還可以存儲(chǔ)其它計(jì)算機(jī)可讀指令來實(shí)現(xiàn)操作系統(tǒng),應(yīng)用程序,等等。例如,計(jì)算機(jī)可讀指令可以被加載到存儲(chǔ)器918中以由處理單元916執(zhí)行。
[0057]本文所使用的術(shù)語“計(jì)算機(jī)可讀介質(zhì)”包括計(jì)算機(jī)存儲(chǔ)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以任何方法或技術(shù)實(shí)現(xiàn)的用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令或其它數(shù)據(jù)之類的信息的易失性,非易失性,可移除和不可移除的介質(zhì)。存儲(chǔ)器918和存儲(chǔ)裝置920是計(jì)算機(jī)存儲(chǔ)介質(zhì)的示例。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,RAM, ROM, EEPR0M,閃存或其它存儲(chǔ)器技術(shù),CD-ROM,數(shù)字多功能盤(DVD)或其它光學(xué)存儲(chǔ)裝置,磁盒,磁帶,磁盤存儲(chǔ)裝置或其它磁存儲(chǔ)設(shè)備,或可以用來存儲(chǔ)所期望的信息并且可以由設(shè)備912訪問的任何其它介質(zhì)。任何這樣的計(jì)算機(jī)存儲(chǔ)介質(zhì)都可以是設(shè)備912的一部分。
[0058]設(shè)備912還可以包括允許設(shè)備912與其它設(shè)備進(jìn)行通信的(多個(gè))通信連接926。(多個(gè))通信連接926可以包括,但不限于,調(diào)制解調(diào)器,網(wǎng)絡(luò)接口卡(NIC),集成網(wǎng)絡(luò)接口,射頻發(fā)射機(jī)/接收機(jī),紅外線端口,USB連接,或用于將計(jì)算設(shè)備912連接到其它計(jì)算設(shè)備的其它接口。(多個(gè))通信連接926可以包括有線連接或無線連接。(多個(gè))通信連接926可以發(fā)送和/或接收通信介質(zhì)。
[0059]術(shù)語“計(jì)算機(jī)可讀介質(zhì)”可以包括通信介質(zhì)。通信介質(zhì)典型地在諸如載波或其它傳輸機(jī)制之類的“調(diào)制數(shù)據(jù)信號(hào)”中具體實(shí)現(xiàn)計(jì)算機(jī)可讀指令或其它數(shù)據(jù),并且包括任何信息傳遞介質(zhì)?!罢{(diào)制數(shù)據(jù)信號(hào)”這一術(shù)語可以包括以在信號(hào)中編碼信息這樣的方式來設(shè)置或改變信號(hào)特征中的一項(xiàng)或多項(xiàng)的所述信號(hào)。
[0060]設(shè)備912可以包括(多個(gè))輸入設(shè)備924,比如鍵盤,鼠標(biāo),筆,語音輸入設(shè)備,觸摸輸入設(shè)備,紅外照相機(jī),視頻輸入設(shè)備和/或任何其它輸入設(shè)備。諸如一個(gè)或多個(gè)顯示器,揚(yáng)聲器,打印機(jī)和/或任何其它輸出設(shè)備之類的(多個(gè))輸出設(shè)備922也可以被包括在設(shè)備912中。(多個(gè))輸入設(shè)備924和輸出設(shè)備922可以經(jīng)由有線連接,無線連接或其任何組合來連接到設(shè)備912。在一個(gè)實(shí)施例中,來自另一個(gè)計(jì)算設(shè)備的輸入設(shè)備或輸出設(shè)備可以被用作計(jì)算設(shè)備912的(多個(gè))輸入設(shè)備924或輸出設(shè)備922。
[0061]計(jì)算設(shè)備912的組件可以通過諸如總線之類的各種互連進(jìn)行連接。這樣的互連可以包括外圍組件互連(PCI ),如PCI Express,通用串行總線(USB),火線(IEEE 1394),光學(xué)總線結(jié)構(gòu)等。在另一個(gè)實(shí)施例中,計(jì)算設(shè)備912的組件可以通過網(wǎng)絡(luò)互連。例如,存儲(chǔ)器918可以包括位于通過網(wǎng)絡(luò)互連的不同物理位置的多個(gè)物理存儲(chǔ)器單元。
[0062]本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,用于存儲(chǔ)計(jì)算機(jī)可讀指令的存儲(chǔ)設(shè)備可以分布在網(wǎng)絡(luò)上。例如,通過網(wǎng)絡(luò)928可訪問的計(jì)算設(shè)備930可以存儲(chǔ)計(jì)算機(jī)可讀指令,以實(shí)現(xiàn)本文所提供的一個(gè)或多個(gè)實(shí)施例。計(jì)算設(shè)備912可以訪問計(jì)算設(shè)備930并下載用于執(zhí)行的計(jì)算機(jī)可讀指令的一部分或全部。可替換地,根據(jù)需要,計(jì)算設(shè)備912可以下載計(jì)算機(jī)可讀指令片段,或者一些指令可以在計(jì)算設(shè)備912處執(zhí)行,而一些指令可以在計(jì)算設(shè)備930處執(zhí)行。
[0063]本文提供了實(shí)施例的各種操作。在一個(gè)實(shí)施例中,所描述的操作中的一個(gè)或多個(gè)可以組成存儲(chǔ)在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)可讀指令,如果該計(jì)算機(jī)可讀指令被計(jì)算設(shè)備執(zhí)行,將導(dǎo)致所述計(jì)算設(shè)備執(zhí)行所描述的操作。一些或全部操作被描述的順序不應(yīng)該被解釋為暗示這些操作一定是順序相關(guān)的。得益于本描述的本領(lǐng)域技術(shù)人員將意識(shí)到可替換的排序。此外,應(yīng)理解的是,并非所有的操作都必然存在于本文提供的每個(gè)實(shí)施例中。
[0064]此外,詞語“示例性”在本文中用于表示用作示例,實(shí)例或說明。本文描述為“示例性”的任何方面或設(shè)計(jì)并不一定要被解釋為優(yōu)于其它方面或設(shè)計(jì)。相反,使用詞語示例性旨在以具體方式呈現(xiàn)概念。如在本申請(qǐng)中所使用的,術(shù)語“或”旨在表示包括性的“或”而非排他性的“或”。也就是說,除非另有指定,或者從上下文清楚可見,“X采用A或B”旨在表示任何自然的包括性排列。也就是說,如果X采用A ;X采用B ;或者X采用A和B 二者,則“X采用A或B”在上述任何情況下都滿足。此外,A和B中的至少一個(gè)和/或類似物一般表示A或B或A和B 二者。另外,在本申請(qǐng)和所附權(quán)利要求中使用的冠詞“一”和“一個(gè)”一般可以被解釋為表示“一個(gè)或多個(gè)”,除非另有指定或從上下文清楚可見其針對(duì)單數(shù)形式。
[0065]此外,雖然已經(jīng)相對(duì)于一個(gè)或多個(gè)實(shí)現(xiàn)方式示出并描述了本公開,但是基于對(duì)本說明書和附圖的閱讀和理解,本領(lǐng)域其他技術(shù)人員將想到等價(jià)的改變和修改。本公開包括所有這些修改和改變并且只由所附權(quán)利要求的范圍來限定。特別是對(duì)于由以上描述的組件(例如,元件,資源等)執(zhí)行的各種功能,用于描述這些組件的術(shù)語除非另有說明,否則旨在對(duì)應(yīng)于執(zhí)行所描述組件的特定功能的(例如,在功能上相當(dāng)?shù)?任何組件,即使在結(jié)構(gòu)上并不相當(dāng)于所公開的執(zhí)行本文所示的本公開的示例性實(shí)現(xiàn)方式中的功能的結(jié)構(gòu)。此外,盡管可能已經(jīng)相對(duì)于幾個(gè)實(shí)現(xiàn)方式中的唯一一個(gè)公開了本公開的特定特征,但是這樣的特征可以與其它實(shí)現(xiàn)方式中的一個(gè)或多個(gè)其它特征相結(jié)合,這對(duì)于任何給定或特定的應(yīng)用而言可能是期望的并且有利的。此外,就本說明書或權(quán)利要求書中使用術(shù)語“包括”,“具有”,“擁有”,“帶有”,或其變體而言,這樣的術(shù)語旨在是以類似于術(shù)語“包括”的方式包含的。
【權(quán)利要求】
1.一種基于計(jì)算機(jī)的方法,用于減少字體的字體執(zhí)行指令,包括: 為在字體執(zhí)行指令中標(biāo)識(shí)出的共同指令集定義函數(shù);以及 使用基于計(jì)算機(jī)的處理器用對(duì)所述定義的函數(shù)的調(diào)用替代所述字體執(zhí)行指令中的共同指令集。
2.如權(quán)利要求1所述的方法,包括標(biāo)識(shí)所述字體執(zhí)行指令中的共同指令集,所述共同指令集包括在所述字體執(zhí)行指令中的至少兩個(gè)位置處標(biāo)識(shí)出的一條或多條共同執(zhí)行指令的集合。
3.如權(quán)利要求2所述的方法,包括使用所述標(biāo)識(shí)出的共同指令集來標(biāo)識(shí)不同字體的字體執(zhí)行指令中的共同指令集。
4.如權(quán)利要求1所述的方法,包括: 當(dāng)壓縮所述字體執(zhí)行指令中的共同指令集時(shí)確定是否達(dá)到了所期望的文件大小減小閾值;以及 如果達(dá)到了所期望的文件大小減小閾值,則為所述共同指令集定義函數(shù)。
5.如權(quán)利要求4所述的方法,確定是否達(dá)到所期望的文件大小減小閾值包括標(biāo)識(shí)用于減小字體執(zhí)行指令大小的性能成本。
6.如權(quán)利要求1所述的方法,定義函數(shù)包括為所述共同指令集定義定制指令。
7.如權(quán)利要求6所述的方法,包括用所述定義的定制指令替代所述字體執(zhí)行指令中的共同指令集。·
8.如權(quán)利要求6所述的方法,以下步驟中的一個(gè)或多個(gè): 定義所述函數(shù)包括函數(shù)化字體的控制程序中的所述共同指令集;以及 定義所述定制指令包括為所述字體的控制程序中的所述共同指令集創(chuàng)建定制指令。
9.如權(quán)利要求1所述的方法,包括,如果達(dá)到了指令替代的閾值數(shù)量,則將第一共同指令集優(yōu)先于第二共同指令集用于壓縮。
10.如權(quán)利要求1所述的方法,包括: 為第一共同指令集定義第一函數(shù),所述第一共同指令集包括在字體執(zhí)行指令中標(biāo)識(shí)出的第二共同指令集中的嵌套指令集; 為第二共同指令集定義第二函數(shù); 用對(duì)所述定義的第一函數(shù)的調(diào)用替代在所述字體執(zhí)行指令中的所述第一共同指令集;以及 用對(duì)所述定義的第二函數(shù)的調(diào)用替代在所述字體執(zhí)行指令中的所述第二共同指令集。
11.一種用于減少字體執(zhí)行指令的系統(tǒng),包括: 基于計(jì)算機(jī)的處理器,被配置成為系統(tǒng)處理數(shù)據(jù); 共同指令標(biāo)識(shí)組件,其可操作地耦合于所述處理器,被配置成標(biāo)識(shí)所述字體執(zhí)行指令中的共同指令集;以及 指令替代組件,其可操作地耦合于所述處理器,被配置成用對(duì)為所述已標(biāo)識(shí)的共同指令集定義的函數(shù)的調(diào)用替代在所述字體執(zhí)行指令中的所述共同指令集。
12.如權(quán)利要求11所述的系統(tǒng),所述共同指令集包括在所述字體執(zhí)行指令中的多個(gè)位置處標(biāo)識(shí)出的一個(gè)或多個(gè)共同執(zhí)行指令的集合。
13.如權(quán)利要求11所述的系統(tǒng),包括減少確定組件,其被配置為當(dāng)壓縮所述字體執(zhí)行指令中的所述共同指令集時(shí)確定是否達(dá)到了所期望的文件大小減小閾值。
14.如權(quán)利要求11所述的系統(tǒng),包括共同指令優(yōu)先化組件,其被配置為至少部分地基于字體的指令替代的閾值數(shù)量來設(shè)置所述字體執(zhí)行指令中的用于替代的一個(gè)或多個(gè)共同指令集的優(yōu)先級(jí)。
15.如權(quán)利要求11所述的系統(tǒng),包括共 同指令定義組件,其被配置成為所述共同指令集定義所述函數(shù)。
【文檔編號(hào)】G06F9/30GK103827817SQ201180073920
【公開日】2014年5月28日 申請(qǐng)日期:2011年10月9日 優(yōu)先權(quán)日:2011年8月1日
【發(fā)明者】P.林內(nèi)魯?shù)? G.希契科克 申請(qǐng)人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
赫章县| 海盐县| 会东县| 山阳县| 南溪县| 老河口市| 祁东县| 临汾市| 郑州市| 东乌珠穆沁旗| 岳西县| 文山县| 宣城市| 南平市| 红桥区| 上蔡县| 舞钢市| 睢宁县| 娄烦县| 山丹县| 夹江县| 阳江市| 浮山县| 桐乡市| 富平县| 乌海市| 漠河县| 仙游县| 绩溪县| 商河县| 岐山县| 榆林市| 淳化县| 平南县| 武宣县| 普兰店市| 定兴县| 永丰县| 石阡县| 武山县| 梅河口市|