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

大字符集瀏覽器的制作方法

文檔序號(hào):6476509閱讀:146來(lái)源:國(guó)知局
專利名稱:大字符集瀏覽器的制作方法
背景技術(shù)
本發(fā)明一般涉及因特網(wǎng)瀏覽器,特別涉及支持大數(shù)量的字符的瀏覽器。
作為打印材料顯示的或者出現(xiàn)在計(jì)算機(jī)監(jiān)視器上的文本數(shù)據(jù)以二進(jìn)制數(shù)字代碼的形式編碼。當(dāng)擊打鍵盤(pán)上的一個(gè)給定鍵時(shí),產(chǎn)生為該鍵的一個(gè)字符代碼。計(jì)算機(jī)然后使用該字符代碼從列出同樣字符代碼的存儲(chǔ)的字體文件中選擇合適的字符形狀。
英語(yǔ)個(gè)人計(jì)算機(jī)系統(tǒng)一般使用7位字符代碼。該代碼根據(jù)美國(guó)信息交換標(biāo)準(zhǔn)代碼(ASCII)(ANSIx3.4-1994)編碼,它允許大約128項(xiàng)的字符集,包括大小寫(xiě)拉丁字母、阿拉伯?dāng)?shù)字、符號(hào)和控制字符。
中、日、韓(CJK)語(yǔ)具有較多數(shù)目的字符,數(shù)量級(jí)為數(shù)十萬(wàn)字符。這些字符遠(yuǎn)超過(guò)7位ASCII字符代碼所具有的容量。
例如,日本的個(gè)人計(jì)算機(jī)現(xiàn)在使用日本工業(yè)標(biāo)準(zhǔn)(JIS)X0208-1990,它只能容納6879個(gè)字符。雖然它對(duì)許多基本功能來(lái)說(shuō)是適合的,但是對(duì)于書(shū)寫(xiě)人名、地名、歷史數(shù)據(jù)和其它這種信息可能還不夠。
現(xiàn)有的CJK字符集在給定可用的字符集時(shí)不足以提供多種重要的信息。例如,Netscape Communicator萬(wàn)維網(wǎng)瀏覽器使用的GB-2313和BIG-5字符集只可以使用大約16,000個(gè)字符。
因此,國(guó)際標(biāo)準(zhǔn)化組織建立了一個(gè)稱為ISO-2022的標(biāo)準(zhǔn),它概括地論述可以怎樣構(gòu)造7位和8位字符代碼。漢語(yǔ)版是ISO-2022-CN,在征求意見(jiàn)書(shū)(RFC)1922(網(wǎng)絡(luò)工作組,1996)中闡述。
所謂的統(tǒng)一字符代碼(unicode)是由一些美國(guó)軟件公司開(kāi)發(fā)的,為了將所有世界的字符集統(tǒng)一為一個(gè)大字符集。參見(jiàn)國(guó)際標(biāo)準(zhǔn)化組織ISO/IEC 10646-1(1993)日內(nèi)瓦,瑞士。統(tǒng)一字符代碼尋求限制字符集空間到16位亦即最多65,536個(gè)字符。這一字符空間意味著每一字符必須由16位亦即兩個(gè)字節(jié)的定長(zhǎng)碼表示。然而,即使使用統(tǒng)一字符代碼,世界上所有的字符,包括數(shù)十萬(wàn)CJK字符,也不能使用一個(gè)僅允許總共65,536個(gè)字符的字符集表示。
例如,統(tǒng)一字符代碼不允許建立使用CJK語(yǔ)言的聯(lián)機(jī)數(shù)字圖書(shū)館。這種圖書(shū)館可能需要未經(jīng)刪略的字符集,它們包括至今曾使用過(guò)的所有字符。另外,在CJK國(guó)家中能夠書(shū)寫(xiě)許多人和地方的人名和地名是十分重要的。因此,以文化完整的方式對(duì)待CJK字符集而言,統(tǒng)一字符代碼還是不夠的。雖然CJK語(yǔ)用戶有可能能夠以小得多的字符集應(yīng)付,但是CJK語(yǔ)的表達(dá)性和多功能性卻由于可用的字符代碼被大大地限制了。
因此存在一種需要,以更好的方式操作字符集,使得可以使用更大數(shù)目的字符代碼,特別是對(duì)于CJK語(yǔ)言而言。


