浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 單 片 機(jī)

VxWorks漢字顯示解決方案

發(fā)布時間:2008/5/27 0:00:00 訪問次數(shù):625

來源:單片機(jī)及嵌入式系統(tǒng)應(yīng)用 作者:董 磊 周金明 楊 磊

摘要:論述vxworks上windml對多字節(jié)碼的顯示支持,著重討論其存儲結(jié)構(gòu)和意義,并給出漢字顯示的實現(xiàn)方法。

關(guān)鍵詞:vxworks操作系統(tǒng) windml組件 漢字點陣 國標(biāo)編碼

1 vxworks操作系統(tǒng)圖形顯示方案vxworks作為嵌入式實時操作系統(tǒng),在國內(nèi)應(yīng)用已非常廣泛,但vxworks原廠商沒有直接提供完備的漢字顯示解決方案。本文這個熱點論題,通過對vxworks顯示組件的分析,具體給出一種漢字顯示的方案。

vxworks的漢字顯示首先需要一種圖形解決方案,只有工作在圖形模式下才可能顯示漢字。vxworks有三種顯示方案可供選擇。

(1)windml+zinc

windml是wind river mutli-media library的簡稱,其中包含ugl(universal graphics library)。該組件直接控制顯示硬件,主要提供顯示模式設(shè)置、標(biāo)準(zhǔn)輸入輸出控制、點線面作圖等函數(shù),編程接口很類似于torbo c、borland c里的圖形庫。zinc基于windml,提供了類widnows風(fēng)格的接口,有各種控件被封裝于內(nèi),編程接口很類似于windows編程。

(2)windml+jworks

jworks提供java的支持,在vxworks上啟動java虛擬機(jī)來解釋java語言;圖形開發(fā)編程接口是java語言,java虛擬機(jī)的圖形實現(xiàn)基于windml。

(3)web server+windml+jworks+browser

web werver使顯示編程接口成為編寫網(wǎng)頁,可以通過遠(yuǎn)程的browser來訪問而使設(shè)備具有遠(yuǎn)程顯示接口,也可以在本機(jī)做browser使設(shè)備具有本機(jī)顯示接口。該browser的實現(xiàn)需要windml或jworks的支持。

上述方案內(nèi),純web server的方案不需要本地漢字顯示,只要在網(wǎng)頁上放國標(biāo)碼或unicode碼等,由遠(yuǎn)程的browser去實現(xiàn)顯示;其它方案基本上都需要windml的支持,這是因為vxworks系統(tǒng)里所有底層的顯示操作都是通過windml實現(xiàn)的。

2 漢字顯示方案實現(xiàn)本地漢字顯示的方案一定會涉及到windml,只是不同的方案對windml的依賴程度有所不同,一般有如下幾種。

①利用windml對雙字節(jié)編碼的支持,實現(xiàn)對漢字的點陣存儲、點陣獲取、點陣顯示的全過程,并使用windml的雙字節(jié)顯示函數(shù)實現(xiàn)漢遼碼到漢字顯示。這種方法使用了系統(tǒng)機(jī)制,最根本的解決方法,并使windml的其它上層組件很方便地實現(xiàn)漢字顯示。

②自己開發(fā)點陣存儲、點陣獲取、點陣顯示,改造windml的雙字節(jié)和單字節(jié)顯示函數(shù),使其能判斷漢字碼,一旦判斷出漢字碼,則使用自己開發(fā)的點陣獲取、點陣顯示等把漢字顯示出來。該方法對點陣的操作更加靈活,適合非標(biāo)準(zhǔn)的點陣算法,或者當(dāng)開發(fā)者已有成熟的點陣操作方法時,把該方法綁接到windml上。

③完全自己開發(fā)一套點陣存儲、點陣獲取、點陣顯示、漢字顯示函數(shù),使用者使用特定的漢字顯示函數(shù)把漢字顯示出來。該方法具有最大的靈活性,甚至不理睬windml的任何機(jī)制,直接在上層組件里實現(xiàn),但這種方法使程序的中英文混合顯示變得復(fù)雜,程序可移植性也比較差。

