專利名稱:大字符集瀏覽器的制作方法
背景技術(shù):
本發(fā)明一般涉及因特網(wǎng)瀏覽器,特別涉及支持大數(shù)量的字符的瀏覽器。
作為打印材料顯示的或者出現(xiàn)在計(jì)算機(jī)監(jiān)視器上的文本數(shù)據(jù)以二進(jìn)制數(shù)字代碼的形式編碼。當(dāng)擊打鍵盤上的一個給定鍵時,產(chǎn)生為該鍵的一個字符代碼。計(jì)算機(jī)然后使用該字符代碼從列出同樣字符代碼的存儲的字體文件中選擇合適的字符形狀。
英語個人計(jì)算機(jī)系統(tǒng)一般使用7位字符代碼。該代碼根據(jù)美國信息交換標(biāo)準(zhǔn)代碼(ASCII)(ANSIx3.4-1994)編碼,它允許大約128項(xiàng)的字符集,包括大小寫拉丁字母、阿拉伯?dāng)?shù)字、符號和控制字符。
中、日、韓(CJK)語具有較多數(shù)目的字符,數(shù)量級為數(shù)十萬字符。這些字符遠(yuǎn)超過7位ASCII字符代碼所具有的容量。
例如,日本的個人計(jì)算機(jī)現(xiàn)在使用日本工業(yè)標(biāo)準(zhǔn)(JIS)X0208-1990,它只能容納6879個字符。雖然它對許多基本功能來說是適合的,但是對于書寫人名、地名、歷史數(shù)據(jù)和其它這種信息可能還不夠。
現(xiàn)有的CJK字符集在給定可用的字符集時不足以提供多種重要的信息。例如,Netscape Communicator萬維網(wǎng)瀏覽器使用的GB-2313和BIG-5字符集只可以使用大約16,000個字符。
因此,國際標(biāo)準(zhǔn)化組織建立了一個稱為ISO-2022的標(biāo)準(zhǔn),它概括地論述可以怎樣構(gòu)造7位和8位字符代碼。漢語版是ISO-2022-CN,在征求意見書(RFC)1922(網(wǎng)絡(luò)工作組,1996)中闡述。
所謂的統(tǒng)一字符代碼(unicode)是由一些美國軟件公司開發(fā)的,為了將所有世界的字符集統(tǒng)一為一個大字符集。參見國際標(biāo)準(zhǔn)化組織ISO/IEC 10646-1(1993)日內(nèi)瓦,瑞士。統(tǒng)一字符代碼尋求限制字符集空間到16位亦即最多65,536個字符。這一字符空間意味著每一字符必須由16位亦即兩個字節(jié)的定長碼表示。然而,即使使用統(tǒng)一字符代碼,世界上所有的字符,包括數(shù)十萬CJK字符,也不能使用一個僅允許總共65,536個字符的字符集表示。
例如,統(tǒng)一字符代碼不允許建立使用CJK語言的聯(lián)機(jī)數(shù)字圖書館。這種圖書館可能需要未經(jīng)刪略的字符集,它們包括至今曾使用過的所有字符。另外,在CJK國家中能夠書寫許多人和地方的人名和地名是十分重要的。因此,以文化完整的方式對待CJK字符集而言,統(tǒng)一字符代碼還是不夠的。雖然CJK語用戶有可能能夠以小得多的字符集應(yīng)付,但是CJK語的表達(dá)性和多功能性卻由于可用的字符代碼被大大地限制了。
因此存在一種需要,以更好的方式操作字符集,使得可以使用更大數(shù)目的字符代碼,特別是對于CJK語言而言。
圖1是為根據(jù)本發(fā)明的一個實(shí)施例的軟件的流程圖;圖2是為實(shí)現(xiàn)本發(fā)明的一個實(shí)施例的硬件的方框圖;圖3是為根據(jù)本發(fā)明的一個實(shí)施例的軟件的流程圖。
具體實(shí)施例方式
圖1所示萬維網(wǎng)瀏覽器12提供針對較大字符集的需要的一個平臺級解決方案。萬維網(wǎng)瀏覽器12可以起到用于任何基于萬維網(wǎng)應(yīng)用的通用的交叉平臺的用戶接口作用。瀏覽器12有效地使大字符集能夠支持所有基于萬維網(wǎng)的應(yīng)用。
源超文本標(biāo)記語言(HTML)文件按照ISO-2022 CN和ISO-2022 CN-擴(kuò)展格式編碼,這在方框10指示。在瀏覽器12中,該文件被轉(zhuǎn)換為擴(kuò)展的統(tǒng)一字符代碼格式,以包括對統(tǒng)一字符代碼2.0(ISO/IEC 10646和RFC 2152(1996))的代理機(jī)制的支持。使用統(tǒng)一字符代碼的代理機(jī)制擴(kuò)展統(tǒng)一字符代碼的能力到足以識別具有100萬個不同字符的字符集。因?yàn)楝F(xiàn)有統(tǒng)一字符代碼標(biāo)準(zhǔn)使用16位字符長度,因此16位值所能提供的不多于65,536個字符。
于是,ISO-2022-CN和CN擴(kuò)展格式被轉(zhuǎn)換為具有代理支持的統(tǒng)一字符代碼,這在方框14指示。已經(jīng)在統(tǒng)一字符代碼標(biāo)準(zhǔn)中定義的那些CJK字符被轉(zhuǎn)換為它們的16位統(tǒng)一字符代碼值。未由統(tǒng)一字符代碼標(biāo)準(zhǔn)定義的剩余的字符轉(zhuǎn)換為兩個16位值。在本發(fā)明的一個實(shí)施例中,兩個16位值的每一個分別在0×D800~0×DB00和0×DC00~0×DFFF的范圍。這與代理機(jī)制的統(tǒng)一字符代碼定義一致而沒有二義性。
瀏覽器12進(jìn)行萬維網(wǎng)內(nèi)容的解析,如方框16指示,諸如HTML解析。之后,完成剩余的顯示步驟,如方框18指示。
當(dāng)瀏覽器12準(zhǔn)備顯示一個特定的文本字符串時,瀏覽器12對于該字符串中的每一個字符進(jìn)行循環(huán)。對于CJK字符,第一次搜索查找已知的CJK字體庫中的字體,如方框20指示。已知的CJK字體庫包括國家標(biāo)準(zhǔn)(“信息交換用漢字編碼字符集基本集”,GB-2312-80),Big-5(信息工業(yè)研究院,“計(jì)算機(jī)漢字編碼字符集”,1984年3月),GBK(“信息技術(shù)”通用多八位位組編碼字符集,GB13000)和GB18030字庫。對于未包括在已知CJK字體庫中的那些罕見字符,顯示引擎檢索覆蓋較大字符集的字體庫。使用適當(dāng)?shù)淖煮w顯示驅(qū)動器,如在方框22和24指示。
通過使用ISO-2022轉(zhuǎn)換器編碼HTML內(nèi)容,而不是直接編碼為統(tǒng)一字符代碼,可以使用7位編碼機(jī)制。7位機(jī)制的使用不太可能由現(xiàn)有或?qū)淼耐ㄐ呕A(chǔ)設(shè)施諸如因特網(wǎng)截?cái)郈JK字符。7位信息可以保持為為終端顯示的字符、文件內(nèi)容、電子郵件內(nèi)容或萬維網(wǎng)內(nèi)容,而不管它是被怎樣傳輸?shù)?。如方?0指示,然后可以在顯示屏幕上顯示文本內(nèi)容。
當(dāng)不使用CJK字符時,可以使用普通的ASCII字符的字符串,它在方框26被指示。然后可以使用ASCII字符集字體顯示驅(qū)動器,如方框28所指示。
轉(zhuǎn)到圖2,基于處理器的系統(tǒng)32可以是臺式計(jì)算機(jī)、膝上型計(jì)算機(jī)、手持計(jì)算機(jī)、諸如蜂窩電話、機(jī)頂盒或類似物品的電器。處理器34連接到橋36。橋36連接在系統(tǒng)存儲器38和顯示器40之間連接。顯示器40可以是計(jì)算機(jī)監(jiān)視器、液晶顯示器或甚至是電視接收機(jī)。
橋36還連接到總線42,后者連接另一個橋44。橋44可以連接到硬磁盤驅(qū)動器46或者其它存儲設(shè)備。其它可能的存儲設(shè)備包括閃存和可重寫數(shù)字通用硬盤驅(qū)動器。存儲器46在執(zhí)行前存儲瀏覽器12。在執(zhí)行時,瀏覽器12被傳輸?shù)较到y(tǒng)存儲器38。
橋44還連接到另一條總線48??偩€48可以連接串行輸入/輸出(SIO)設(shè)備50。SIO設(shè)備50可以連接到調(diào)制解調(diào)器52,它為基于處理器的系統(tǒng)32提供因特網(wǎng)訪問。
中文網(wǎng)頁內(nèi)容由英語HTML標(biāo)簽和按照已知中文字符集標(biāo)準(zhǔn)編碼的中文文本字符串組成。當(dāng)把網(wǎng)頁讀入瀏覽器時,它的所有內(nèi)容(包括英語標(biāo)簽和編碼的中文文本字符串)被首先轉(zhuǎn)換為統(tǒng)一字符代碼文本字符串。這個統(tǒng)一字符代碼文本字符串然后由HTML解析程序解析,和建立一個文件對象模型以表示網(wǎng)頁的抽象數(shù)據(jù)結(jié)構(gòu)。然后應(yīng)用顯示引擎遍歷文件對象模型,使用與HTML標(biāo)簽相關(guān)的格式和字體訪問和顯示該頁的每一元素。
在顯示過程期間,顯示引擎一次顯示一個統(tǒng)一字符代碼字符。對于每一特定統(tǒng)一字符代碼字符,顯示引擎針對字體文件的可用性索引矩陣運(yùn)行快速檢查,以確定給定的統(tǒng)一字符代碼字符的字體是否可在給定的字體文件中獲得。如果該字符不在該字體文件中,則顯示引擎搜索下一個字體文件,搜尋盡可能接近該樣式的字體。
當(dāng)找到相應(yīng)于該字符的字體時,把該字符的統(tǒng)一字符代碼轉(zhuǎn)換回國家字符集編碼,使用該編碼的值索引該字符的字體字節(jié)在給定的字體文件中的偏移。然后顯示引擎取出這些字體字節(jié),并在由布局引擎計(jì)算的給定位置產(chǎn)生為該字符的字形。
在這一過程期間,有兩個步驟進(jìn)行字符集轉(zhuǎn)換。一個步驟是在網(wǎng)頁源被解析前將其轉(zhuǎn)換為統(tǒng)一字符代碼。另一個步驟是將文本字符串中的每一個統(tǒng)一字符代碼字符轉(zhuǎn)換為其字符集編碼標(biāo)準(zhǔn),以便可以使用它的值作為索引在字體文件中取出字體信息。
例如,如果源網(wǎng)頁是一個HTML頁,它的中文字符內(nèi)容以GBK編碼方案編碼,那么,當(dāng)把該網(wǎng)頁讀入瀏覽器時,英語HTML標(biāo)簽和以GBK編碼的中文文本字符串通過一個統(tǒng)一字符代碼轉(zhuǎn)換器,在那里通過直接的一對一映射表,把每一中文字符(16位GBK代碼)轉(zhuǎn)換為統(tǒng)一字符代碼。GBK代碼自身在相鄰的塊中。因此,映射表是一個一維數(shù)組,具有大約21,000個條目,在簡單計(jì)算后可以使用該GBK代碼作為對這一數(shù)組的索引。這一過程是高效的,包括存儲一個2×21,000字節(jié)的數(shù)組。不涉及復(fù)雜的檢索。
為顯示現(xiàn)在作為統(tǒng)一字符代碼被編碼的字符,直接使用該統(tǒng)一字符代碼索引字體文件,或者把該統(tǒng)一字符代碼轉(zhuǎn)變回具有一個與其相關(guān)的字體文件的另一種編碼。對于中文字符,因?yàn)榻y(tǒng)一字符代碼不表示在一個相鄰的塊中的中文字符,因此字體在相鄰塊中安排,遵照一個特定標(biāo)準(zhǔn)的布局次序。在這種場合,瀏覽器需要將統(tǒng)一字符代碼字符轉(zhuǎn)換回到一種標(biāo)準(zhǔn)。
然而,不能使用在轉(zhuǎn)換GBK到統(tǒng)一字符代碼時所涉及的直接數(shù)組索引把統(tǒng)一字符代碼變換到一種像GB2312或Big5或GBK的標(biāo)準(zhǔn)。可以建立具有整個統(tǒng)一字符代碼標(biāo)準(zhǔn)的大小的另一個映射表,或者通過搜索GBK到統(tǒng)一字符代碼的映射表進(jìn)行反向轉(zhuǎn)換。
對于支持大約21,000個中文字符和使用GBK編碼中文的瀏覽器,GBK到統(tǒng)一字符代碼的映射表大約是2×21,000字節(jié),統(tǒng)一字符代碼到GBK的映射表將具有大約2×65,000字節(jié)大小。
支持100,000個中文字符的瀏覽器,無論是以ISO-2022-CN-EXT還是GB18030編碼的,需要一個到統(tǒng)一字符代碼的映射表(使用代理區(qū)域),該表具有大約4×100,000字節(jié)的大小。逆映射表將有大約4×100,000字節(jié)的大小,因?yàn)榻y(tǒng)一字符代碼代理區(qū)域具有大約1,000,000的范圍。這里,使用4×代替2×,因?yàn)榻y(tǒng)一字符代碼代理區(qū)域?qū)τ谒硎镜拿恳蛔址?個字節(jié)。
為避免用于映射統(tǒng)一字符代碼返回到ISO-2022-CN-EXT或GB18030的大的逆映射表,搜索原來的ISO-2022-CN-EXT到統(tǒng)一字符代碼的映射表(或GB18030到統(tǒng)一字符代碼的映射表)以進(jìn)行逆映射。這恰好地折衷處理器速度和存儲器。
由統(tǒng)一字符代碼引入的轉(zhuǎn)換問題在于,中文字符在統(tǒng)一字符代碼中不是以和在國家字符集標(biāo)準(zhǔn)中同樣的次序連續(xù)分布的??梢砸赃@種方式使用統(tǒng)一字符代碼代理區(qū)域,使得100,000中文字符的大多數(shù)在統(tǒng)一字符代碼代理區(qū)域中具有相鄰的布局。在一些實(shí)施例中可以不需要用于反向轉(zhuǎn)換的巨大的映射表或處理器加強(qiáng)的搜索。同時,可以保留與其統(tǒng)一字符代碼值仍然在常規(guī)16位統(tǒng)一字符代碼范圍內(nèi)的中文字符(那些不在代理區(qū)域中的)的向下兼容性。
對于中文字符是按照ISO-2022-CN-EXT編碼的網(wǎng)頁,這里中文字符在幾個95×95平面中安排,這100,000中文字符可以在12個平面內(nèi)安排,每一個平面具有95行(0×20,0×21,…,0×7f)和95列(0×20,0×21,…,0×7f)。
這些平面和ISO-2022平面相同。每一平面具有9025((0×7f-0×20)×(0×7f-0×20)=95×95)個字符。12個平面包含所有中文字符。16個平面包含大約150,000個字符,它多于所有可能的CJK和越南字符加在一起的數(shù)目。
在統(tǒng)一字符代碼的代理區(qū)域內(nèi),可以這樣安排這些平面,以使得在95×95字符的平面和統(tǒng)一字符代碼之間的映射簡單而直接,而不需巨大的映射表或者復(fù)雜的搜索算法。這樣,平面可以連續(xù)映射到統(tǒng)一字符代碼代理區(qū)域的連續(xù)區(qū)域內(nèi)。例如,第一個95×95字符的平面可以映射到代理區(qū)域的第一個95行,假如在每一平面和代理區(qū)域之間有相同的(行,列)關(guān)系。一個平面內(nèi)的列可以映射到代理區(qū)域的第一個95列。第二個95×95字符的平面可以映射到代理區(qū)域的第二個95行,假如在該平面和代理區(qū)域之間有相同的(行,列)關(guān)系。在該平面內(nèi)的列映射到代理區(qū)域的第一個95列。
代理區(qū)域有從0×D800到0×DBff的總共1024行。所以95列總共可以包含97280(1024×95)個字符,它比每一平面有9025個字符的10個平面稍多。換句話說,如果要使用10個中文字符平面實(shí)施,則我們需要把它們映射到代理區(qū)域的10×95×950個行以支持90,250個字符。如果使用在常規(guī)GBK區(qū)域內(nèi)的那些現(xiàn)有的中文字符(它們被映射到16位統(tǒng)一字符代碼區(qū)域),則支持多于100,000個字符。
在一個實(shí)施例中可以以非常簡單的方式把平面號、行號和列號(PRC)映射到代理區(qū)域。在統(tǒng)一字符代碼術(shù)語中,代理區(qū)域中的行和列分別稱為高代理和低代理。一個平面、行和列中的一個字符,它的代理區(qū)域分配是高代理=平面×95+行號低代理=列號逆映射算法可以同樣簡單。對于在代理區(qū)域中的一個已知的統(tǒng)一字符代碼字符,它在該平面中的平面號、行號和列號如下平面=(高代理-0×D800)%95行=(高代理-0×D800)mod 95+0×20列=(低代理-0×DC00)+0×20這一布局安排遵從統(tǒng)一字符代碼和向下兼容。它不覆蓋在16位區(qū)域中的現(xiàn)有的統(tǒng)一字符代碼分配。新引入的字符不需提供映射表,也不需要復(fù)雜的轉(zhuǎn)換算法。在屏幕顯示或打印期間,對于索引該字符在一個字體文件中的字體可以直接使用尋址方式(平面,行,列)或者(高代理,低代理)。系統(tǒng)可以漸進(jìn)實(shí)現(xiàn)。任何銷售商都可以減少或增加所支持的平面的數(shù)目而不干涉其它字符的轉(zhuǎn)換、顯示或其它處理。例如,一個銷售商可以只想實(shí)現(xiàn)在16位GBK和16位統(tǒng)一字符代碼實(shí)現(xiàn)之外的一個或者多個95×95字符的平面。于是銷售商可以支持大約29,000個字符,這足夠支持在GB18030中定義的所有27,000個字符。
使用映射表,字體文件也可以以容易使用的布局安排。換句話說,因?yàn)樽址陨碓谙噜彽膲K中,都在每一95×95字符的平面內(nèi),以及它們的表示在統(tǒng)一字符代碼代理區(qū)域內(nèi),所以可以設(shè)計(jì)字體檢索機(jī)制,使得當(dāng)源HTML頁被解析為統(tǒng)一字符代碼字符時執(zhí)行字符的屏幕顯示和打印輸出。對于在16位范圍內(nèi)的統(tǒng)一字符代碼字符,可以使用一個雜湊函數(shù)檢查一個64k的矩陣,以確定一個特定字符是否可在一個特定的國家字符集中和它相關(guān)的字體文件中獲得。如果可以,則使用該字體。如果不可以,則可以在下一國家字符集中搜索該字符。如果用戶沒有優(yōu)選項(xiàng),則可以重寫缺省的字體搜索機(jī)制。
對于在代理區(qū)域內(nèi)的統(tǒng)一字符代碼字符,瀏覽器查找一組新的字體文件。在該組字體文件中,每一字體文件具有在一個給定的平面(有95×95個字符)內(nèi)的那些字符的字體。代理區(qū)域中的每一統(tǒng)一字符代碼字符知道它原來的平面號、行號和列號的位置,因此瀏覽器知道字體文件以檢索該字體。在一個給定的字符平面內(nèi),每一字符的字體采用和這一統(tǒng)一字符代碼字符的(行,列)值同樣的次序安排。因?yàn)閷τ谠诖韰^(qū)域中的那些字符可以使用非常簡單的統(tǒng)一字符代碼到行、列的轉(zhuǎn)換,因此每一字符的字體也采用和該統(tǒng)一字符代碼字符的代理值對同樣的次序安排。
總而言之,在一個實(shí)施例中字體文件分成平面,每一平面具有95×95個字符的字體。特定字符的字體可以直接從它的(平面,行,列)值、或從它的代理統(tǒng)一字符代碼值以簡單的計(jì)算定位。
例如,對于一個占用28字節(jié)的位映射的14×16字體,對于一個在平面X、行Y和列Z的字符,我們將有一個字體文件名,諸如FontPlaneX。在該字體文件內(nèi),該字符的字體的開始字節(jié)是28*(Y*95+Z),如果我們假定行和列是從0到94計(jì)數(shù)。
ISO-2022-CN和ISO-2022-CN-EXT定義一種編碼字符集的機(jī)制,該字符集列在下表左列,使用在下表右列表示的字符集指定序列
在一個給定的文本字符串中,如果一個應(yīng)用程序看見這些字符集指定符序列中的一個話,則它切換到解釋后繼文本字符串的模式,使得每兩個字節(jié)組合為相應(yīng)于該字符集指定符序列的字符集中的一個單一字符。為編碼多于100,000字符,在一個實(shí)施例中,上面的字符集指定符序列的最后兩個數(shù)字可以擴(kuò)展
根據(jù)圖3,實(shí)現(xiàn)瀏覽器12的軟件60可以以接收采用平面、行和列(PRC)格式的HTML網(wǎng)頁開始,如方框62指示。平面由在文本字符串開始處的字符集指示符隱式表示,行和列由在文本字符串中的每兩個字節(jié)表示。
每當(dāng)改變一個字符集平面時,這在菱形64判定,則插入一個新的字符集指示符(CSG)以指示模改變,這在框66指示。對由ISO-2022-CN和ISO-2022-CN-EXT定義的字符,這在菱形68判定,可以使用表映射來映射它的16位統(tǒng)一字符代碼值,這在框70指示。之后,完成顯示步驟,這在框72指示。
對于支持100,000或者更多字符的瀏覽器,把那些新定義的和編碼的字符映射到代理區(qū)域,如方框74指示。對于在代理區(qū)域中的統(tǒng)一字符代碼字符,可以使用代理值來計(jì)算原來的平面、行和列值。然后瀏覽器尋找它的文件位置和一個特定字符的字體字節(jié)在一個字體文件內(nèi)的偏移,如方框76指示。然后如在方框78指示,針對ISO-2022-CN-EXT場合或者映射到代理區(qū)域的擴(kuò)展的場合產(chǎn)生字形圖像。
雖然對于有限數(shù)目的實(shí)施例說明了本發(fā)明,但是熟悉本技術(shù)領(lǐng)域的人理解可以對其進(jìn)行各種修改和改變。本發(fā)明的意圖是,所附權(quán)利要求覆蓋這種落入本發(fā)明的真正精神和范圍內(nèi)的修改和改變。
權(quán)利要求
1.一種方法,包括接收包含字符的文件;如果該字符屬于第一類型,則將所述文件轉(zhuǎn)換為第一代碼格式;如果所述字符屬于第二類型,則將所述文件轉(zhuǎn)換為第二代碼格式。
2.權(quán)利要求1所述方法,包括接收采用平面、行和列格式的網(wǎng)頁。
3.權(quán)利要求1所述方法,包括進(jìn)行檢查以便判定字符集平面是否改變。
4.權(quán)利要求3所述方法,其中,如果字符集平面改變,則插入一個新的字符集指示符。
5.權(quán)利要求3所述方法,包括判定所述文件中的字符是否是按照第一代碼格式定義的。
6.權(quán)利要求5所述方法,其中,如果所述字符是按照所述第一代碼格式定義的,則表映射統(tǒng)一字符代碼值到所述第一代碼格式。
7.權(quán)利要求5所述方法,其中,如果未使用所述第一代碼格式,則使用統(tǒng)一字符代碼的代理區(qū)域。
8.權(quán)利要求7所述方法,包括使用代理值查找字體文件的位置和偏移。
9.權(quán)利要求7所述方法,包括分割字體文件為平面。
10.權(quán)利要求9所述方法,包括從平面、行和列信息或從代理統(tǒng)一字符代碼信息有選擇地確定為特定字符的字體。
11.一種包括存儲指令的介質(zhì)的物品,所述指令使基于處理器的系統(tǒng)執(zhí)行如下操作接收包含字符的文件;如果該字符屬于第一類型,則將所述文件轉(zhuǎn)換為第一代碼格式;如果所述字符屬于第二類型,則將所述文件轉(zhuǎn)換為第二代碼格式。
12.權(quán)利要求11所述物品,進(jìn)一步存儲這樣的指令,該指令使基于處理器的系統(tǒng)能夠接收采用平面、行和列格式的網(wǎng)頁。
13.權(quán)利要求11所述物品,進(jìn)一步存儲這樣的指令,該指令使基于處理器的系統(tǒng)能夠進(jìn)行檢查以便判定字符集平面何時改變。
14.權(quán)利要求13所述物品,進(jìn)一步存儲這樣的指令,該指令使基于處理器的系統(tǒng)能夠在字符集平面改變時插入一個新的字符集指示符。
15.權(quán)利要求13所述物品,進(jìn)一步存儲這樣的指令,該指令使基于處理器的系統(tǒng)能夠判定所述文件中的字符是否是按照第一代碼格式定義的。
16.權(quán)利要求15所述物品,進(jìn)一步存儲進(jìn)行這樣的指令,該指令使基于處理器的系統(tǒng)能夠在所述字符是按照所述第一代碼格式定義時映射統(tǒng)一字符代碼值到所述第一代碼格式。
17.權(quán)利要求15所述物品,進(jìn)一步存儲這樣的指令,該指令使基于處理器的系統(tǒng)能夠在未使用所述第一代碼格式時使用統(tǒng)一字符代碼的代理區(qū)域。
18.權(quán)利要求17所述物品,進(jìn)一步存儲這樣的指令,該指令使基于處理器的系統(tǒng)能夠使用代理值查找字體文件的位置和偏移。
19.權(quán)利要求17所述物品,進(jìn)一步存儲這樣的指令,該指令使基于處理器的系統(tǒng)能夠分割字體文件為平面。
20.權(quán)利要求19所述物品,進(jìn)一步存儲這樣的指令,該指令使基于處理器的系統(tǒng)能夠從平面、行和列信息或從代理統(tǒng)一字符代碼信息有選擇地確定特定字符的字體。
21.一種系統(tǒng),包括處理器;和連接到該處理器的存儲器,存儲器存儲瀏覽器,瀏覽器能夠接收包含字符的文件,如果該字符屬于第一類型,則將所述文件轉(zhuǎn)換為第一代碼格式,和如果所述字符屬于第二類型,則將所述文件轉(zhuǎn)換為第二代碼格式。
22.權(quán)利要求21所述系統(tǒng),其中,存儲器存儲這樣的指令,該指令使處理器能夠接收采用平面、行和列格式的網(wǎng)頁。
23.權(quán)利要求21所述系統(tǒng),其中,所述存儲器存儲這樣的指令,該指令使處理器能夠在字符是按照第一代碼格式編碼時映射統(tǒng)一字符代碼值為第一代碼格式。
24.權(quán)利要求23所述系統(tǒng),其中,所述存儲器存儲這樣的指令,該指令使處理器能夠在未使用第一代碼格式時使用統(tǒng)一字符代碼的代理區(qū)域。
25.權(quán)利要求21所述系統(tǒng),其中,所述存儲器存儲這樣的指令,該指令使處理器能夠從平面、行和列信息或從代理統(tǒng)一字符代碼信息有選擇地確定特定字符的字體。
全文摘要
由字符代碼表示大數(shù)目字符而不致引起不適當(dāng)?shù)膹?fù)雜性。例如,已經(jīng)由統(tǒng)一字符代碼表示的字符可以依照統(tǒng)一字符代碼系統(tǒng)在一個16位代碼內(nèi)處理。未由統(tǒng)一字符代碼表示的字符可以以第二方式處理。未由統(tǒng)一字符代碼表示的字符可以由兩個16位代碼表示。
文檔編號G06F12/00GK1524234SQ01821579
公開日2004年8月25日 申請日期2001年10月31日 優(yōu)先權(quán)日2000年12月27日
發(fā)明者Y·徐, Y 徐 申請人:英特爾公司