圖1是為根據(jù)本發(fā)明的一個(gè)實(shí)施例的軟件的流程圖;圖2是為實(shí)現(xiàn)本發(fā)明的一個(gè)實(shí)施例的硬件的方框圖;圖3是為根據(jù)本發(fā)明的一個(gè)實(shí)施例的軟件的流程圖。
具體實(shí)施例方式
圖1所示萬(wàn)維網(wǎng)瀏覽器12提供針對(duì)較大字符集的需要的一個(gè)平臺(tái)級(jí)解決方案。萬(wàn)維網(wǎng)瀏覽器12可以起到用于任何基于萬(wàn)維網(wǎng)應(yīng)用的通用的交叉平臺(tái)的用戶接口作用。瀏覽器12有效地使大字符集能夠支持所有基于萬(wàn)維網(wǎng)的應(yīng)用。
源超文本標(biāo)記語(yǔ)言(HTML)文件按照ISO-2022 CN和ISO-2022 CN-擴(kuò)展格式編碼,這在方框10指示。在瀏覽器12中,該文件被轉(zhuǎn)換為擴(kuò)展的統(tǒng)一字符代碼格式,以包括對(duì)統(tǒng)一字符代碼2.0(ISO/IEC 10646和RFC 2152(1996))的代理機(jī)制的支持。使用統(tǒng)一字符代碼的代理機(jī)制擴(kuò)展統(tǒng)一字符代碼的能力到足以識(shí)別具有100萬(wàn)個(gè)不同字符的字符集。因?yàn)楝F(xiàn)有統(tǒng)一字符代碼標(biāo)準(zhǔn)使用16位字符長(zhǎng)度,因此16位值所能提供的不多于65,536個(gè)字符。
于是,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)換為兩個(gè)16位值。在本發(fā)明的一個(gè)實(shí)施例中,兩個(gè)16位值的每一個(gè)分別在0×D800~0×DB00和0×DC00~0×DFFF的范圍。這與代理機(jī)制的統(tǒng)一字符代碼定義一致而沒(méi)有二義性。
瀏覽器12進(jìn)行萬(wàn)維網(wǎng)內(nèi)容的解析,如方框16指示,諸如HTML解析。之后,完成剩余的顯示步驟,如方框18指示。
當(dāng)瀏覽器12準(zhǔn)備顯示一個(gè)特定的文本字符串時(shí),瀏覽器12對(duì)于該字符串中的每一個(gè)字符進(jìn)行循環(huán)。對(duì)于CJK字符,第一次搜索查找已知的CJK字體庫(kù)中的字體,如方框20指示。已知的CJK字體庫(kù)包括國(guó)家標(biāo)準(zhǔn)(“信息交換用漢字編碼字符集基本集”,GB-2312-80),Big-5(信息工業(yè)研究院,“計(jì)算機(jī)漢字編碼字符集”,1984年3月),GBK(“信息技術(shù)”通用多八位位組編碼字符集,GB13000)和GB18030字庫(kù)。對(duì)于未包括在已知CJK字體庫(kù)中的那些罕見(jiàn)字符,顯示引擎檢索覆蓋較大字符集的字體庫(kù)。使用適當(dāng)?shù)淖煮w顯示驅(qū)動(dòng)器,如在方框22和24指示。
通過(guò)使用ISO-2022轉(zhuǎn)換器編碼HTML內(nèi)容,而不是直接編碼為統(tǒng)一字符代碼,可以使用7位編碼機(jī)制。7位機(jī)制的使用不太可能由現(xiàn)有或?qū)?lái)的通信基礎(chǔ)設(shè)施諸如因特網(wǎng)截?cái)郈JK字符。7位信息可以保持為為終端顯示的字符、文件內(nèi)容、電子郵件內(nèi)容或萬(wàn)維網(wǎng)內(nèi)容,而不管它是被怎樣傳輸?shù)摹H绶娇?0指示,然后可以在顯示屏幕上顯示文本內(nèi)容。
當(dāng)不使用CJK字符時(shí),可以使用普通的ASCII字符的字符串,它在方框26被指示。然后可以使用ASCII字符集字體顯示驅(qū)動(dòng)器,如方框28所指示。
轉(zhuǎn)到圖2,基于處理器的系統(tǒng)32可以是臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、手持計(jì)算機(jī)、諸如蜂窩電話、機(jī)頂盒或類似物品的電器。處理器34連接到橋36。橋36連接在系統(tǒng)存儲(chǔ)器38和顯示器40之間連接。顯示器40可以是計(jì)算機(jī)監(jiān)視器、液晶顯示器或甚至是電視接收機(jī)。
橋36還連接到總線42,后者連接另一個(gè)橋44。橋44可以連接到硬磁盤(pán)驅(qū)動(dòng)器46或者其它存儲(chǔ)設(shè)備。其它可能的存儲(chǔ)設(shè)備包括閃存和可重寫(xiě)數(shù)字通用硬盤(pán)驅(qū)動(dòng)器。存儲(chǔ)器46在執(zhí)行前存儲(chǔ)瀏覽器12。在執(zhí)行時(shí),瀏覽器12被傳輸?shù)较到y(tǒng)存儲(chǔ)器38。
橋44還連接到另一條總線48??偩€48可以連接串行輸入/輸出(SIO)設(shè)備50。SIO設(shè)備50可以連接到調(diào)制解調(diào)器52,它為基于處理器的系統(tǒng)32提供因特網(wǎng)訪問(wèn)。
中文網(wǎng)頁(yè)內(nèi)容由英語(yǔ)HTML標(biāo)簽和按照已知中文字符集標(biāo)準(zhǔn)編碼的中文文本字符串組成。當(dāng)把網(wǎng)頁(yè)讀入瀏覽器時(shí),它的所有內(nèi)容(包括英語(yǔ)標(biāo)簽和編碼的中文文本字符串)被首先轉(zhuǎn)換為統(tǒng)一字符代碼文本字符串。這個(gè)統(tǒng)一字符代碼文本字符串然后由HTML解析程序解析,和建立一個(gè)文件對(duì)象模型以表示網(wǎng)頁(yè)的抽象數(shù)據(jù)結(jié)構(gòu)。然后應(yīng)用顯示引擎遍歷文件對(duì)象模型,使用與HTML標(biāo)簽相關(guān)的格式和字體訪問(wèn)和顯示該頁(yè)的每一元素。
在顯示過(guò)程期間,顯示引擎一次顯示一個(gè)統(tǒng)一字符代碼字符。對(duì)于每一特定統(tǒng)一字符代碼字符,顯示引擎針對(duì)字體文件的可用性索引矩陣運(yùn)行快速檢查,以確定給定的統(tǒng)一字符代碼字符的字體是否可在給定的字體文件中獲得。如果該字符不在該字體文件中,則顯示引擎搜索下一個(gè)字體文件,搜尋盡可能接近該樣式的字體。
當(dāng)找到相應(yīng)于該字符的字體時(shí),把該字符的統(tǒng)一字符代碼轉(zhuǎn)換回國(guó)家字符集編碼,使用該編碼的值索引該字符的字體字節(jié)在給定的字體文件中的偏移。然后顯示引擎取出這些字體字節(jié),并在由布局引擎計(jì)算的給定位置產(chǎn)生為該字符的字形。
在這一過(guò)程期間,有兩個(gè)步驟進(jìn)行字符集轉(zhuǎn)換。一個(gè)步驟是在網(wǎng)頁(yè)源被解析前將其轉(zhuǎn)換為統(tǒng)一字符代碼。另一個(gè)步驟是將文本字符串中的每一個(gè)統(tǒng)一字符代碼字符轉(zhuǎn)換為其字符集編碼標(biāo)準(zhǔn),以便可以使用它的值作為索引在字體文件中取出字體信息。
例如,如果源網(wǎng)頁(yè)是一個(gè)HTML頁(yè),它的中文字符內(nèi)容以GBK編碼方案編碼,那么,當(dāng)把該網(wǎng)頁(yè)讀入瀏覽器時(shí),英語(yǔ)HTML標(biāo)簽和以GBK編碼的中文文本字符串通過(guò)一個(gè)統(tǒng)一字符代碼轉(zhuǎn)換器,在那里通過(guò)直接的一對(duì)一映射表,把每一中文字符(16位GBK代碼)轉(zhuǎn)換為統(tǒng)一字符代碼。GBK代碼自身在相鄰的塊中。因此,映射表是一個(gè)一維數(shù)組,具有大約21,000個(gè)條目,在簡(jiǎn)單計(jì)算后可以使用該GBK代碼作為對(duì)這一數(shù)組的索引。這一過(guò)程是高效的,包括存儲(chǔ)一個(gè)2×21,000字節(jié)的數(shù)組。不涉及復(fù)雜的檢索。
為顯示現(xiàn)在作為統(tǒng)一字符代碼被編碼的字符,直接使用該統(tǒng)一字符代碼索引字體文件,或者把該統(tǒng)一字符代碼轉(zhuǎn)變回具有一個(gè)與其相關(guān)的字體文件的另一種編碼。對(duì)于中文字符,因?yàn)榻y(tǒng)一字符代碼不表示在一個(gè)相鄰的塊中的中文字符,因此字體在相鄰塊中安排,遵照一個(gè)特定標(biāo)準(zhǔn)的布局次序。在這種場(chǎng)合,瀏覽器需要將統(tǒng)一字符代碼字符轉(zhuǎn)換回到一種標(biāo)準(zhǔn)。
然而,不能使用在轉(zhuǎn)換GBK到統(tǒng)一字符代碼時(shí)所涉及的直接數(shù)組索引把統(tǒng)一字符代碼變換到一種像GB2312或Big5或GBK的標(biāo)準(zhǔn)??梢越⒕哂姓麄€(gè)統(tǒng)一字符代碼標(biāo)準(zhǔn)的大小的另一個(gè)映射表,或者通過(guò)搜索GBK到統(tǒng)一字符代碼的映射表進(jìn)行反向轉(zhuǎn)換。
對(duì)于支持大約21,000個(gè)中文字符和使用GBK編碼中文的瀏覽器,GBK到統(tǒng)一字符代碼的映射表大約是2×21,000字節(jié),統(tǒng)一字符代碼到GBK的映射表將具有大約2×65,000字節(jié)大小。
支持100,000個(gè)中文字符的瀏覽器,無(wú)論是以ISO-2022-CN-EXT還是GB18030編碼的,需要一個(gè)到統(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ū)τ谒硎镜拿恳蛔址?個(gè)字節(jié)。
為避免用于映射統(tǒng)一字符代碼返回到ISO-2022-CN-EXT或GB18030的大的逆映射表,搜索原來(lái)的ISO-2022-CN-EXT到統(tǒng)一字符代碼的映射表(或GB18030到統(tǒng)一字符代碼的映射表)以進(jìn)行逆映射。這恰好地折衷處理器速度和存儲(chǔ)器。
由統(tǒng)一字符代碼引入的轉(zhuǎn)換問(wèn)題在于,中文字符在統(tǒng)一字符代碼中不是以和在國(guó)家字符集標(biāo)準(zhǔn)中同樣的次序連續(xù)分布的??梢砸赃@種方式使用統(tǒng)一字符代碼代理區(qū)域,使得100,000中文字符的大多數(shù)在統(tǒng)一字符代碼代理區(qū)域中具有相鄰的布局。在一些實(shí)施例中可以不需要用于反向轉(zhuǎn)換的巨大的映射表或處理器加強(qiáng)的搜索。同時(shí),可以保留與其統(tǒng)一字符代碼值仍然在常規(guī)16位統(tǒng)一字符代碼范圍內(nèi)的中文字符(那些不在代理區(qū)域中的)的向下兼容性。
對(duì)于中文字符是按照ISO-2022-CN-EXT編碼的網(wǎng)頁(yè),這里中文字符在幾個(gè)95×95平面中安排,這100,000中文字符可以在12個(gè)平面內(nèi)安排,每一個(gè)平面具有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)個(gè)字符。12個(gè)平面包含所有中文字符。16個(gè)平面包含大約150,000個(gè)字符,它多于所有可能的CJK和越南字符加在一起的數(shù)目。
在統(tǒng)一字符代碼的代理區(qū)域內(nèi),可以這樣安排這些平面,以使得在95×95字符的平面和統(tǒng)一字符代碼之間的映射簡(jiǎn)單而直接,而不需巨大的映射表或者復(fù)雜的搜索算法。這樣,平面可以連續(xù)映射到統(tǒng)一字符代碼代理區(qū)域的連續(xù)區(qū)域內(nèi)。例如,第一個(gè)95×95字符的平面可以映射到代理區(qū)域的第一個(gè)95行,假如在每一平面和代理區(qū)域之間有相同的(行,列)關(guān)系。一個(gè)平面內(nèi)的列可以映射到代理區(qū)域的第一個(gè)95列。第二個(gè)95×95字符的平面可以映射到代理區(qū)域的第二個(gè)95行,假如在該平面和代理區(qū)域之間有相同的(行,列)關(guān)系。在該平面內(nèi)的列映射到代理區(qū)域的第一個(gè)95列。
代理區(qū)域有從0×D800到0×DBff的總共1024行。所以95列總共可以包含97280(1024×95)個(gè)字符,它比每一平面有9025個(gè)字符的10個(gè)平面稍多。換句話說(shuō),如果要使用10個(gè)中文字符平面實(shí)施,則我們需要把它們映射到代理區(qū)域的10×95×950個(gè)行以支持90,250個(gè)字符。如果使用在常規(guī)GBK區(qū)域內(nèi)的那些現(xiàn)有的中文字符(它們被映射到16位統(tǒng)一字符代碼區(qū)域),則支持多于100,000個(gè)字符。
在一個(gè)實(shí)施例中可以以非常簡(jiǎn)單的方式把平面號(hào)、行號(hào)和列號(hào)(PRC)映射到代理區(qū)域。在統(tǒng)一字符代碼術(shù)語(yǔ)中,代理區(qū)域中的行和列分別稱為高代理和低代理。一個(gè)平面、行和列中的一個(gè)字符,它的代理區(qū)域分配是高代理=平面×95+行號(hào)低代理=列號(hào)逆映射算法可以同樣簡(jiǎn)單。對(duì)于在代理區(qū)域中的一個(gè)已知的統(tǒng)一字符代碼字符,它在該平面中的平面號(hào)、行號(hào)和列號(hào)如下平面=(高代理-0×D800)%95行=(高代理-0×D800)mod 95+0×20列=(低代理-0×DC00)+0×20這一布局安排遵從統(tǒng)一字符代碼和向下兼容。它不覆蓋在16位區(qū)域中的現(xiàn)有的統(tǒng)一字符代碼分配。新引入的字符不需提供映射表,也不需要復(fù)雜的轉(zhuǎn)換算法。在屏幕顯示或打印期間,對(duì)于索引該字符在一個(gè)字體文件中的字體可以直接使用尋址方式(平面,行,列)或者(高代理,低代理)。系統(tǒng)可以漸進(jìn)實(shí)現(xiàn)。任何銷售商都可以減少或增加所支持的平面的數(shù)目而不干涉其它字符的轉(zhuǎn)換、顯示或其它處理。例如,一個(gè)銷售商可以只想實(shí)現(xiàn)在16位GBK和16位統(tǒng)一字符代碼實(shí)現(xiàn)之外的一個(gè)或者多個(gè)95×95字符的平面。于是銷售商可以支持大約29,000個(gè)字符,這足夠支持在GB18030中定義的所有27,000個(gè)字符。
使用映射表,字體文件也可以以容易使用的布局安排。換句話說(shuō),因?yàn)樽址陨碓谙噜彽膲K中,都在每一95×95字符的平面內(nèi),以及它們的表示在統(tǒng)一字符代碼代理區(qū)域內(nèi),所以可以設(shè)計(jì)字體檢索機(jī)制,使得當(dāng)源HTML頁(yè)被解析為統(tǒng)一字符代碼字符時(shí)執(zhí)行字符的屏幕顯示和打印輸出。對(duì)于在16位范圍內(nèi)的統(tǒng)一字符代碼字符,可以使用一個(gè)雜湊函數(shù)檢查一個(gè)64k的矩陣,以確定一個(gè)特定字符是否可在一個(gè)特定的國(guó)家字符集中和它相關(guān)的字體文件中獲得。如果可以,則使用該字體。如果不可以,則可以在下一國(guó)家字符集中搜索該字符。如果用戶沒(méi)有優(yōu)選項(xiàng),則可以重寫(xiě)缺省的字體搜索機(jī)制。
對(duì)于在代理區(qū)域內(nèi)的統(tǒng)一字符代碼字符,瀏覽器查找一組新的字體文件。在該組字體文件中,每一字體文件具有在一個(gè)給定的平面(有95×95個(gè)字符)內(nèi)的那些字符的字體。代理區(qū)域中的每一統(tǒng)一字符代碼字符知道它原來(lái)的平面號(hào)、行號(hào)和列號(hào)的位置,因此瀏覽器知道字體文件以檢索該字體。在一個(gè)給定的字符平面內(nèi),每一字符的字體采用和這一統(tǒng)一字符代碼字符的(行,列)值同樣的次序安排。因?yàn)閷?duì)于在代理區(qū)域中的那些字符可以使用非常簡(jiǎn)單的統(tǒng)一字符代碼到行、列的轉(zhuǎn)換,因此每一字符的字體也采用和該統(tǒng)一字符代碼字符的代理值對(duì)同樣的次序安排。
總而言之,在一個(gè)實(shí)施例中字體文件分成平面,每一平面具有95×95個(gè)字符的字體。特定字符的字體可以直接從它的(平面,行,列)值、或從它的代理統(tǒng)一字符代碼值以簡(jiǎn)單的計(jì)算定位。
例如,對(duì)于一個(gè)占用28字節(jié)的位映射的14×16字體,對(duì)于一個(gè)在平面X、行Y和列Z的字符,我們將有一個(gè)字體文件名,諸如FontPlaneX。在該字體文件內(nèi),該字符的字體的開(kāi)始字節(jié)是28*(Y*95+Z),如果我們假定行和列是從0到94計(jì)數(shù)。
ISO-2022-CN和ISO-2022-CN-EXT定義一種編碼字符集的機(jī)制,該字符集列在下表左列,使用在下表右列表示的字符集指定序列