本文將就第一種顯示方案和第一種漢字顯示方案詳細(xì)論述windml的雙字節(jié)編碼機(jī)制,并利用該機(jī)制構(gòu)建windml漢字顯示框架,并論述zinc如何使用該框架。這些機(jī)制和思路其實是任何方案都需要考慮的,對繞開windml的方案也具指導(dǎo)和借鑒意義。

3 windml的點陣參數(shù)①每個字模都有一個占據(jù)的空間,該空間對于點陣字庫里的每個字是一樣大的,所有字符點陣的大小都不應(yīng)該超過該空間,如果超過,顯示時超出部分將被截掉。相關(guān)參數(shù)有:

maxadvance——最大寬度(橫向)大小,以點為單位。

maxascent,maxdescent——maxascent+maxdescend是最大長度(即縱向)大小,兩數(shù)的交界決定了一個baseline,maxascent是baseline以上的長度,maxdescent是baseline以下的部分。baseline對于定位具體字符點陣的打點起始位置非常重要,另外如果有一行來自同一個字符集的字符串,則這些字符的baseline是在一條線上的。maxascent+maxdescent有時被稱為字符表高度height,注意要與下面所述的字符高度區(qū)別開來。

②每個字符點陣也有一個范圍大小,其大小與每個字符有關(guān)。該大小一般不會填滿整個字模空間。相關(guān)參數(shù)有:

width——寬度。

height——高度。

ascent——點陣打點開始位置在baseline之上的偏移,如果是負(fù)數(shù),則點陣在baseline之下開始打點。

ascent和height決定了點陣從字模的多少行開始打點,要打多少行。而列的打點起始位置,固定是0,即字模的最左邊,所以只有width描述打點的寬度。

③字符橫向和縱向都要有額外空間,以防止字符粘接重

來源:單片機(jī)及嵌入式系統(tǒng)應(yīng)用 作者:董 磊 周金明 楊 磊

摘要:論述vxworks上windml對多字節(jié)碼的顯示支持,著重討論其存儲結(jié)構(gòu)和意義,并給出漢字顯示的實現(xiàn)方法。

關(guān)鍵詞:vxworks操作系統(tǒng) windml組件 漢字點陣 國標(biāo)編碼

1 vxworks操作系統(tǒng)圖形顯示方案vxworks作為嵌入式實時操作系統(tǒng),在國內(nèi)應(yīng)用已非常廣泛,但vxworks原廠商沒有直接提供完備的漢字顯示解決方案。本文這個熱點論題,通過對vxworks顯示組件的分析,具體給出一種漢字顯示的方案。

vxworks的漢字顯示首先需要一種圖形解決方案,只有工作在圖形模式下才可能顯示漢字。vxworks有三種顯示方案可供選擇。

(1)windml+zinc

windml是wind river mutli-media library的簡稱,其中包含ugl(universal graphics library)。該組件直接控制顯示硬件,主要提供顯示模式設(shè)置、標(biāo)準(zhǔn)輸入輸出控制、點線面作圖等函數(shù),編程接口很類似于torbo c、borland c里的圖形庫。zinc基于windml,提供了類widnows風(fēng)格的接口,有各種控件被封裝于內(nèi),編程接口很類似于windows編程。

(2)windml+jworks

jworks提供java的支持,在vxworks上啟動java虛擬機(jī)來解釋java語言;圖形開發(fā)編程接口是java語言,java虛擬機(jī)的圖形實現(xiàn)基于windml。

(3)web server+windml+jworks+browser

web werver使顯示編程接口成為編寫網(wǎng)頁,可以通過遠(yuǎn)程的browser來訪問而使設(shè)備具有遠(yuǎn)程顯示接口,也可以在本機(jī)做browser使設(shè)備具有本機(jī)顯示接口。該browser的實現(xiàn)需要windml或jworks的支持。

