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

基于用戶代理類型以變化格式提供字體文件的制作方法

文檔序號:6340212閱讀:372來源:國知局
專利名稱:基于用戶代理類型以變化格式提供字體文件的制作方法
技術(shù)領(lǐng)域
本公開的各方面涉及以各種字體在網(wǎng)絡(luò)瀏覽器中的文本顯示。
背景技術(shù)
網(wǎng)絡(luò)標(biāo)準(zhǔn)不同已經(jīng)是web開發(fā)者、瀏覽器廠商和終端用戶在開發(fā)、支持和訪問在 線內(nèi)容時不得不解決的問題。例如,不同的web瀏覽器可以提供與各種字體、字體文件格 式、文檔類型、文檔格式等的不同兼容性。這些不同標(biāo)準(zhǔn)和兼容問題的結(jié)果是文檔作者可能 被迫使用一般的或者標(biāo)準(zhǔn)的字體,以確保所有潛在的網(wǎng)站訪問者能夠適當(dāng)?shù)夭榭次臋n。因 此,文檔作者有時不能使用為創(chuàng)造性和獨特性提供更大的允許的風(fēng)格化文本和其它非標(biāo)準(zhǔn) 字體。樣式表(style sheet)提供一種機制,通過該機制文檔作者可以識別特定字體的 位置,使得終端用戶可以下載相應(yīng)的字體文件來查看字體。然而,該字體文件的格式可能不 與終端用戶的瀏覽器或者應(yīng)用兼容,他或她使用該瀏覽器或者應(yīng)用訪問網(wǎng)頁或者其它網(wǎng)絡(luò) 文檔。因此,使用樣式表的字體指定機制,一些用戶可能仍然不能如文檔作者所預(yù)期的查看 網(wǎng)頁(例如,使用特定格式字體)。

發(fā)明內(nèi)容
為了提供一個發(fā)明一些方面的基本理解,以下呈現(xiàn)簡化的發(fā)明內(nèi)容。該
發(fā)明內(nèi)容
不是本發(fā)明的詳盡概述。它不旨在識別本發(fā)明的關(guān)鍵或者重要的元素,也不描繪本發(fā)明的 范圍。以下的發(fā)明內(nèi)容僅僅以簡化的形式呈現(xiàn)本發(fā)明的一些概念,作為下面描述的前序。本公開的各方面涉及一種字體服務(wù)器,其通過確定用戶代理類型(例如,瀏覽器 類型)處理字體請求。使用確定的用戶代理類型,網(wǎng)絡(luò)服務(wù)器可以檢索并且以與確定的用 戶代理類型兼容的字體文件格式返回所請求的字體。因此,頁面或者文檔開發(fā)者不需要確 定單個字體文件格式以引用特定字體。替代地,該確定可以留給字體服務(wù)器,使得可以支持 所有得瀏覽器類型。根據(jù)另一個方面,可以使用對于字體或者字體族是唯一的但是對于該特定字體或 者字體族的所有字體文件格式通用的標(biāo)識符,在網(wǎng)絡(luò)文檔或者與之相關(guān)的樣式表中引用字 體文件。根據(jù)另一個方面,文檔創(chuàng)建應(yīng)用可以配置為除用于定義web文檔的布局和外表的 相應(yīng)樣式表之外,生成web文檔。應(yīng)用可以進一步配置為從字體服務(wù)器檢索字體或者字體 標(biāo)識信息,以及引用選擇的字體或者字體族的樣式表或者web文檔中生成代碼段。根據(jù)另一個方面,如果網(wǎng)絡(luò)服務(wù)器沒有用于字體的字體文件或者兼容的格式的字 體文件,則網(wǎng)絡(luò)服務(wù)器可以更新它的字體或者字體文件列表。如果字體服務(wù)器然后能夠找 到字體文件,則服務(wù)器可以重定向請求到指定的其它字體服務(wù)器或者字體位置,如果該字 體文件沒有存儲在那個服務(wù)器中。兼容的字體文件然后可以從其它字體服務(wù)器或者通過原 始字體服務(wù)器(即,擔(dān)當(dāng)中介)發(fā)送到請求設(shè)備。
根據(jù)另一個方面,對于特定的字體,web開發(fā)者可以指定以及用戶代理可以請求減 小的字形范圍。這可以用于降低獲得用于查看由開發(fā)者發(fā)布的網(wǎng)絡(luò)文檔的必要信息所需的 帶寬量。字體服務(wù)器或者與之相關(guān)的服務(wù)程序可以評估請求的有效性,并且在驗證該請求 有效時,生成僅包含請求的字形范圍的請求字體的字體文件。請求的字形范圍可以在請求 中提供。例如,該字形范圍可以在用于HTTP請求的請求字符串中指定。


