新四季網

啟動字體子集的製作方法

2023-07-05 15:38:51 4

專利名稱:啟動字體子集的製作方法
技術領域:
本描述涉及啟動字體子集的產生和遞送(delivery)。
背景技術:
在由諸如網際網路的計算機網絡提供的不斷擴展的連接性中,各種類型的內容,如文本、圖形、音頻、視頻等等,可以在一些計算機設備之間交換或廣播給大眾。由於這樣的連接性,遍及全球各個區域的用戶可以訪問內容提供者,而內容提供者則需要靈活地將內容提供給不同國家和文化的用戶。例如,提供給北美洲用戶的內容可能不能被亞洲的用戶辨別出來(discernable)。因而,提供者可以為特定地理區域的用戶量身定製內容,或者為不
同的用戶提供可調整的內容。

發明內容
這裡描述的系統和技術涉及產生和遞送字體子集。在一個方面,一種計算機實施的方法包括以自發的方式(autonomousmanner)分析所接收的電子文件的內容,以識別(identify)電子文件的內容中包括的一個或多個字體的每個唯一字符。該方法還包括發起對電子文件的內容中包括的一個或多個字體的子集的請求,其中,該請求包括一個或多個字體中的各個字體的每個識別出的唯一字符。實施方式可以包括任何或全部以下特徵。分析電子文件的內容可以包括識別所述一個或多個字體中包括的字體的源(source)或字體的源的不存在。以自發的方式分析所接收的電子文件的內容可以通過運行代理(agent)來啟動。分析所接收的電子文件的內容可以包括解析電子文件的內容以識別文件中表示的字符。分析所接收的電子文件的內容可以包括過濾識別出的在電子文件中表示的字符,以識別電子文件的內容中所包括的一個或多個字體中的每一個字體的每個唯一的字符。啟動對一個或多個字體的子集的請求可以包括將識別出的字符添加到請求。對請求的響應可以包括一個或多個字體的全部字符。分析電子文件的內容可以獨立於平臺而執行。在另一個方面,一種系統包括字體伺服器,用於基於請求向計算設備提供用於分析由計算設備接收的電子文件的內容的代理。由代理執行的分析識別電子文件的內容中包括的一個或多個字體的每個唯一的字符。字體伺服器被配置為基於來自計算設備的請求產生一個或多個字體的子集,每個字體子集包括各個字體的每個識別出的唯一的字符。字體伺服器還被配置為啟動發送每個字體子集到計算設備。實施方式可以包括任何或全部以下特徵。通過分析所接收的電子文件的內容,代理可以識別一個或多個字體中包括的字體的源或者字體的源的不存在。計算設備可以運行從字體伺服器接收的代理,以分析所接收的電子文件的內容。代理可以解析電子文件的內容,以識別文件中表示的字符。代理可以過濾識別出在該文件中表示的字符,以識別電子文件的內容中包括的一個或多個字體中的每一個字體的每個唯一的字符。代理可以啟動產生對字體伺服器的請求。代理可以被配置為獨立於計算設備類型來操作。字體伺服器可以被配置為確定將要包括在字體子集中的字體字符的部分,並且將要包括在字體子集中的字體字符的部分可以包括字體的全部字符。字體伺服器可以將所產生的字體子集與所接收的電子文件相關聯。在另一個方 面,一種計算設備包括存儲器,其被配置為存儲指令;以及處理器,其被配置為運行該指令以執行方法。該方法包括以自發的方式分析所接收的電子文件的內容,以識別電子文件的內容中包括的一個或多個字體的每個唯一的字符。該方法還包括發起對電子文件的內容中包括的一個或多個字體的子集的請求。該請求包括一個或多個字體中的各個字體的每個識別出的唯一的字符。實施方式可以包括任何或全部以下特徵。分析電子文件的內容可以包括識別一個或多個字體中包括的字體的源或者字體的源的不存在。以自發的方式分析所接收的電子文件的內容可以通過執行代理來啟動。分析所接收的電子文件的內容可以包括解析電子文件的內容以識別文件中表示的字符。分析所接收的電子文件的內容可以包括過濾識別出的在電子文件中表示的字符,以識別電子文件的內容中包括的一個或多個字體中的每一個字體的每個唯一的字符。發起對一個或多個字體的子集的請求包括將識別出的字符添加到請求。在另一個方面,一個或多個計算機可讀介質存儲可由處理設備執行的指令,並且當執行時使得處理設備執行操作,所述操作包括以自發的方式分析所接收的電子文件的內容,以識別電子文件的內容中包括的一個或多個字體的每個唯一的字符。該操作還包括發起對電子文件的內容中包括的一個或多個字體的子集的請求。該請求包括一個或多個字體中的各個字體的每個識別出的唯一的字符。實施方式可以包括任何或全部以下特徵。分析電子文件的內容可以包括識別一個或多個字體中包括的字體的源或者字體的源的不存在。以自發的方式分析所接收的電子文件的內容可以通過執行代理來啟動。這些以及其它方面和特徵以及它們的各種組合可以表示為方法、裝置、系統、用於執行功能的裝置、程序產品,以及以其它方式表示。從描述和權利要求中,其它特徵和優點將變得清楚。