上述方案內(nèi),純web server的方案不需要本地漢字顯示,只要在網(wǎng)頁上放國標(biāo)碼或unicode碼等,由遠(yuǎn)程的browser去實現(xiàn)顯示;其它方案基本上都需要windml的支持,這是因為vxworks系統(tǒng)里所有底層的顯示操作都是通過windml實現(xiàn)的。

2 漢字顯示方案實現(xiàn)本地漢字顯示的方案一定會涉及到windml,只是不同的方案對windml的依賴程度有所不同,一般有如下幾種。

①利用windml對雙字節(jié)編碼的支持,實現(xiàn)對漢字的點陣存儲、點陣獲取、點陣顯示的全過程,并使用windml的雙字節(jié)顯示函數(shù)實現(xiàn)漢遼碼到漢字顯示。這種方法使用了系統(tǒng)機(jī)制,最根本的解決方法,并使windml的其它上層組件很方便地實現(xiàn)漢字顯示。

②自己開發(fā)點陣存儲、點陣獲取、點陣顯示,改造windml的雙字節(jié)和單字節(jié)顯示函數(shù),使其能判斷漢字碼,一旦判斷出漢字碼,則使用自己開發(fā)的點陣獲取、點陣顯示等把漢字顯示出來。該方法對點陣的操作更加靈活,適合非標(biāo)準(zhǔn)的點陣算法,或者當(dāng)開發(fā)者已有成熟的點陣操作方法時,把該方法綁接到windml上。

③完全自己開發(fā)一套點陣存儲、點陣獲取、點陣顯示、漢字顯示函數(shù),使用者使用特定的漢字顯示函數(shù)把漢字顯示出來。該方法具有最大的靈活性,甚至不理睬windml的任何機(jī)制,直接在上層組件里實現(xiàn),但這種方法使程序的中英文混合顯示變得復(fù)雜,程序可移植性也比較差。

本文將就第一種顯示方案和第一種漢字顯示方案詳細(xì)論述windml的雙字節(jié)編碼機(jī)制,并利用該機(jī)制構(gòu)建windml漢字顯示框架,并論述zinc如何使用該框架。這些機(jī)制和思路其實是任何方案都需要考慮的,對繞開windml的方案也具指導(dǎo)和借鑒意義。

3 windml的點陣參數(shù)①每個字模都有一個占據(jù)的空間,該空間對于點陣字庫里的每個字是一樣大的,所有字符點陣的大小都不應(yīng)該超過該空間,如果超過,顯示時超出部分將被截掉。相關(guān)參數(shù)有:

maxadvance——最大寬度(橫向)大小,以點為單位。

maxascent,maxdescent——maxascent+maxdescend是最大長度(即縱向)大小,兩數(shù)的交界決定了一個baseline,maxascent是baseline以上的長度,maxdescent是baseline以下的部分。baseline對于定位具體字符點陣的打點起始位置非常重要,另外如果有一行來自同一個字符集的字符串,則這些字符的baseline是在一條線上的。maxascent+maxdescent有時被稱為字符表高度height,注意要與下面所述的字符高度區(qū)別開來。

②每個字符點陣也有一個范圍大小,其大小與每個字符有關(guān)。該大小一般不會填滿整個字?臻g。相關(guān)參數(shù)有:

width——寬度。

height——高度。

ascent——點陣打點開始位置在baseline之上的偏移,如果是負(fù)數(shù),則點陣在baseline之下開始打點。

ascent和height決定了點陣從字模的多少行開始打點,要打多少行。而列的打點起始位置,固定是0,即字模的最左邊,所以只有width描述打點的寬度。

③字符橫向和縱向都要有額外空間,以防止字符粘接重

相關(guān)IC型號

熱門點擊

 

推薦技術(shù)資料

硬盤式MP3播放器終級改
    一次偶然的機(jī)會我結(jié)識了NE0 2511,那是一個遠(yuǎn)方的... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!