結(jié)合附圖,本發(fā)明的各種目標(biāo)、特征以及優(yōu)點將從以下詳細(xì)的描述更容易明顯和 更完全理解,在附圖中圖1圖示示例計算機系統(tǒng)和環(huán)境,其中可以實踐本發(fā)明的一個或者多個方面;圖2圖示嵌入web文檔的示例樣式表,其可以根據(jù)在此描述的一個或者多個方面 使用;圖3是圖示示例方法的流程圖,通過該示例方法可以基于用戶代理兼容性從字體 服務(wù)器獲得字體;圖4是圖示示例方法的流程圖,該示例方法用于生成包括用于定義其結(jié)構(gòu)的樣式 表的web文檔;圖5圖示根據(jù)在此描述的一個或者多個方面的示例文檔創(chuàng)建應(yīng)用界面;圖6圖示可以用于選擇兼容的字體文件的示例字體服務(wù)器;圖7是圖示示例方法的流程圖,其中字體服務(wù)器可以將字體文件請求重定向到另 一服務(wù)器或者位置;圖8圖示根據(jù)在此描述的一個或者多個方面的用于定義減小的字形范圍請求的 示例語法;圖9A圖示根據(jù)在此描述的一個或者多個方面的用于處理減小的字形字體文件請 求和生成減小的字形字體文件的示例方法;以及圖9B圖示根據(jù)在此描述的一個或者多個方面的用于從字體服務(wù)器獲得減小的字 形字體文件的示例流程圖。
具體實施例方式如上所述,本公開的各方面涉及用于在在線web環(huán)境中獲得和處理字體的系統(tǒng)、 裝置、方法和計算機可讀介質(zhì)。如在此所用的字體可以指鉛字字體(typeface)中字符的集 合。在一個或者更多示例中,字體可以指為特定鉛字字體定義的所有字符組。用于可以以 可以僅僅與一個或者更多特定類型的應(yīng)用(如web瀏覽器)兼容的字體文件格式上載字體 文件到web服務(wù)器。因此,該web服務(wù)器可以以與其它類型的應(yīng)用和web瀏覽器兼容的另 一字體文件格式生成第二字體文件。可替代他,用戶可以以多個字體文件格式上載字體文 件,而不是要求web服務(wù)器以其它格式生成字體文件。使用該web服務(wù)器,瀏覽器可以獲取 以適當(dāng)?shù)母袷降淖煮w文件。這允許用戶在它們的網(wǎng)頁中使用各種樣式和字體,而不必定制 頁面到一個類型的瀏覽器或者另一個。圖1圖示其中可以傳輸和使用字體文件以在如網(wǎng)頁的網(wǎng)絡(luò)文檔中生成文本的網(wǎng) 絡(luò)環(huán)境。網(wǎng)絡(luò)100可以配置為在包括客戶端設(shè)備103和網(wǎng)絡(luò)服務(wù)器105的各種設(shè)備之間提供通信。該通信可以符合一個或者更多通信協(xié)議,包括因特網(wǎng)協(xié)議(IP)、超文本傳輸協(xié)議 (HTTP)、文件傳送協(xié)議(FTP)等。設(shè)備103可以包括如個人計算機(PC) 103a的固定設(shè)備以 及如個人數(shù)字助理(PDA) 10 、移動電話103c和膝上型計算機103d的移動通信設(shè)備。網(wǎng)絡(luò) 服務(wù)器105可以配置為存儲和主辦各種類型的信息,包括網(wǎng)頁、音樂內(nèi)容、視頻內(nèi)容、應(yīng)用 等。在一個配置中,網(wǎng)絡(luò)服務(wù)器10 可以配置用于為用戶或者組織主辦一個或者更多網(wǎng)頁 或者網(wǎng)站。例如,網(wǎng)頁可以根據(jù)超文本標(biāo)記語言(HTML)格式化。其它web格式,如可擴展標(biāo) 記語言(XML)、可擴展超文本標(biāo)記語言(XHTML)等。基于配置用于描述以如HTML或者XML 的標(biāo)記語言編寫的文檔的布局和表示的層疊式樣式表(CSS),可以進一步定義網(wǎng)頁和站點。 CSS主要設(shè)計為能夠從文檔表示分離文檔內(nèi)容(以HTML或者類似的標(biāo)記語言編寫),該文 檔表示包括如顏色、字體以及布局(例如,邊緣、邊界)的元素。因此,當(dāng)設(shè)備103中的一個 從網(wǎng)絡(luò)服務(wù)器10 請求頁面時,網(wǎng)絡(luò)服務(wù)器10 可以連同一個或者多個在此描述的相應(yīng) 樣式表一起返回web文檔。設(shè)備103然后可以使用如web瀏覽器的應(yīng)用根據(jù)文檔編碼以及 相應(yīng)的樣式表呈現(xiàn)web文檔。在一個示例中,樣式表可以包括字體參數(shù)(例如,Wont-face 規(guī)則),其存儲或者對應(yīng)于一個URI,該URI為其中呈現(xiàn)web文檔的一個或者多個部分的字 體指定字體文件的位置。字體文件通常指數(shù)據(jù)文件,其為計算設(shè)備存儲必要信息,以便以特 定的字體呈現(xiàn)一組符號和字符。設(shè)備103可以檢索字體文件,使得web文檔的那些部分可 以按照創(chuàng)建者/作者的打算呈現(xiàn)。根據(jù)一個或者多個方面,網(wǎng)絡(luò)服務(wù)器10 可以配置為存儲字體文件??梢愿鶕?jù)各 種格式創(chuàng)建字體文件,并且因此不同類型的瀏覽器和應(yīng)用可以與那些格式具有不同的兼容 性。例如,可以根據(jù)TrueType、OpenType或者嵌入的OpenType格式創(chuàng)建字體。然而,一些 諸如微軟(MICROSOFT)的 INTERNETEXPLORER 的 web 瀏覽器可能不與 TrueType 和 OpenType 字體文件格式兼容,而其它瀏覽器可能不與嵌入的OpenType字體文件格式兼容。為了解決 這樣的兼容性問題,網(wǎng)絡(luò)服務(wù)器10 可以存儲多種格式的字體文件,以便提供與多個瀏覽 器和應(yīng)用類型的兼容性。在接收來自一個或多個設(shè)備103的字體文件請求時,網(wǎng)絡(luò)服務(wù)器 105b可以確定瀏覽器或者應(yīng)用類型,并且選擇字體文件的可兼容格式來發(fā)送到請求設(shè)備。 這消除了文檔作者決定使用哪個字體文件格式以及由于不兼容性問題而犧牲一部分她的 潛在觀眾的需要。圖2圖示可以根據(jù)在此描述的字體檢索使用的示例樣式表。層疊式樣式表200包 括(ifont-face規(guī)則201,其定義字體或者字體族,諸如用于當(dāng)前還沒有安裝字體族205的 用戶設(shè)備的字體族205。層疊式樣式表200還定義位置210 (例如,統(tǒng)一資源標(biāo)識符),在此 可以獲得用于字體族205的字體文件。該字體族可以隨后用于定義在由HTML文件220定 義的文檔的主體中使用的字體215。如所圖示的,盡管層疊式樣式表200僅僅提供單個字 體定義,但是可以添加額外的字體或者字體族定義用于在相應(yīng)web文檔中使用。例如,一種 字體可以用于標(biāo)題,而另一種字體可以用于正文。如所圖示的,樣式表200嵌入HTML文件 220中。在其它安排中,樣式表可以在HTML文檔外部,該HTML文件包括對于外部樣式表的 引用(如在此進一步詳細(xì)討論的)。圖3圖示了一種方法,通過該方法可以基于請求應(yīng)用的兼容性從字體服務(wù)器獲得 字體。在步驟300中,字體服務(wù)器可以從web文檔作者或者其它源接收對應(yīng)于新字體的字體 文件。例如,文檔作者可能希望在網(wǎng)頁中使用在字體服務(wù)器中當(dāng)前未提供的一種字體。在這種情況下,作者可以上載該字體到字體服務(wù)器,以使得頁面訪問者可以以它希望的格式和 樣式觀看頁面,并且使得其它作者也可以使用該字體。在步驟305中,字體服務(wù)器可以驗證 該字體文件可合法地分發(fā)。如果該字體或者字體文件不可合法地分發(fā),則該字體服務(wù)器可 以在350步驟中拒絕字體或者字體文件的接受和/或分發(fā)。在一個示例中,該驗證可以通過 從字體文件提取由創(chuàng)建該字體的字體鑄造廠設(shè)置的嵌入元數(shù)據(jù),并且確定元數(shù)據(jù)是否指示 該字體文件可以被分發(fā)來執(zhí)行。如果該字體服務(wù)器確定字體文件可合法地分發(fā),該字體服 務(wù)器然后可以在步驟310中確定創(chuàng)建字體文件的格式。示例字體文件格式包括TrueType、 OpenType、嵌入的OpenType等。該格式可以通過文件名、文件擴展信息、元數(shù)據(jù)、編碼結(jié)構(gòu) 和/或其組合來識別。一旦已經(jīng)識別字體文件格式,服務(wù)器可以在步驟315中確定用于字體 的字體文件是否以其它字體文件格式存在。如果不是,則字體服務(wù)器在步驟320中可以基 于在接收的字體文件中存儲的字體數(shù)據(jù),以其它字體文件格式生成字體文件。在一個或者 更多示例中,可以使用字體文件創(chuàng)建工具,諸如微軟的網(wǎng)絡(luò)嵌入字體工具(Web Embedding Fonts Tool,TOFT)。另外地或者可替代地,字體文件可以使用字體文件格式標(biāo)準(zhǔn)創(chuàng)建,該字 體文件格式標(biāo)準(zhǔn)諸如在http //www. w3. org/Submission/EOT/可得到的嵌入的OpenType 的那些字體文件格式標(biāo)準(zhǔn)。請求的格式可以定義為默認(rèn)列表或者可以為每個字體或者字體 族定制。在步驟325中,字體服務(wù)器或者它的服務(wù)程序可以接收對對應(yīng)于接收的字體文件 的字體或者字體族的請求。在一個示例中,該請求可以根據(jù)HTTPGET請求構(gòu)造,該HTTP GET 請求可以包括包含關(guān)于用戶代理(即,請求該信息的瀏覽器或者應(yīng)用)的信息的用戶-代 理請求-報頭字段。在步驟330中,字體服務(wù)器或者服務(wù)程序可以從該請求提取不同的參數(shù) 和的其它類型的信息,其包括用于請求的字體或者字體族的標(biāo)識信息以及用于訪問引用請 求的字體或字體族的頁面的瀏覽器類型。例如,字體名稱和瀏覽器應(yīng)用名可以在HTTP GET 報頭中指定。在步驟335中,字體服務(wù)器或者服務(wù)程序可以確定用于呈現(xiàn)請求的字體的用 戶代理。在步驟340中,字體服務(wù)器然后可以為用戶代理(例如,一種類型的web瀏覽器) 確定兼容的字體文件格式。例如,微軟INTERNET EXPLORER可能僅僅與嵌入的OpenType字 體文件格式兼容。在一種或多種安排中,瀏覽器類型還可以包括或涉及瀏覽器的版本。一 旦確定了兼容的字體文件格式,字體服務(wù)器或者服務(wù)程序就可以在步驟345中以確定的格 式檢索請求的字體或者字體族字體文件,并且將它傳送到請求設(shè)備。在接收字體文件之后和創(chuàng)建可用于分發(fā)的字體文件之前的一些點,字體服務(wù)器可 以處理字體文件,例如,用于減少字體的字形組為web設(shè)計者(或者其中引用字體的web文 檔)需要的那些和/或壓縮字體數(shù)據(jù)。在一個示例中,在接收字體文件后,可以立即處理字 體文件。在另一個示例中,響應(yīng)于接收對相應(yīng)的字體的請求,可以處理字體文件。字體文件 可以減少到僅僅包含在使用該字體的web文檔中使用的那些字符或者符號。圖8圖示了用于為諸如網(wǎng)頁或者樣式表的網(wǎng)絡(luò)文檔中的特定字體定義減小的字 形范圍(即,小于所有定義或者可用的字形)的示例語法。語法800可以包括用于在減小 的字體文件不需要或者不可用的情況下的可靠或默認(rèn)字體的字體定義801。除了網(wǎng)絡(luò)位置 信息805之外,字體定義801可以包括字體族名稱803。網(wǎng)絡(luò)位置或者地址可以根據(jù)以下語 法指定服務(wù)器地址/使用字體文件的網(wǎng)站的序列號/字體文件名稱。例如,字體文件名稱 可以是RmtName. eot或者RmtName. ttf。在網(wǎng)站中指定的字體文件的網(wǎng)絡(luò)位置或者地址(URI)可以是對字體文件的虛擬引用。也就是說,字體或者字體文件可以沒有存儲在網(wǎng)絡(luò)位 置。替代地,字體和/或字體文件可以存儲在各種服務(wù)器或位置。因此,使用查找表格,對 應(yīng)于網(wǎng)絡(luò)位置的服務(wù)器或者服務(wù)程序可以確定字體文件的真實位置。查找表格可以從字體 服務(wù)器加載到服務(wù)程序中。另一方面,字體定義807指定了減小的字體或者對于動態(tài)減小 的字體文件的請求。序列號可以對應(yīng)于與字體服務(wù)的客戶相關(guān)的標(biāo)識符。每個web開發(fā)者 或者網(wǎng)站可以因此為了標(biāo)識和計帳的目的而被給與唯一的序列號。序列號的使用可以進一 步防止字體引用交聯(lián),即另一個網(wǎng)站使用來自原始客戶的字體引用。字體定義807請求與 字體定義801相同的字體,但是指定期望的字形組,S卩,000-5FF、lE00-lFFF、2000-2300。字 形范圍也可以在獨立的統(tǒng)一字符碼范圍字段809中指定。取決于樣式表規(guī)范,范圍字段908 可以是可選的。使用上面的定義801和807,用戶代理可以僅僅請求如在字體定義807中指 定的減小的字形組,例如如果用戶的帶寬受到限制或者完整字體文件(包括所有字形)特 別大。通過定義web瀏覽選項或者用選擇提示,也可以提供關(guān)于下載哪個字體文件的選擇 給用戶。圖9A圖示用于動態(tài)字形減小的示例方法。在步驟900中,字體服務(wù)器可以接收對 字體的請求。該字體請求可以對應(yīng)于例如HTTP的請求。在步驟905中,服務(wù)器可以剖析請 求以識別與請求相關(guān)的序列號。在步驟910中,服務(wù)器可以基于序列號驗證請求的有效性。 請求的有效性和驗證可以包括web服務(wù)和/或web界面的使用,其允許客戶將網(wǎng)站與安全 記號(例如,序列號)和一組字體相聯(lián)系。這組信息可以加載到字體服務(wù)器或者服務(wù)程序 中,當(dāng)該HTTP請求進入時,請求可以對已存儲的組進行檢查。例如,序列號和網(wǎng)站地址可以 與在HTTP獲取請求和其中包括的引用者字符串(例如HTTP REFERER)中指定的序列號相 比較。該字體可以進一步與序列號和地址相關(guān)聯(lián)地存儲的一個或多個存儲字體組比較,以 確定請求是否有效和是否應(yīng)該提供字體。如果該請求是有效的,則在步驟915和920中字 體服務(wù)器可以隨后剖析請求以確定是否請求了完整的字體文件或期望減小的字形組字體 文件。確定可以基于請求中指定的參數(shù)來進行。例如,如果請求包括字形范圍,則服務(wù)器可 以確定字形范圍是否少于所有可用的或者為請求字體定義的字形??商娲鼗蛘吡硗獾兀?如果請求不包括或者指定字形范圍,則服務(wù)器可以確定請求完整的字形字體文件。在一個 或多個示例中,可以通過與特定字體服務(wù)器或者用戶代理相關(guān)的服務(wù)程序剖析請求。如果 請求了完整的字體文件,則在步驟925中可以從字體服務(wù)器檢索和傳送完整的字體文件到 請求代理。然而,如果服務(wù)器確定請求減小的字形字體文件,則在步驟930中服務(wù)器可以確 定的期望的字形范圍。在一個或多個安排中,字形范圍可以在HTTP請求中指定。如上所述, 字形范圍可以按照對應(yīng)于各種字形的Unicode值定義。一旦定義了期望的范圍,在步驟935 中服務(wù)器可以僅用期望的字形范圍創(chuàng)建字體文件。這種減小的字形字體文件可以通過復(fù)制 完整的字體文件和從副本移除所有非期望字形的字形數(shù)據(jù)來創(chuàng)建。字形數(shù)據(jù)可以包括數(shù)據(jù) (例如,TrueType、嵌入的OpenType或者OpenType數(shù)據(jù)),其定義了字符和符號、位圖信息、 字符到字形映射表等的提綱。另外地或可替代地,字體的其它特征或者方面可以在創(chuàng)建減 小的字形字體文件時移除;例如,如果字形中的一個已被動態(tài)移除,則可以移除連字(當(dāng)發(fā) 現(xiàn)某些字形并排時,通過呈現(xiàn)的字體動態(tài)替換兩個字形的字形)??商娲?,字體服務(wù)器可 以創(chuàng)建減小的字形字體文件,并且僅復(fù)制指定的字形數(shù)據(jù)到減小的字形字體文件。在一個或多個安排中,字體服務(wù)器可以進一步考慮正在使用的用戶代理的類型,并且使用與用戶 代理的類型兼容的字體文件格式,如在此所討論的。一旦已經(jīng)創(chuàng)建了減小的字形字體文件, 在步驟940中可以將它傳送給用戶代理用于呈現(xiàn)的相關(guān)網(wǎng)絡(luò)文檔(例如,網(wǎng)頁)。在步驟 945中,減小的字形字體文件可以緩存在字體服務(wù)程序(例如,臨時存儲器存儲)中,使得減 小的字形字體文件可以快速地提供給隨后的請求者。減小的字形字體文件與為其創(chuàng)建減小 的字形字體文件的相應(yīng)網(wǎng)站的地址相關(guān)聯(lián)地存儲。因此,當(dāng)接收對于同一網(wǎng)站的減小的字 形字體文件的隨后請求時,可以檢索和提供緩存的字體文件給請求方。圖9B圖示了可以用于創(chuàng)建減小的字形字體文件的另一示例動態(tài)字形減小流程 圖。如所圖示的,在從web服務(wù)器請求和接收網(wǎng)絡(luò)文檔時,用戶代理可以請求減小的字形字 體文件。因此,可以要求字體服務(wù)器動態(tài)創(chuàng)建減小的字形字體文件。也就是說,字體服務(wù)器 可以在特定請求時和響應(yīng)特定請求,需要創(chuàng)建字體文件。最初,可以通過對應(yīng)于字體服務(wù)器 的字體服務(wù)程序接收和剖析請求??梢杂蓋eb開發(fā)者創(chuàng)建和發(fā)布網(wǎng)絡(luò)文檔和/或?qū)?yīng)的樣 式表。因此,web開發(fā)者可以確定查看網(wǎng)絡(luò)文檔所需的字形范圍。根據(jù)一個或者多個方面,在樣式表中對于字體位置的引用可能不是直接引用到特 定字體文件。替代地,引用可能到對字體或字體族唯一的標(biāo)識符。使用對字體或者字體族 而不是特定的字體文件(和字體文件格式)唯一的標(biāo)識符,字體服務(wù)器能夠為請求設(shè)備和 用戶選擇兼容的字體文件格式。標(biāo)識符可以由字體服務(wù)器或者其它一些實體來分配。圖4圖示了用于生成web文檔的示例方法,該web文檔包括用于定義其結(jié)構(gòu)的樣 式表。在步驟400中,字體管理應(yīng)用可以與遠(yuǎn)程字體服務(wù)器連接,用于檢索服務(wù)器提供的可 用字體的列表。在步驟405中,應(yīng)用可以提供用戶界面,用戶可以通過該用戶界面通過各種 字體進行瀏覽。在步驟410中,應(yīng)用可以接收字體之一的用戶選擇,用于在用戶創(chuàng)建的web 文檔中使用。例如,用戶可以希望為web文檔的正文使用名為Helvetica Bold的字體???替代地或者另外地,用戶可以指定或者要求字體管理應(yīng)用來確定查看文檔所需的字形的范 圍(例如,如果文檔僅包括為字體定義的某些字形)。因此,應(yīng)用可以選擇性地評估網(wǎng)絡(luò)和 在此使用的符號和字符,以便識別在文檔中并入的字形組。在步驟415中,應(yīng)用可以生成用 于樣式表的代碼段,用于將選擇的字體和/或字形范圍合并到下面的web文檔中。生成的 代碼段可以包括字體標(biāo)識符,其對于字體或字體族是唯一的,但是對于特定字體或字體族 的所有字體文件格式是一般的。另外地或可替代地,如圖8所示,生成的代碼段可以指定減 小的字形范圍。這可以減少用戶必須下載來查看文檔的數(shù)據(jù)量。在步驟420中,應(yīng)用可以 使用相應(yīng)的樣式表生成web文檔的預(yù)覽。如在此所述,樣式表可以是在web文檔代碼中嵌 入的樣式表,或者是外部樣式表。此外,可以在單個網(wǎng)絡(luò)文檔中引用或使用多個樣式表。圖5圖示了示例文檔創(chuàng)建應(yīng)用界面500,其包括文檔輸入部分501、字體選擇條 503、預(yù)覽選項505、圖像插入面板507和格式控制條509。文檔輸入部分501可以提供表格, 其中作者可以輸入文本、圖像和其它內(nèi)容以定義要發(fā)布的網(wǎng)頁或者其它網(wǎng)絡(luò)文檔。例如,可 以選擇圖像,并使用圖像插入面板507將其插入文檔輸入部分501。文檔輸入部分501可以 顯示該文檔,如顯示給終端用戶那樣(即,隱藏下層代碼)或者示出頁面代碼。圖像插入面 板507可以包括瀏覽功能515,其允許用戶查找和選擇圖像文件。圖像插入面板507還可以 允許用戶定義圖像的大小。文檔創(chuàng)建應(yīng)用可以自動生成文檔代碼以在文檔中定義圖像的大 小、位置和其它特征。格式控制條509提供用于修改邊緣、設(shè)置對準(zhǔn)、定義新段落等的控制。字體選擇條503可以用來為文檔的各個部分選擇和定義字體。在一個示例中,字體選擇條 503可以包括列出可用字體的下拉菜單511。在一個或者更多配置中,下拉菜單511可以通 過從遠(yuǎn)程字體服務(wù)器檢索字體列表填充。隨著插入圖像和格式化代碼,文檔創(chuàng)建應(yīng)用可以 生成用于定義選擇用于在文檔中使用的字體的代碼。在某些安排中,諸如字體代碼和顏色 代碼的某些代碼可以在外部樣式表(例如mystyle.css)而不是實際網(wǎng)絡(luò)文檔中定義。網(wǎng) 絡(luò)文檔然后可以包括對樣式表的引用。在界面500中,該引用的樣式表可以通過選擇標(biāo)簽 513可見。在替代實施例中,樣式表可以嵌入網(wǎng)絡(luò)文檔中(即,包括樣式表代碼作為網(wǎng)絡(luò)文 檔代碼的一部分)。圖6圖示了示例字體服務(wù)器,其可以用于基于請求字體的瀏覽器類型,選擇兼容 的字體文件。字體服務(wù)器600可以包括字體數(shù)據(jù)庫601、用戶代理確定模塊603、響應(yīng)發(fā)生 器605以及請求剖析器607。字體數(shù)據(jù)庫601可以配置為多個字體存儲字體文件。字體數(shù) 據(jù)庫601可以以多個字體文件格式存儲字體的字體文件。在接收字體請求時,請求剖析器 607可以剖析和提取包含在請求中的報頭字段。例如,請求剖析器607可以從HTTP GET請 求中提取用戶代理類型報頭字段。用戶代理類型報頭信息然后可以被傳送到用戶代理類型 確定模塊603,其配置用于識別請求字體和字體文件的用戶代理的類型(例如,web瀏覽器 的類型)。請求剖析器607還可以配置用于分析引用者字符串(例如HTTP REFERER)以及 將引用者信息與字體請求和序列號組合??梢允占徒M合該信息用于幫助確定請求是否有 效以及是否應(yīng)該使用字體。用戶代理確定模塊603還可以負(fù)責(zé)確定與確定的用戶代理類型兼容的字體文件 格式。在一個示例中,用戶代理確定模塊603可以檢查一個查找表以識別兼容的格式,該查 找表存儲格式類型和用戶代理類型之間的關(guān)聯(lián)。一旦已經(jīng)確定(多個)兼容的格式,響應(yīng) 發(fā)生器605可以配置為從數(shù)據(jù)庫601檢索以確定的字體文件格式的請求字體。然后可以由 響應(yīng)發(fā)生器605生成包括字體文件的響應(yīng)并且發(fā)送到請求設(shè)備。可選地,字體服務(wù)器600可以包括請求轉(zhuǎn)向器609,其配置為如果字體服務(wù)器600 沒有存儲所請求的字體或者兼容的字體文件,則將字體請求重定向到另一個服務(wù)器(例 如,在字體數(shù)據(jù)庫601中)。轉(zhuǎn)向器609可以使用與它們的位置相關(guān)地存儲可用字體和字體 文件格式的查找表,確定兼容的字體文件或者所請求的字體的位置。轉(zhuǎn)向器609還可以配 置為從其它服務(wù)器接收字體文件,使得響應(yīng)發(fā)生器605可以生成對請求設(shè)備的響應(yīng)。可替 代地,轉(zhuǎn)向器609可以簡單地傳遞已經(jīng)由其它服務(wù)器生成的響應(yīng)到請求設(shè)備,從而起到傳 輸中介的作用。如果字體服務(wù)器600配置為從其它服務(wù)器接收字體文件,則字體服務(wù)器600 也可以在字體數(shù)據(jù)庫601中存儲字體文件,使得將來的請求不需要重定向。描述的模塊可 以包括固件、軟件、硬件和/或其組合。在一個或者多個安排中,字體服務(wù)器600還可以包 括一個或者更多處理器(未示出)、諸如RAM和ROM的存儲器模塊以幫助處理指令的存儲和 執(zhí)行。描述的模塊可以包括固件、軟件、硬件和/或其組合。在一個或者多個安排中,字 體服務(wù)器600還可以包括一個或者更多處理器(未示出)、諸如RAM和ROM的存儲器模塊以 幫助處理指令的存儲和執(zhí)行。圖7圖示了一種方法,字體服務(wù)器通過該方法可以處理對于服務(wù)器不知道的字體 的請求。在步驟700中,字體服務(wù)器或者它的服務(wù)程序可以接收字體文件請求。字體文件
12請求可以包括字體標(biāo)識符和用戶代理類型。在步驟705中,字體服務(wù)器或服務(wù)程序可以確 定請求字體是否可用。例如,字體服務(wù)器或者服務(wù)程序可以檢查與請求字體對應(yīng)的入口的 查找表。在步驟710中,如果服務(wù)器或者服務(wù)程序沒有關(guān)于請求字體的信息,則服務(wù)程序可 以從數(shù)據(jù)庫(例如,在字體服務(wù)器中)重載或者重讀查找表信息。在步驟715中,服務(wù)程序 的字體和字體位置的內(nèi)部列表可以因此使用重載或者更新的查找表信息來更新。一旦服務(wù)程序的字體和字體位置的內(nèi)部列表已經(jīng)更新,則在步驟720中服務(wù)程序 可以進行關(guān)于請求字體是否可用的另一確定。如果是這樣,則在步驟725中服務(wù)程序可以 將該請求重定向到對應(yīng)于請求字體的位置。可替代地或者另外地,服務(wù)程序可以從指定位 置檢索請求字體。然而,如果字體仍然不可用,則在步驟730中服務(wù)程序可以發(fā)送字體請求 拒絕給請求方或者代理。相同或相似的檢索系統(tǒng)、方法和裝置可以用于不同于字體的信息類型。例如,圖像 可以由圖像服務(wù)器以多種格式存儲以確保與請求用戶代理的兼容性。因此,當(dāng)瀏覽器試圖 檢索圖像時,圖像服務(wù)器可以確定請求用戶代理類型,檢索以兼容的圖像文件格式的圖像 以及返回圖像到請求設(shè)備。在此所述的方法和特征可以進一步通過任意數(shù)目的能存儲計算機可讀指令的計 算機可讀介質(zhì)實現(xiàn)??梢允褂玫挠嬎銠C可讀介質(zhì)的示例包括RAM、R0M、EEPR0M、閃存或其它 存儲技術(shù)、CD-ROM、DVD或者其它光盤存儲、磁帶、磁盤、磁存儲等。另外地或可替代地,至少在某些實施例中,在此所述的方法和特征可以通過一個 或多個集成電路(IC)實現(xiàn)。集成電路可以是例如存取在只讀存儲器(ROM)中存儲的編程 指令或者其它數(shù)據(jù)的微處理器。在一些這樣的實施例中,ROM存儲編程指令,其使得IC根 據(jù)一個或者多個在此描述方法執(zhí)行操作。至少在一些其它的實施例中,在此描述的一個或 多個方法硬布線到IC中。換言之,在這樣情況下的IC是專用于在此描述的計算和其它操 作的門電路以及其它邏輯電路的專用集成電路(ASIC)。在其它實施例中,IC可以基于執(zhí)行 從ROM或者RAM讀取的編程指令執(zhí)行一些操作,其它操作硬布線到IC的門電路或其它邏輯 電路中。此外,IC可以輸出圖像數(shù)據(jù)到顯示緩沖器。盡管已經(jīng)描述了執(zhí)行各種特征的特定示例,但是本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,存 在包含在如所附權(quán)利要求書所提出的本公開的精神和范圍內(nèi)的上述系統(tǒng)和方法的許多的 變化和改變。此外,對本領(lǐng)域的普通技術(shù)人員來說,從本公開的回顧將出現(xiàn)在所附權(quán)利要求 的范圍和精神內(nèi)的許多其它的實施例、修改和變化。
權(quán)利要求
1.一種方法,包括在字體服務(wù)器接收對于字體的請求,其中所述請求指示用戶代理的類型,所述字體要 在所述用戶代理中顯示;通過所述字體服務(wù)器從多個字體文件格式確定與所述用戶代理的類型兼容的第一字 體文件格式,其中所述用戶代理的類型與第二字體文件格式不兼容;通過所述字體服務(wù)器檢索以所述第一字體文件格式的第一字體文件;以及從所述字體服務(wù)器發(fā)送所述第一字體文件到請求設(shè)備。
2.如權(quán)利要求1所述的方法,其中所述請求包含統(tǒng)一資源標(biāo)識符,并且其中所述方法 還包括從所述統(tǒng)一資源標(biāo)識符提取所述用戶代理的類型。
3.如權(quán)利要求1所述的方法,其中確定所述第一字體文件格式是否與所述用戶代理的 類型兼容包括確定所述第一字體文件格式是否能被一種類型的網(wǎng)絡(luò)瀏覽器理解。
4.如權(quán)利要求1所述的方法,其中檢索所述第一字體文件包括從對應(yīng)于所述字體的多 個字體文件選擇所述第一字體文件,其中所述多個字體文件中的每個包括使得用戶代理能 夠以所述字體呈現(xiàn)一組字符的數(shù)據(jù),并且其中所述多個字體文件中的每個以不同的字體文 件格式。
5.如權(quán)利要求1所述的方法,其中所述請求包括對于所述字體唯一的字體標(biāo)識符,其 中所述字體標(biāo)識符對于對應(yīng)于所述字體的多個字體文件是公共的。
6.如權(quán)利要求1所述的方法,還包括在接收所述請求之前,接收以第二字體文件格式的第二字體文件;以及使用所述第二字體文件,以所述第一字體文件格式生成所述第一字體文件。
7.如權(quán)利要求1所述的方法,還包括基于對應(yīng)于所述字體的以第二字體文件格式的第 二字體文件,響應(yīng)于接收所述請求,生成所述字體文件。
8.如權(quán)利要求1所述的方法,還包括基于在所述請求中包括的信息,確定所述字體是 否能合法分發(fā)。
9.如權(quán)利要求8所述的方法,其中所述請求對應(yīng)于HTTPGET請求。
10.如權(quán)利要求1所述的方法,其中通過所述字體服務(wù)器檢索以所述第一字體文件格 式的第一字體文件包括確定以所述第一字體文件格式的所述第一字體文件是否存儲在所述字體服務(wù)器中;以及響應(yīng)于確定所述第一字體文件沒有存儲在所述字體服務(wù)器中,從另一個字體服務(wù)器請 求所述第一字體文件。
11.如權(quán)利要求10所述的方法,還包括從所述另一個字體服務(wù)器接收所述第一字體文件;以及在所述字體服務(wù)器中存儲所述第一字體文件。
12.一種裝置,包括處理器;以及存儲器,其操作地耦合到所述處理器并且存儲計算機可讀指令,當(dāng)執(zhí)行所述計算機可 讀指令時,使得裝置接收對于字體的請求,其中所述請求指示用戶代理的類型,所述字體要在所述用戶代理中使用;從多個字體文件格式確定與所述用戶代理的類型兼容的第一字體文件格式,其中所述 用戶代理的類型與第二字體文件格式不兼容;檢索以所述第一字體文件格式的第一字體文件;以及 發(fā)送所述第一字體文件到請求設(shè)備。
13.如權(quán)利要求12所述的裝置,其中確定所述第一字體文件格式是否與所述用戶代理 的類型兼容包括確定所述第一字體文件格式是否能被一種類型的網(wǎng)絡(luò)瀏覽器理解。
14.如權(quán)利要求12所述的裝置,其中檢索所述第一字體文件包括從對應(yīng)于所述字體的 多個字體文件選擇所述第一字體文件,其中所述多個字體文件中的每個包括使得用戶代理 能夠以所述字體呈現(xiàn)一組字符的數(shù)據(jù),并且其中所述多個字體文件中的每個以不同的字體 文件格式。
15.如權(quán)利要求12所述的裝置,其中當(dāng)執(zhí)行所述計算機可讀指令時,進一步使得所述裝置在接收所述請求之前,接收以第二字體文件格式的第二字體文件;以及 使用所述第二字體文件,以所述第一字體文件格式生成所述第一字體文件。
16.如權(quán)利要求12所述的裝置,其中當(dāng)執(zhí)行所述計算機可讀指令時,進一步使得所述 裝置基于對應(yīng)于所述字體的以第二字體文件格式的第二字體文件,響應(yīng)于接收所述請求, 生成所述字體文件。
17.如權(quán)利要求12所述的裝置,其中檢索以所述第一字體文件格式的第一字體文件包括確定以所述第一字體文件格式的所述第一字體文件是否存儲在所述裝置中;以及 響應(yīng)于確定所述第一字體文件沒有存儲在所述裝置中,從遠(yuǎn)程服務(wù)器請求所述第一字 體文件。
18.—個或多個存儲計算機可讀指令的計算機可讀介質(zhì),當(dāng)執(zhí)行所述計算機可讀指令 時,使得存儲一個或多個字體的裝置接收對于字體的請求,其中所述請求指示用戶代理的類型,所述字體要在所述用戶代 理中使用;從多個字體文件格式確定與所述用戶代理的類型兼容的第一字體文件格式,其中所述 用戶代理的類型與第二字體文件格式不兼容;檢索以所述第一字體文件格式的第一字體文件;以及 發(fā)送所述第一字體文件到請求設(shè)備。
19.如權(quán)利要求18所述的一個或多個計算可讀介質(zhì),其中確定所述第一字體文件格式 是否與所述用戶代理的類型兼容包括確定所述第一字體文件格式是否能被一種類型的網(wǎng) 絡(luò)瀏覽器理解。
20.如權(quán)利要求18所述的一個或多個計算可讀介質(zhì),其中檢索所述第一字體文件包括 從對應(yīng)于所述字體的多個字體文件選擇所述第一字體文件,其中所述多個字體文件中的每 個包括使得用戶代理能夠以所述字體呈現(xiàn)一組字符的數(shù)據(jù),并且其中所述多個字體文件中 的每個以不同的字體文件格式。
21.如權(quán)利要求18所述的一個或多個計算可讀介質(zhì),其中當(dāng)執(zhí)行所述計算機可讀指令時,進一步使得所述裝置在接收所述請求之前,接收以第二字體文件格式的第二字體文件;以及使用所述第二字體文件,以所述第一字體格式生成所述第一字體文件。
22.如權(quán)利要求18所述的一個或多個計算可讀介質(zhì),其中當(dāng)執(zhí)行所述計算機可讀指令 時,進一步使得所述裝置基于對應(yīng)于所述字體的以第二字體文件格式的第二字體文件,響 應(yīng)于接收所述請求,生成所述字體文件。
23.如權(quán)利要求18所述的一個或多個計算可讀介質(zhì),其中檢索以所述第一字體文件格 式的第一字體文件包括確定以所述第一字體文件格式的所述第一字體文件是否存儲在所述裝置中;以及響應(yīng)于確定所述第一字體文件沒有存儲在所述裝置中,從配置為存儲字體的另一裝置 請求所述第一字體文件。
24.一種方法,包括通過計算設(shè)備接收用于創(chuàng)建網(wǎng)絡(luò)文檔的請求;通過所述計算設(shè)備接收要在所述網(wǎng)絡(luò)文檔的部分中使用的字體的選擇;以及生成引用所選擇字體的代碼,其中所述代碼識別遠(yuǎn)程位置,對應(yīng)于所述字體的字體文 件存儲在所述遠(yuǎn)程位置,其中所述字體文件包括使得所述計算設(shè)備能夠以所選擇字體呈現(xiàn) 字符的數(shù)據(jù),并且其中所述代碼對于所述字體是唯一的,并且對于對應(yīng)于所述字體的多個 字體文件是公共的。
25.如權(quán)利要求M所述的方法,還包括通過所述計算設(shè)備從所述遠(yuǎn)程位置檢索可用字 體列表,其中所述可用字體列表包括所述代碼。
26.如權(quán)利要求25所述的方法,其中通過第一代碼引用所述可用字體的第一字體,通 過不同于所述第一代碼的第二代碼引用所述可用字體的第二字體。
27.如權(quán)利要求M所述的方法,其中對應(yīng)于所述字體的多個字體文件中的每一個有不 同的字體文件格式。
28.—個或多個存儲計算機可讀指令的計算機可讀介質(zhì),當(dāng)執(zhí)行所述計算機可讀指令 時,使得裝置接收用于創(chuàng)建網(wǎng)絡(luò)文檔的請求;接收要在所述網(wǎng)絡(luò)文檔的部分中使用的字體的選擇;以及生成引用所選擇字體的代碼,其中所述代碼識別遠(yuǎn)程位置,對應(yīng)于所述字體的字體文 件存儲在所述遠(yuǎn)程位置,其中所述字體文件包括使得所述計算設(shè)備能夠以所選擇字體呈現(xiàn) 字符的數(shù)據(jù),并且其中所述代碼對于所述字體是唯一的,并且對于對應(yīng)于所述字體的多個 字體文件是公共的。
29.如權(quán)利要求觀所述的一個或多個計算可讀介質(zhì),當(dāng)執(zhí)行所述計算機可讀指令時, 進一步使得所述裝置從所述遠(yuǎn)程位置檢索可用字體列表,其中所述可用字體列表包括所述 代碼。
30.如權(quán)利要求四所述的一個或多個計算可讀介質(zhì),其中通過第一代碼引用所述可 用字體的第一字體,并且通過不同于所述第一代碼的第二代碼引用所述可用字體的第二字 體。
31.如權(quán)利要求28所述的一個或多個計算可讀介質(zhì),其中對應(yīng)于所述字體的多個字體文件中的每一個有不同的字體文件格式。
32.一種裝置,包括處理器;以及存儲器,其操作地耦合到所述處理器并且存儲計算機可讀指令,當(dāng)執(zhí)行所述計算機可 讀指令時,使得所述裝置接收用于創(chuàng)建網(wǎng)絡(luò)文檔的請求;接收要在所述網(wǎng)絡(luò)文檔的部分中使用的字體的選擇;以及生成引用所選擇字體的代碼,其中所述代碼識別遠(yuǎn)程位置,對應(yīng)于所述字體的字體文 件存儲在所述遠(yuǎn)程位置,其中所述字體文件包括使得所述計算設(shè)備能夠以所選擇字體呈現(xiàn) 字符的數(shù)據(jù),并且其中所述代碼對于所述字體是唯一的,并且對于對應(yīng)于所述字體的多個 字體文件是公共的。
33.如權(quán)利要求32所述的裝置,當(dāng)執(zhí)行所述計算機可讀指令時,進一步使得所述裝置 從所述遠(yuǎn)程位置檢索可用字體列表,其中所述可用字體列表包括所述代碼。
34.如權(quán)利要求33所述的裝置,其中通過第一代碼引用所述可用字體的第一字體,并 且通過不同于所述第一代碼的第二代碼引用所述可用字體的第二字體。
35.如權(quán)利要求32所述的裝置,其中對應(yīng)于所述字體的多個字體文件中的每一個有不 同的字體文件格式。
全文摘要
為了解決在字體文件格式和如web瀏覽器的用戶代理之間的兼容性問題,在從用戶代理接收對于字體的請求時,字體庫可以確定兼容的字體文件格式。可以基于進行請求的用戶代理的類型進行該確定。在一個或多個安排中,如果以兼容的字體文件格式的字體文件在庫中不可用,則請求可以被發(fā)送到另一個庫。在定義網(wǎng)絡(luò)文檔的樣式表或代碼中的字體引用可以對于該字體是唯一的,但是對對應(yīng)于該字體的所有字體文件是公共的。為了便于生成網(wǎng)絡(luò)文檔的應(yīng)用可以因此響應(yīng)于用戶選擇期望的字體,自動地生成這樣的代碼。
文檔編號G06F17/30GK102063483SQ20101060939
公開日2011年5月18日 申請日期2010年10月12日 優(yōu)先權(quán)日2009年10月16日
發(fā)明者布魯斯·Q·哈蒙德, 邁克·巴庫斯 申請人:以??怂固刮魉构煞萦邢薰久x經(jīng)營的塞拉特姆股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
肃南| 汝阳县| 贵阳市| 滦南县| 静安区| 巴中市| 衡阳县| 宜宾县| 富宁县| 仙桃市| 富民县| 博兴县| 平湖市| 增城市| 长海县| 英吉沙县| 郎溪县| 库车县| 定陶县| 云龙县| 伊宁县| 濮阳县| 永清县| 遂川县| 田阳县| 徐水县| 宝坻区| 柘城县| 房产| 岳普湖县| 鲁甸县| 慈溪市| 榆社县| 开化县| 临沭县| 内江市| 山东省| 清河县| 太原市| 淮北市| 普定县|