圖I示出可以通過計算機網絡傳送的示範性內容。圖2是基於網際網路的計算機網絡的框圖。圖3示出從字體提供者請求和遞送軟體代理和字體子集。圖4是用於產生網頁的示範性文件。圖5、圖6和圖7示出代碼指令的示例。圖8是軟體代理的操作的示例流程圖。圖9是計算設備和系統的框圖。
具體實施例方式參考圖1,示範性網頁100被示出,其可以由計算設備(例如,計算機系統、個人數字助理(PDA)、蜂窩式電話等等)的用戶通過網際網路(或其他類型的計算機網絡)來訪問。例如,通過將適當的統一資源定位符(URL)提供給網絡瀏覽器(web toowser),網頁可以被訪問、封包(packaged),並從相應的內容提供者發送到用戶的計算設備用於顯示。在示出的示例中,網頁100的內容是生日宴會邀請,其包括文本和圖形,並且可以從特定的URL(即,WWW. invite, com)訪問。為了提供醒目的邀請,使用了提供不同字樣(typefaces)的多個字體(font),每個字樣可以被認為是提供格式字符(stylistic characters)或字形(glyphs)。「字符」能夠被認為是用於組織、控制和表示信息的形狀集合的成員,而「字形」能夠被認為是字符的具體實例。當訪問時,內容供應商可以使用一個或多個技術來將網頁100的內容提供給用戶的計算設備。例如,可以在使用諸如超文本標記語言(HTML)的標記語言的一個或多個文件(例如,文件102)中表示網頁100,從而網頁100符合由計算設備運行的瀏覽器。諸如用於HTML、CSS、XML的全球資訊網聯盟(World Wide Web Consortium, W3C)標準的標準以及其它標準可以由瀏覽器實現,從而網頁100能夠適當地呈現在能夠顯示電子內容的各種類型的平臺(例如個人計算機、無線電話、個人數字助理、手持計算機、機頂盒以及網際網路設備等等)。除了提供圖形(例如,在這種情況下,生日蛋糕的圖形)之外,一個或多個HTML文·件還可以參考用於在網頁上繪製文本的一個或多個字體。為了例示,在網頁100中使用五種不同的字體來提供與所述邀請相關聯的信息(例如,時間、日期、位置、事件描述、以及菜單)。同樣地,HTML文件102出動(call out)每個字體,從而接收方計算設備知道哪個字體對應於文本信息的每部分(例如,以Times New Roman字體表示日期)。當接收和運行HTML文件102中包括的指令時,接收方計算機設備可以在本地檢索表示該文本所需要的字體。然而,相當數量的計算設備不能在本地存儲繪製網頁可能需要的每個字體的全部字符。有限的資源(例如,存儲器)和不斷創建的新的字體類型會限制每種類型的計算設備隨時以任何以及全部字體顯示文本。與不同語言相關聯的字體放大許多計算設備不能提供全部字體類型的問題。諸如中文、日文、韓文等的語言使用可能數以萬計的字符字母(例如,10000字符以上),並且需要(call for) IMB到20MB的存儲器來存儲單一語言的字符。這樣的存儲器需求是不切實際的,特別是對於具有不太魯棒的機載(onboard)存儲器的計算設備(例如,蜂窩式電話)。而且,如果只需要集合中的幾個字符(以呈現特定的網頁),則存儲完整的字符集合,即使存儲少數字體的完整的字符集合,也是低效率的。參考示出的示例,需要相對較少數量的Times New Roman字體字符來表示事件日期(例如,「A」、「p」、「r」、「i」、「l」、「2」、「0」、「t」和「h」),因此存儲完整的字體字符集合可以被認為是對設備存儲器的不明智的使用,如果為每種可能的用戶語言(例如,英語、中文、日文、等等)都存儲完整的字符集合則當然是不明智的。為了節省本地存儲器的使用,一些傳統的技術為所接收的網頁內容(例如,HTML文件)提供了完整的字體集合,或者在接收到與網頁相關聯的文件時啟動對所需要的字體的完整字符集合的檢索。然而,當實際上只有少數一些字符被網頁使用時,這樣的技術仍然可能使得計算設備存儲器被裝滿收集的字體字符。例如,如附圖中所示,為了在計算設備上呈現網頁100,完整的字體字符集合104、106、108、110、112與HTML文件102—起提供。同樣地,網頁100使用的五個字體的每個可能的字符被提供給該計算設備,由此消耗了計算設備相當數量的存儲器。傳送字體所需要的時間以及帶寬的消耗也帶來了顧慮。例如,傳送與諸如中文、日文和韓文的語言相關聯的字體的完整字符集合可能需要相當的帶寬和傳送時間。一個或多個技術可以用來減少用於準備呈現諸如網頁100的網頁的文件傳送時間、帶寬消耗和需要的存儲器空間。例如,可以提供僅包括出現在網頁中的字符的字體子集,而不是為每個字體提供完整的字符集合。如此,減少了文件傳送時間和帶寬需求,並節省了設備存儲器,同時提供字體字符的適當集合用於網頁呈現。參考示出的示例,字體字符集合104-112中的每個都可以用明顯更小的字體子集來替換,所述明顯更小的字體子集可以與HTML文件102 —起提供或者可以在接收到該文件之後相對更快地提供。類似於減少基於字符的風格表現的字體子集的傳送時間和帶寬需求,對於提供與不同語言相關聯的字體子集也可以實現減少。例如,如果網頁僅包含三百個中文字符,則提供局限在僅包括這三百個字符的字體子集可以更有效率,這可以將傳送的字體數據的大小從大約IOMB減少到50KB。在一些可以為一些字體字符集合(例如,中文語言的字符集合)產生子集的情形下,其它字體字符集合可以作為完整的集合來發送。例如,由於一個完整的字體集合(例如,拉丁文字符集合)中包括相對較小數目的字符,所以創建和傳送子集不可能顯著地減少傳送整個字符集合所需要的帶寬或時間。除了減小提供給計算設備以呈現網頁或其它類型的電子文件的字體字符集合的大小之外,還可以實施一個或多個技術來有效地將這樣的字體子集提供給計算設備。例如,除了呈現網頁之外,用戶的計算設備還可以用來識別適當的字體子集,並隨後請求所識別的子集。參考圖2,計算機網絡200包括計算機系統202,用戶可以與計算機系統202交互(例如,使用鍵盤或諸如滑鼠的定點設備)以識別將要用該計算機系統呈現的目標網頁。例如,網絡瀏覽器204或類似的軟體應用可以被計算機系統202運行,供用戶將一個或多個網頁確定為目標。當被識別時,網絡瀏覽器204的操作可以包括對於目標網頁(或多個目標網頁)經由網際網路206從一個或多個網頁源208a、208b、208c請求內容。如圖所示,在這個特定的示例中,從網頁源208a請求網頁,並且相應的HTML文件210通過網際網路206從該源發送到計算機系統202。為了識別適當的字體子集以呈現由HTML文件210定義的網頁,計算機系統202可以使用一個或多個技術。例如,可以由計算機系統202運行掃描HTML文件210的操作,以識別由該文件定義的網頁中包括的各個字體字符。在一種布置中,計算機系統202可以運行軟體代理212來識別各個字體字符,並發送請求以啟動呈現該網頁所需的字體子集的產生(如果適當的話)。這樣的代理可以被認為是能夠以基本自發的方式運行的軟體模塊。例如,在提供給計算機系統202時,軟體代理可以操作,而無需大量的用戶交互。通過以相當靈活的方式進行操作,軟體代理可以自適應地識別網頁呈現所需的字體字符。在這個特定示例中,為了識別字體字符,軟體代理212以相當持續的方式(somewhat persistent manner)掃描HTML文件210的內容。例如,軟體代理可以以基本連續不斷的方式運行。在一些布置中,在文件或多個文件(例如,HTML文件210)的遞送之後,軟體代理很快被提供給用戶計算設備(例如,計算系統202)。因而,諸如網頁、應用頁、用戶界面等的電子文件可以被看成(perceived as)在文件被接收時近乎實時地被掃描。計算機網絡200還包括字體提供者214,該字體提供者214基於由用戶計算設備(例如,計算機系統202)運行的軟體代理(例如,軟體代理212)提供的信息來確定產生字體子集(在適當時)。一旦被產生,子集或多個子集(例如,如字體子集216所示)由字體提供者214封裝,並發送給請求計算設備。除了確定產生一個或多個字體子集之外,字體提供者214也能夠確定是否應當將完整的字體字符集合提供給請求計算設備。例如,在確定是否應當發送字體子集時,字體提供者214可以使用預定義的規則。一個這樣的規則可以指示與特定語言(例如,中文)相關聯的字體字符集合應當具有由於完整字符集合很大而創建的子集。子集確定也可以以動態的方式來提供。例如,基於能夠實現的文件傳送速率,可以確定文件大小閾值(例如,2MB),從而為大於該閾值的字符集合產生子集。如果字體字符集合的大小低於該閾值,則可以發送整個字符集合,因為文件傳送速率可以被視為處於有效範圍之內。這樣的閾值可以被動態地調整,例如,如果監視能夠實現的傳送速率,可以改變閾值。例如,隨著能夠實現的傳送速率水平的減低,可以相應地減少用於創建字符集合的子集的閾值(例如,從2MB下降到1MB)。可以考慮到一個或多個因素來將傳送速率確定為處於有效範圍之內。例如,用戶計算設備和字體提供者的地理位置可以成為影響(factor)是否應當取代完整字符集合而產生和發送子集的因素。如果字體提供者和用戶計算設備兩者相距較近(例如,都在美國東部),則能夠實現相對較高的傳送速率,並且可以發送整個字符集
合。對於用戶計算設備與字體提供者相距較遠的情形(例如,一個在美國,另一個在印度),字體提供者可以確定將要發送字體字符集合的子集。類似於基於位置的確定,一天中的時間、一年中的季節、以及其它的時間因素可以被字體提供者用來確定是否需要為識別出的要傳送的一個或多個字體字符集合產生子集。在一些布置中,字體提供者214也可以向計算設備提供軟體代理,以掃描所接收的文件(例如,HTML文件210),從而進行字符識別。同樣地,字體提供者214可以獨立於網頁源208a、208b、208c而操作。一旦從用戶計算設備接收到請求,字體提供者214就可以向請求設備提供適當的代理軟體。一旦電子文件被軟體代理掃描,字體提供者214就可以基於該運行的代理髮起的請求來提供適當的字體和字體子集。為了提供字體和字體子集,字體提供者214—般需要訪問一個或多個字體庫(I ibrary ),它們可以存儲在字體提供者本地或者存儲遠離字體提供者的位置。如附圖中所表示的,字體庫218被示出為存儲在存儲設備220 (例如,一個或多個硬驅、CD-ROM等)當地(on site)。字體庫218能夠被伺服器222來訪問,並且可以與從軟體代理提供的信息一起用於產生能夠與完整的字體字符集合一起提供的適當的字體子集(如果被字體提供者確定為適當的)。雖然被示出為存儲在單一的存儲設備220中,但是字體提供者214可以使用許多存儲技術和存儲設備,來保留可訪問的字體集合的匯集(例如,對於不同的字體風格、語言、等等)。字體提供者214也可以為了子集產生而訪問處於其它位置的字體。例如,當識別字體子集所需要的字符時,伺服器222可以用來從字體提供者214外部的一個或多個源收集所需要的字符(例如,經由網際網路206)。除了產生字體子集並且將它們(如果適當,則與完整的字體集合一起)提供給請求計算設備之外,字體提供者214還可以提供其它的功能。例如,為了將來的請求,可以跟蹤與特定網頁相關聯的字體和字體子集。在一種場景中,一個或多個字體子集(例如,字體子集216)可以創建,用於呈現特定網頁(在計算設備上)。字體子集和網頁之間的關聯可以(例如,由伺服器222)識別和存儲,用於以後的檢索。因而,在將來呈現網頁所需的子集(例如,在另一個計算設備上)可以被快速地識別,並提供給請求計算設備。在一種布置中,字體資料庫224存儲在字體提供者214 (例如,在存儲設備220上),並且包括表示網頁和字體子集(以及字體)之間的關聯的記錄。在一些實例中,從發送到字體提供者214的字體子集請求所提供的信息中識別(例如,從軟體代理)所述關聯。在網頁和適當的字體子集之間的關聯也可以在用戶選擇網頁之前被存儲(例如,基於網頁源所提供的指示和信息)。也可以實施其它類型的體系結構和網絡技術,用於提供軟體代理和字體子集(以及字體)給用戶計算設備,用於呈現諸如網頁的電子文件。參考圖3,示圖300表示用於將軟體代理與呈現其它類型的電子文件的網頁所需要的適當的字體子集(以及字體)一起提供給用戶的計算設備的一些操作。如圖2中所示,當用戶用計算設備上運行的網絡瀏覽器識別感興趣的網頁時(例如,提供URL給網絡瀏覽器),一個或多個文件(例如,HTML文件)可以從相應的網頁源提供給用戶的計算設備。如圖所示,這樣的文件302可以包括用於呈現給用戶(經由網絡瀏覽器)的內容304 (例如,文本、圖形、視頻、音頻、等等)。文件302也可以包含用於請求將軟體代理提供給用戶的計算設備202的一個或多個指令306。當運行這些指令時(在圖中標為「取得代理指令」),可以從用戶計算設備(例如,計算機系統202)向字體提供者214 (例如,伺服器222)發起請求308的遞送,如圖中箭頭310所表示的。響應於請求308,代理(例如,代理212)被從字體提供者214 的伺服器222發送到用戶計算設備(例如,計算機系統202),如圖中箭頭312所表示的。在一些實例中,代理的遞送可以在文件被接收到之後很快發生,並且用戶不會注意到任何延遲。在一些布置中,其它信息可以由請求308提供。例如,可以在請求中識別感興趣的網頁(例如,所提供的網頁的URL),從而字體提供者214可以確定是否已經預先為該網頁產生了一個或多個字體子集(以及可能的字體)。在被用戶計算設備接收到時,所請求的代理212被運行以掃描HTML文件302的內容304 (如圖中箭頭314所表示的),以識別該內容中表示的每個字體的字符。代理212也可以提供識別出現的每個字體的每個唯一的字符的功能。因而,同一字體字符的多個實例僅可以被代理標註(note) —次,由此來合併(consolidate)需要從字體提供者214請求的字符(對於每個接收的電子文件)。在一些布置中,代理212將為網頁中出現的每個字體識別出的每個字符告知字體提供者214。在被提供這個信息時,字體提供者識別可能包含在字體子集中的每個字體的每個唯一出現的字符。為了提供這樣的掃描操作,可以實施一個或多個技術,例如,代理可以解析內容304以識別每個字體出現的每個字符。然後可以(由代理212或字體提供者214)使用一個或多個過濾器,來識別每個字體的每個唯一的字符。例如,如果在內容304中檢測到字體A的字符和「C」,並且檢測到字體B的字符「X」、「Y」和「Z」,則代理可以將字體A的子集識別為包含和「C」,而字體B的子集可以包含「x」、「Y」和「Z」。在掃描時,識別出的字體字符316被代理212用來產生字體子集請求318。一般來說,請求318包括代理212識別出的每個字符,然而,頁內容304的內容中包括的一些字符可能未包括在請求318中。例如,識別為可能存儲在用戶計算設備本地的字符可能未包括在請求318中。因而,代理212可以從子集請求318中排除頁內容304中包括的一些字符。可以實施一個或多個技術來提供字體子集請求318給字體提供者214的伺服器222,如圖中箭頭320所表示的。例如,對於用JavaScript表示的代理,與諸如超文本傳輸協議(HTTP)的協議相關聯的技術可以用來傳送請求。通過將所識別的唯一的字符附加(append)到感興趣的URL的查詢串(querystring),可以使用命令(例如,GET命令)將該信息提供給伺服器。類似地,作為應用提供的代理可以利用諸如HTTP的協議將字符信息提供給字體提供者214的伺服器222。在被提供對於(多個)字體子集的請求318時,伺服器222產生一個或多個需要的字體子集和完整的字體字符集合(如果適當),並答覆(reply)用戶計算設備。例如,如圖中箭頭322所表示的,(可以表示一個或多個字體子集以及可能的一個或多個完整的字體字符集合的)字體子集216被提供給用戶計算設備。參考圖4,示範性HTML文件400的指令被示出,其包括請求代理(諸如圖2中所示的代理212)和分配字體給特定字符。在這個特定示例中,在指令402被運行時(例如,被計算機系統202運行),向字體提供者(例如,字體提供者214)請求代理。當被計算機系統202接收到時,代理被運行以分析HTML文件400的內容。例如,代理可以逐步通過(st印through) HTML文件400剩餘的每一行,並且識別用來呈現與該文件的內容相關聯的網頁的每個字符和字體。例如,通過分析指令404,該代理可以識別出需要frutiger字體的字符「A」、「B」、「C」和「D」用於網頁產生。在這種特定的布置中,各個字符(例如,「A B C D」)與用於訪問該字體的URL—起由指令404提供。類似地,運行的代理在指令406中也識別出字符「Z」和「W」需要以frutiger字體來呈現,以產生該網頁。如此,當產生字體子集請求時(例如,在圖3中示出的請求318),該代理識別出產生該網頁所需要的每個唯一的字符(即,「A」、「B」、「C」、「D」、「Z」和「W」)和相應的字體(例如,frutiger)。在一些布置中,在掃描文件的內容時,該代理可能遇到(come across)未包括在字體子集請求中的字符。例如,HTML文件可以包括這樣的實例,在該實例中,存儲在(運行該文件的)計算機系統本地的字體將被用於表示特定字符。因而,不需要從計算機系統外部的源獲得字體。示範性HTML文件400的指令408示出了這樣事件的發生(occurrence)。在這個實例中,字符「M」、「P」和「Q」通過指令408調出,而不需要對特定字體的URL。因而,在運行文件400的計算機系統本地的字體可以用來呈現字符「M」、「P」和「Q」。由於這些特定字符不需要字體或字體子集,所以該代理不將這些字符包括在請求318中。然而,雖然本地存儲了針對這個特定字體的這些字符,但是這些字符中的一個或多個可以基於文件400中的另一個指令(未示出)而被包括在對另一個字體的請求中,所述另一指令調出從計算機系統外部的源獲得的字體中需要的「M」、「P」和/或「Q」。 參考圖5,可以實施一個或多個技術來分析諸如(圖4中示出的)HTML文件400的文件的內容,以識別用於字體子集的字符。對於基於JavaScript的代理,獨立於瀏覽器的庫(稱為jQuery,並且強調JavaScript和HTML之間的交互)可以用來分析文本內容。為了提供這個功能,jQuery構架可以用來提供代理,用於從串中提取唯一的字符。jQuery構架也可以包括關聯陣列(associative array)(被稱為JS0N),用於形成所識別的唯一的字符和相應的字體之間的關聯。以迭代的方式逐步通過文件,唯一的字符被識別和存儲(例如,高速緩存)用於進一步處理。附圖中給出的部分代碼500能夠提供這個功能。參考圖6,在識別唯一的字符時,一個或多個技術可以被實施以便基於字體相應地將所識別的字符編組(group )。例如,對於特定字體(例如,frutiger )識別的每個唯一的字符(例如,「A」、「B」、「C」、「D」、「Z」和「W」)都是針對該字體的組中的成員。另外,對於具有相對較少成員的字體(例如,與拉丁文相關聯的字體),可能不形成唯一的字符的組。對於這樣的包括相對較少成員的字體,整個字體集合可以被發送而不會消耗相當多的計算資源,如傳送時間和帶寬。因而,完整的字體集合被提供(例如,從字體提供者)用於產生該字體的字符。附圖中給出的部分代碼600能夠提供這個功能。參考圖7,當對於每個字體的識別出的唯一字符已經被編組時(除了具有相對較小的字符集合的任何識別出的字體之外),代理將這個信息提供給字體提供者214 (例如,提供給字體提供者的伺服器222)。一個或多個技術可以用來提供這個信息。例如,諸如HTTPGET命令的命令可以用來將識別出的字符和相應的字體附加到URL查詢串。在接收到(通過HTTP GET命令提供的)請求時,字體提供者214 (例如,字體提供者的伺服器222)創建和發送一個或多個適當的字體子集給請求計算機系統。基於與一個或多個因素相關聯的預定義的規則(例如,用戶和/或字體提供者的地理位置、時間信息、諸如能夠實現的傳送速率的數據傳送參數、等等),對於包括相對較少字符的識別出的字體也可以發送完整的字體集合。為了提供識別出的唯一字符和相應的字體,該圖中給出能夠提供這個功能的部分代 碼 700。參考圖8,流程圖800表示軟體代理的操作(例如,圖2中示出的軟體代理212)。代理212的操作一般由單一計算設備(例如,計算機系統202)運行,然而,代理的操作可以由多個計算設備運行。除了在單一地點(例如,在一個計算機系統)運行之外,操作運行還可以分布在兩個或更多的位置上。一般來說,代理由用戶計算設備請求(例如,從諸如HTML文件的文件中包括的代碼)並從諸如字體提供者214的外部源提供。在由用戶計算設備接收和運行時,操作可以包括分析802包括請求軟體代理的指令的諸如HTML文件的電子文件的內容。通過使用軟體代理,以相對自發和持續的方式分析電子文件的內容。可以實施一個或多個技術來分析電子文件,例如,代理可以逐步通過文件,並且將每個所包括的字符與相應的字體相關聯。操作還可以包括識別804與字體相關聯的每個唯一的字符。例如,雖然文件可以包括用於特定字體(例如,Times New Roman)的字符「a」的許多實例,但是代理可以將所述許多實例過濾到剩下單一實例,從而對於Times New Roman字體字符「a」僅被請求一次。字符識別還可以包括識別具有相對較小的字符集合的字體。因而,如果在電子文件中使用了(這些字體中包括的)這些字符中的一個或多個,則可以請求整個字符集合。操作還可以包括請求806在電子文件中表示的每個字體的適當的子集。所請求的子集一般包括對於每個相應的字體的識別出的唯一的字符。然而,在字體包括相對較少字符的實例中,所請求的子集可以包括這樣的字體的整個字符集合。圖9是可以使用和實施以執行與代理212相關聯的操作的計算系統900的框圖。計算系統還可以由字體提供者214使用以執行操作。計算設備900意圖用來表示各種形式的數字計算機,如膝上型計算機、桌上型計算機、工作站、個人數字助理、伺服器、刀片伺服器、大型機、以及其它適當的計算機。計算設備900包括處理器902、存儲器904、存儲設備906、連接到存儲器904和高速擴展埠 910的高速接口 908、以及連接到低速總線914和存儲設備906的低速接口 912。組件902、904、906、908、910和912中的每一個可以使用各種總線互連,並且可以安裝在公共主板上或者以其它適當的方式安裝。處理器902可以處理用於在計算設備900之內運行的指令,包括存儲在存儲器904中或存儲設備906上的指令,以便在諸如耦接到高速接口908的顯示器916的外部輸入-輸出設備上顯示用於⑶I的圖形信息。在其它實施方式中,可以視情況使用多個處理器和/或多個總線,以及多個存儲器和多個類型的存儲器。而且,可以連接多個計算設備900,每個設備提供部分必要的操作(例如,作為伺服器群、刀片伺服器組、或多處理器系統)。存儲器904將信息存儲在計算設備900內。在一個實施方式中,存儲器904是計算機可讀介質。在一個實施方式中,存儲器904是一個或多個易失性存儲器單元。在另一個實施方式中,存儲器904是一個或多個非易失性存儲器單元。
存儲設備906能夠為計算設備900提供大容量存儲。在一個實施方式中,存儲設備906是計算機可讀介質。在各種不同的實施方式中,存儲設備906可以是軟盤設備、硬碟設備、光碟設備、或者磁帶設備、快閃記憶體或其它類似的固態存儲設備,或者設備的陣列,包括存儲區域網絡或其它配置中的設備。在一個實施方式中,電腦程式產品有形地體現在信息載體中。電腦程式產品包含指令,當所述指令被運行時,執行一個或多個方法,諸如上述那些方法。信息載體是計算機可讀介質或機器可讀介質,諸如存儲器904、存儲設備906、處理器902上的存儲器、等等。高速控制器908管理用於計算設備900的帶寬密集(bandwidth-intensive)的操作,而低速控制器912管理帶寬較不密集(lower bandwidth-intensive)的操作。這樣的任務分配僅僅是示範性的。在一個實施方式中,高速控制器908耦接到存儲器907、顯示器916 (例如,通過圖形處理器或加速器),並且耦接到高速擴展埠 910,高速擴展埠 910能夠接受各種擴展卡(未示出)。在所述實施方式中,低速控制器912耦接到存儲設備906和低速擴展埠 914。可以包括各種通信埠(例如,USB、藍牙、乙太網、無線乙太網)的低速擴展埠可以耦接到一個或多個輸入-輸出設備,諸如鍵盤、定點設備、掃描儀、或諸如開關或路由器的網絡設備,例如,通過網絡適配器。計算設備900可以以許多不同的形式來實施,如圖中所示。例如,其可以實施為標準伺服器920,或者這樣的伺服器的組的多倍。其還可以實施為機架式伺服器系統924的一部分。此外,其可以實施在諸如膝上型計算機922的個人計算機中。或者,來自計算設備900的組件可以與行動裝置(未示出)中的其它組件組合。這個說明書中描述的本主題的實施例和功能操作可以實施在數字電子電路中、或者實施在計算機軟體、固件、或硬體中、所述硬體包括在這個說明書中公開的結構以及它們的結構等效物,或者實施在它們的一個或多個的組合中。在這個說明書中描述的本主題的實施例可以實施為一個或多個電腦程式產品,即,被編碼在計算機可讀介質上的用於由數據處理設備運行或者控制數據處理設備的操作的電腦程式指令的一個或多個模塊。計算機可讀介質可以是機器可讀存儲設備、機器可讀存儲基底(substrate)、存儲器件、影響機器可讀傳播信號的物質的合成物、或者它們的一個或多個的組合。術語「數據處理裝置」包括用於處理數據的所有裝置、設備、以及機器,包括,舉例來說,可編程處理器、計算機、或多處理器或計算機。除了硬體以外,所述裝置還可以包括創建用於所討論的電腦程式的運行環境的代碼,例如,構成處理器固件、協議組、資料庫管理系統、作業系統、或者它們的一個或多個的組合的代碼。電腦程式(也稱為程序、軟體、軟體應用、腳本、或代碼)可以以任何形式的程式語言來編寫,包括編譯或解釋語言,並且其可以以任何形式來部署,包括作為單獨的程序或者作為模塊、組件、子例程、或者適於在計算環境中使用的其它單元。電腦程式不必對應於文件系統中的文件。程序可以存儲在保存其它程序或數據的文件的一部分中(例如,存儲在標記語言文件中的一個或多個腳本),存儲在專用於所討論的程序的單一文件中,或者存儲在多個協調的文件中(例如,存儲一個或多個模塊、子程序、或部分代碼的文件)。電腦程式可以被部署為在一個計算機或位於一個地點或分布在多個地點並通過通信網絡互連的多個計算機上運行。在本說明書中描述的過程和邏輯流可以由運行一個或多個電腦程式的一個或多個可編程處理器來執行,以便通過對輸入數據進行操作並生成輸出來執行功能。所述過程和邏輯流還可以由特殊用途的邏輯電路來執行,並且裝置也可以實施為特殊用途的邏輯電路,所述特殊用途的邏輯電路,例如,FPGA (現場可編程門陣列)或ASIC (專用集成電路)。適於運行電腦程式的處理器包括,舉例來說,全部通用和專用微處理器,以及任意種類的數字計算機的任意一個或多個處理器。一般,處理器將從只讀存儲器或隨機存取存儲器或者從兩者接收指令和數據。計算機的主要元件是用於執行指令的處理器和用於存儲指令和數據的一個或多個存儲設備。一般,計算機還將包括用於存儲數據的一個或多個大容量存儲設備,或者被操作地耦接以便從所述大容量存儲設備接收數據或向所述大容量存儲設備傳送數據,或者兩者都有,所述大容量存儲設備例如磁碟、磁光碟、或者光碟。然 而,計算機並不必具有這樣的設備。而且,計算機可以嵌入另一個設備,例如,行動電話、個人數字助理(PDA)、移動音頻播放器、全球定位系統(GPS )接收器,僅舉數例。適合存儲電腦程式指令和數據的計算機可讀介質包括所有形式的非易失性存儲器、介質和儲存設備,舉例來說,包括半導體存儲器件,例如,EPR0M、EEPR0M、快閃記憶體器件;磁碟,例如,內部硬碟或可移動盤;磁光碟;以及⑶-ROM和DVD-ROM盤。處理器和存儲器可以通過專用邏輯電路來補充,或者合併到專用邏輯電路中。在本說明書中描述的主題的實施例可以實施在計算系統中,該計算系統包括後端組件,例如,作為數據伺服器,或者包括中間件組件,例如,作為應用伺服器,或者包括前端組件,例如,作為具有圖形用戶界面或網絡瀏覽器的客戶端計算機,用戶通過所述圖形用戶界面或網絡瀏覽器可以與在本說明書中描述的本主題的實施方式交互,或者包括一個或多個這樣的後端組件、中間件、或前端組件的任意組合。系統的組件可以通過任何形式或介質的數字數據通信,例如,通信網絡,互連。通信網絡的示例包括區域網(「LAN」)和廣域網(「WAN」),例如,網際網路。計算系統可以包括客戶端和伺服器。客戶端和伺服器一般彼此遠離,並且典型地通過通信網絡進行交互。客戶端和伺服器的關係根據運行在各自計算機上並且彼此具有客戶端-伺服器關係的電腦程式而產生。雖然這個說明書包含了許多具體細節,但是這些不應被解釋為對本發明的或可以要求的範圍的限制,而是對本發明的特定實施例的特有特徵的描述。在本說明書中在單獨的實施例的上下文中描述的某些特徵也可以組合地實施在單一實施例中。反之,在單一實施例的上下文中描述的各種特徵也可以被單獨地或者以任何適當的子組合(subcombination)的方式實施在多個實施例中。而且,雖然特徵在以上描述為以一定的組合動作,甚至最初這樣要求(claim),但是在一些情況下,所要求的組合中的一個或多個特徵也可以從所述組合中消除,並且所要求的組合也可以指示子組合或者子組合的變體。類似地,雖然在附圖中以特定的次序描繪了操作,但是這不應被理解為要求這樣的操作以示出的特定次序或順序的次序來執行,或者全部示出的操作都要執行,以達到期望的結果。在某些情形下,多任務處理或並行處理也可以是有利的。而且,在如上所述的實施例中的各種系統組件的分離不應被理解為在所有實施例中都要求這樣的分離,並且應當理解,所描述的程序組件和系統一般可以整合到單一的軟體產品中,或者封裝到多個軟體廣品中。因此,已經描述了本發明的特定實施例。其它實施例也在權利要求的範圍內。例
如,在權利要求中記載的動作也可以以不同的次序來執行,並且仍然能夠達到期望的結果。
權利要求
1.一種計算機實施的方法,包括 以自發的方式分析所接收的電子文件的內容,以識別電子文件的內容中包括的一個或多個字體的每個唯一的字符;並且 發起對電子文件的內容中包括的一個或多個字體的子集的請求,其中,該請求包括一個或多個字體中的各個字體的每個識別出的唯一的字符。
2.如權利要求I所述的計算機實施的方法,其中,分析電子文件的內容包括識別一個或多個字體中包括的字體的源。
3.如權利要求I所述的計算機實施的方法,其中,分析電子文件的內容包括識別一個或多個字體中包括的字體的源的不存在。
4.如權利要求I所述的計算機實施的方法,其中,通過運行代理來發起以自發的方式分析所接收的電子文件的內容。
5.如權利要求I所述的計算機實施的方法,其中,分析所接收的電子文件的內容包括解析電子文件的內容以識別該文件中表示的字符。
6.如權利要求5所述的計算機實施的方法,其中,分析所接收的電子文件的內容包括過濾識別出的在電子文件中表示的字符,以識別電子文件的內容中包括的一個或多個字體中的每一個字體的每個唯一的字符。
7.如權利要求I所述的計算機實施的方法,其中,發起對一個或多個字體的子集的請求包括將識別出的字符添加到請求。
8.如權利要求I所述的計算機實施的方法,其中,對所述請求的響應包括所述字體中的一個字體的全部字符。
9.如權利要求I所述的計算機實施的方法,其中,分析電子文件的內容獨立於平臺來執行。
10.一種系統,包括 字體伺服器,用於基於請求向計算設備提供用於分析由計算設備接收的電子文件的內容的代理,其中,由該代理執行的分析識別該電子文件的內容中包括的一個或多個字體的每個唯一的字符; 其中,所述字體伺服器被配置為基於來自計算設備的請求產生所述一個或多個字體的子集,其中,每個字體子集包括各個字體的每個識別出的唯一的字符;並且 其中,所述字體伺服器還被配置為啟動發送每個字體子集到計算設備。
11.如權利要求10所述的系統,其中,通過分析所接收的電子文件的內容,所述代理識別所述一個或多個字體中包括的字體的源。
12.如權利要求10所述的系統,其中,通過分析所接收的電子文件的內容,所述代理識別所述一個或多個字體中包括的字體的源的不存在。
13.如權利要求10所述的系統,其中,所述計算設備運行從字體伺服器接收的代理,以分析所接收的電子文件的內容。
14.如權利要求10所述的系統,其中,所述代理解析電子文件的內容,以識別該文件中表示的字符。
15.如權利要求14所述的系統,其中,所述代理過濾識別出的在該文件中表示的字符,以識別電子文件的內容中包括的一個或多個字體中的每一個字體的每個唯一的字符。
16.如權利要求10所述的系統,其中,所述代理啟動對所述字體伺服器的請求的產生。
17.如權利要求10所述的系統,其中,所述代理被配置為獨立於計算設備類型來操作。
18.如權利要求10所述的系統,其中,所述字體伺服器被配置為確定包括在字體子集中的字體字符的部分。
19.如權利要求18所述的系統,其中,包括在字體子集中的字體字符的部分包括字體的全部字符。
20.如權利要求20所述的系統,其中,所述字體伺服器將所產生的字體子集與所接收的電子文件相關聯。
21.一種計算設備,包括 存儲器,被配置為存儲指令;和 處理器,被配置為運行所述指令以執行方法,該方法包括 以自發的方式分析所接收的電子文件的內容,以識別電子文件的內容中包括的一個或多個字體的每個唯一的字符;並且 發起對電子文件的內容中包括的一個或多個字體的子集的請求,其中,該請求包括一個或多個字體中的各個字體的每個識別出的唯一的字符。
22.如權利要求21所述的計算設備,其中,分析電子文件的內容包括識別一個或多個字體中包括的字體的源。
23.如權利要求21所述的計算設備,其中,分析電子文件的內容包括識別一個或多個字體中包括的字體的源的不存在。
24.如權利要求21所述的計算設備,其中,通過運行代理來啟動以自發的方式分析所接收的電子文件的內容。
25.如權利要求21所述的計算設備,其中,分析所接收的電子文件的內容包括解析電子文件的內容以識別文件中表示的字符。
26.如權利要求25所述的計算設備,其中,分析所接收的電子文件的內容包括過濾識別出的在電子文件中表示的字符,以識別電子文件的內容中包括的一個或多個字體中的每一個字體的每個唯一的字符。
27.如權利要求21所述的計算設備,其中,發起對一個或多個字體的子集的請求包括將識別出的字符添加到請求。
28.—個或多個計算機可讀介質,存儲可由處理設備運行的指令,並且當執行這樣的指令時,使得處理設備執行操作,所述操作包括 以自發的方式分析所接收的電子文件的內容,以識別電子文件的內容中包括的一個或多個字體的每個唯一的字符;並且 發起對電子文件的內容中包括的一個或多個字體的子集的請求,其中,該請求包括一個或多個字體中的各個字體的每個識別出的唯一的字符。
29.如權利要求28所述的計算機可讀介質,其中,分析電子文件的內容包括識別一個或多個字體中包括的字體的源。
30.如權利要求28所述的計算機可讀介質,其中,分析電子文件的內容包括識別一個或多個字體中包括的字體的源的不存在。
31.如權利要求28所述的計算機可讀介質,其中,通過運行代理來啟動以自發的方式分析所接收的電子文件 的內容。
全文摘要
一種計算機實施的方法包括以自發的方式分析所接收的電子文件的內容,以識別電子文件的內容中包括的一個或多個字體的每個唯一的字符。該方法還包括發起對電子文件的內容中包括的一個或多個字體的子集的請求,其中,該請求包括各自的一個或多個字體中各個字體的每個識別出的唯一的字符。
文檔編號G06F17/21GK102939601SQ201180029422
公開日2013年2月20日 申請日期2011年4月27日 優先權日2010年4月29日
發明者S.H.李 申請人:單版畫股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