在一個(gè)給定的文本字符串中,如果一個(gè)應(yīng)用程序看見(jiàn)這些字符集指定符序列中的一個(gè)話,則它切換到解釋后繼文本字符串的模式,使得每?jī)蓚€(gè)字節(jié)組合為相應(yīng)于該字符集指定符序列的字符集中的一個(gè)單一字符。為編碼多于100,000字符,在一個(gè)實(shí)施例中,上面的字符集指定符序列的最后兩個(gè)數(shù)字可以擴(kuò)展

根據(jù)圖3,實(shí)現(xiàn)瀏覽器12的軟件60可以以接收采用平面、行和列(PRC)格式的HTML網(wǎng)頁(yè)開(kāi)始,如方框62指示。平面由在文本字符串開(kāi)始處的字符集指示符隱式表示,行和列由在文本字符串中的每?jī)蓚€(gè)字節(jié)表示。
每當(dāng)改變一個(gè)字符集平面時(shí),這在菱形64判定,則插入一個(gè)新的字符集指示符(CSG)以指示模改變,這在框66指示。對(duì)由ISO-2022-CN和ISO-2022-CN-EXT定義的字符,這在菱形68判定,可以使用表映射來(lái)映射它的16位統(tǒng)一字符代碼值,這在框70指示。之后,完成顯示步驟,這在框72指示。
對(duì)于支持100,000或者更多字符的瀏覽器,把那些新定義的和編碼的字符映射到代理區(qū)域,如方框74指示。對(duì)于在代理區(qū)域中的統(tǒng)一字符代碼字符,可以使用代理值來(lái)計(jì)算原來(lái)的平面、行和列值。然后瀏覽器尋找它的文件位置和一個(gè)特定字符的字體字節(jié)在一個(gè)字體文件內(nèi)的偏移,如方框76指示。然后如在方框78指示,針對(duì)ISO-2022-CN-EXT場(chǎng)合或者映射到代理區(qū)域的擴(kuò)展的場(chǎng)合產(chǎn)生字形圖像。
雖然對(duì)于有限數(shù)目的實(shí)施例說(shuō)明了本發(fā)明,但是熟悉本技術(shù)領(lǐng)域的人理解可以對(duì)其進(jìn)行各種修改和改變。本發(fā)明的意圖是,所附權(quán)利要求覆蓋這種落入本發(fā)明的真正精神和范圍內(nèi)的修改和改變。
權(quán)利要求
1.一種方法,包括接收包含字符的文件;如果該字符屬于第一類型,則將所述文件轉(zhuǎn)換為第一代碼格式;如果所述字符屬于第二類型,則將所述文件轉(zhuǎn)換為第二代碼格式。
2.權(quán)利要求1所述方法,包括接收采用平面、行和列格式的網(wǎng)頁(yè)。
3.權(quán)利要求1所述方法,包括進(jìn)行檢查以便判定字符集平面是否改變。
4.權(quán)利要求3所述方法,其中,如果字符集平面改變,則插入一個(gè)新的字符集指示符。
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.一種包括存儲(chǔ)指令的介質(zhì)的物品,所述指令使基于處理器的系統(tǒng)執(zhí)行如下操作接收包含字符的文件;如果該字符屬于第一類型,則將所述文件轉(zhuǎn)換為第一代碼格式;如果所述字符屬于第二類型,則將所述文件轉(zhuǎn)換為第二代碼格式。
12.權(quán)利要求11所述物品,進(jìn)一步存儲(chǔ)這樣的指令,該指令使基于處理器的系統(tǒng)能夠接收采用平面、行和列格式的網(wǎng)頁(yè)。
13.權(quán)利要求11所述物品,進(jìn)一步存儲(chǔ)這樣的指令,該指令使基于處理器的系統(tǒng)能夠進(jìn)行檢查以便判定字符集平面何時(shí)改變。
14.權(quán)利要求13所述物品,進(jìn)一步存儲(chǔ)這樣的指令,該指令使基于處理器的系統(tǒng)能夠在字符集平面改變時(shí)插入一個(gè)新的字符集指示符。
15.權(quán)利要求13所述物品,進(jìn)一步存儲(chǔ)這樣的指令,該指令使基于處理器的系統(tǒng)能夠判定所述文件中的字符是否是按照第一代碼格式定義的。
16.權(quán)利要求15所述物品,進(jìn)一步存儲(chǔ)進(jìn)行這樣的指令,該指令使基于處理器的系統(tǒng)能夠在所述字符是按照所述第一代碼格式定義時(shí)映射統(tǒng)一字符代碼值到所述第一代碼格式。
17.權(quán)利要求15所述物品,進(jìn)一步存儲(chǔ)這樣的指令,該指令使基于處理器的系統(tǒng)能夠在未使用所述第一代碼格式時(shí)使用統(tǒng)一字符代碼的代理區(qū)域。
18.權(quán)利要求17所述物品,進(jìn)一步存儲(chǔ)這樣的指令,該指令使基于處理器的系統(tǒng)能夠使用代理值查找字體文件的位置和偏移。
19.權(quán)利要求17所述物品,進(jìn)一步存儲(chǔ)這樣的指令,該指令使基于處理器的系統(tǒng)能夠分割字體文件為平面。
20.權(quán)利要求19所述物品,進(jìn)一步存儲(chǔ)這樣的指令,該指令使基于處理器的系統(tǒng)能夠從平面、行和列信息或從代理統(tǒng)一字符代碼信息有選擇地確定特定字符的字體。
21.一種系統(tǒng),包括處理器;和連接到該處理器的存儲(chǔ)器,存儲(chǔ)器存儲(chǔ)瀏覽器,瀏覽器能夠接收包含字符的文件,如果該字符屬于第一類型,則將所述文件轉(zhuǎn)換為第一代碼格式,和如果所述字符屬于第二類型,則將所述文件轉(zhuǎn)換為第二代碼格式。
22.權(quán)利要求21所述系統(tǒng),其中,存儲(chǔ)器存儲(chǔ)這樣的指令,該指令使處理器能夠接收采用平面、行和列格式的網(wǎng)頁(yè)。
23.權(quán)利要求21所述系統(tǒng),其中,所述存儲(chǔ)器存儲(chǔ)這樣的指令,該指令使處理器能夠在字符是按照第一代碼格式編碼時(shí)映射統(tǒng)一字符代碼值為第一代碼格式。
24.權(quán)利要求23所述系統(tǒng),其中,所述存儲(chǔ)器存儲(chǔ)這樣的指令,該指令使處理器能夠在未使用第一代碼格式時(shí)使用統(tǒng)一字符代碼的代理區(qū)域。
25.權(quán)利要求21所述系統(tǒng),其中,所述存儲(chǔ)器存儲(chǔ)這樣的指令,該指令使處理器能夠從平面、行和列信息或從代理統(tǒng)一字符代碼信息有選擇地確定特定字符的字體。
全文摘要
由字符代碼表示大數(shù)目字符而不致引起不適當(dāng)?shù)膹?fù)雜性。例如,已經(jīng)由統(tǒng)一字符代碼表示的字符可以依照統(tǒng)一字符代碼系統(tǒng)在一個(gè)16位代碼內(nèi)處理。未由統(tǒng)一字符代碼表示的字符可以以第二方式處理。未由統(tǒng)一字符代碼表示的字符可以由兩個(gè)16位代碼表示。
文檔編號(hào)G06F12/00GK1524234SQ01821579
公開(kāi)日2004年8月25日 申請(qǐng)日期2001年10月31日 優(yōu)先權(quán)日2000年12月27日
發(fā)明者Y·徐, Y 徐 申請(qǐng)人:英特爾公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
永和县| 都安| 安多县| 兴山县| 盐城市| 冕宁县| 普定县| 沅江市| 宜昌市| 和平区| 永德县| 夏津县| 宁强县| 汉川市| 休宁县| 正蓝旗| 沿河| 达孜县| 囊谦县| 阿瓦提县| 靖州| 六盘水市| 两当县| 延吉市| 玉门市| 林芝县| 芒康县| 双鸭山市| 天峻县| 通海县| 公安县| 林甸县| 安庆市| 东乡县| 清丰县| 根河市| 东阳市| 田阳县| 临桂县| 子洲县| 湖南省|