<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于單片機(jī)的智能終端中漢字顯示的處理

          基于單片機(jī)的智能終端中漢字顯示的處理

          作者: 時間:2012-03-16 來源:網(wǎng)絡(luò) 收藏

          GB2312在此基礎(chǔ)上對矩陣進(jìn)行劃分,分為94個區(qū),每區(qū)94位,x定義了該字所在的行號,y表示該字所在的位號,x和y均以二進(jìn)制或十六進(jìn)制表示。這就是“區(qū)位碼”,例如:“啊”字的區(qū)位碼為(0x10,0x01),表示位于16區(qū)第一位。于是庫中的字模存放位置(相對于字庫文件頭的偏移地址)可以由區(qū)位碼計算得到:偏移地址=區(qū)碼×94+位碼。那么“啊”字的字模相對于字庫文件頭的偏移地址等于16×94+1=1505(十進(jìn)制表示)。

          但是許多低位數(shù)字已被其它領(lǐng)域所占用,比如:0x06表示通信確認(rèn)回答標(biāo)志。為了不與已經(jīng)存在的信碼相混淆,GB2312在每個區(qū)位碼上加上0x20,這樣形成的碼叫國標(biāo)碼。例如:“啊”字的國標(biāo)碼為(0x30,0x21)。

          由于通用的ASCII字符的最高位為0,為了在計算機(jī)內(nèi)部和之間傳輸時可以和ASCII碼區(qū)別開來,將表示的兩個字節(jié)的最高位都置1。這樣,相當(dāng)于在國標(biāo)碼基礎(chǔ)上高低字節(jié)同時加了0x80,這就是上面提到的內(nèi)碼。比如:“啊”字的內(nèi)碼為(0xB0,0xA1)。在計算機(jī)內(nèi)部,用內(nèi)碼來唯一標(biāo)識一個漢字。在程序中,通過調(diào)用系統(tǒng)函數(shù)取得某個漢字的ASCII字符表示,也就得到了這個漢字的內(nèi)碼。

          在明白了內(nèi)碼和區(qū)位碼之間的關(guān)系后,我們可以根據(jù)某個漢字的內(nèi)碼計算得到該漢字的區(qū)位碼;再通過區(qū)位碼計算得到該漢字的字模在漢字庫表中的偏移地址;從此地址開始的連續(xù)32個字節(jié)就是該漢字的字模信息。

          3.2 字模轉(zhuǎn)換

          圖1中所示的漢字與字模存放的關(guān)系是PC機(jī)中的字模存儲格式。而在系統(tǒng)中,選擇不同的液晶驅(qū)動器要求有不同的字模存儲方式。比如我們在實(shí)際應(yīng)用中,使用的是清華蓬遠(yuǎn)科貿(mào)公司的HD61202液晶驅(qū)動器。圖5 指示了HD61202液晶驅(qū)動器所要求的字模存放與漢字的關(guān)系。圖中標(biāo)明了標(biāo)出了第1、第2個字節(jié)和第31、第32個字節(jié)的存放位置。

          45.gif

          造成漢字與字模存放有這樣關(guān)系是因為不同的液晶驅(qū)動器有不同的掃描顯示方式。所以,為了能夠?qū)h字正確的顯示出來,針對不同的液晶驅(qū)動要做相應(yīng)的字模轉(zhuǎn)化。字模轉(zhuǎn)化可以自編一個轉(zhuǎn)化函數(shù)來實(shí)現(xiàn),在寫入終端字庫下載文件前將32個字節(jié)的字模按位轉(zhuǎn)化為需要的格式,再按字節(jié)順序存入下載文件。

          經(jīng)過轉(zhuǎn)化之后,“大”字的字模(32個字節(jié))變成:(32,32,32,32,32,32,160,127,0,64,64,32,16,12,3,0,160,32,32,32,32,48,32,0,1,6,8,16,32,96,32,0), 這就是存放在終端下載字庫中的字模格式。

          參考資料:
          1:《應(yīng)用系統(tǒng)設(shè)計》 何立民 北京航空航天大學(xué)出版社 1994
          2:《漢字編碼標(biāo)準(zhǔn)與識別》


          上一頁 1 2 3 4 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();