關於
hzk16
字型檔檔案的資料
ucdos
中的hzk16
字型檔是符合
gb2312
標準的16×
點陣字型檔,
ucwin gold 1.0
中的hzk16.gbk
繼續保持對
hzk16
的相容性,但是另外還支援
gbk字元,當然,訪問字型檔的方式自然也
有些變化。
hzk16
用的很多,字型檔裡的字型也很不錯,但是漢字數目太大,常用的漢字有大幾千個,加上不常用的
和對應的繁體字,總數在
萬以上,
hzk16
的gb2312-80
支援的漢字有
個,符號
個。其中
一級漢字有
個,按聲序排列,二級漢字有
個,按偏旁部首排列(至於排列方法,我倒不關注,
因為這主要是漢字輸入法所要面臨的問題,而不是點陣漢字顯示關注的物件)。在很多場合是用不到這麼
多漢字字模的,比如嵌入式系統的液晶顯示屏或是像手機、
gba那樣的個人電子通訊工具。有必要利用現
有的hzk16
和hzk16.gbk
檔案中的部分字型,把他們提取出來做為己用。就算是需要使用整個
gb2312
gbk字符集漢字,對這兩個檔案的了解也是必不可少的。
對於hzk16
字型檔裡的
16×漢字(其實只用到了
16×,即
行列,最後
列是空白的,但是
作為gbk
漢字,則使用了最後這一列)來說一共需要
個點來顯示乙個普通的漢字,那麼共需要
個位元組才能達到該目的。
首先,乙個
gb2312
漢字是由兩個位元組編碼的,範圍為
a1a1~fefe
a1-a9
為符號區,b0到
f7為漢
字區。每乙個區有
個字元(當然,這只是編碼的許可範圍,而不是這些編碼都對應有字型,比如符號
區就有很多編碼空白區域)。所以,當接受到了乙個漢字編碼譬如
鹿字,如何在
hzk16
檔案中找到它
對應的個位元組的字模資料呢。
計算方法如下:
c2h-a1h=21h
33d區,因為漢字編碼是從
a1區開始的,所以檔案最前面就是從
a1區開始)
b9h-a1h=18h
24d位,道理如上所述,這就是所謂的區位碼)
21h×
5eh+18h=c36h
5eh就是
94d代表乙個區有
個字元,
c36h
就是說這個字元在
hzk16
裡是第c36h
個)c36h×
20h=186c0h
20h就是
32d,代表乙個字元佔
個位元組,這裡得到的
186c0h就是鹿
字在hzk16
檔案中的偏移位址,從這裡開始之後的
個位元組就是我們要尋找的字元字模)
無敵分界線
上面說過了
gb2312
檔案所對應的
hzk16
檔案,訪問資料是很簡單的,
但是實際上
gb2312
中的個字元看起來很多,
實際使用的時候卻經常會發現我們所要找的字元其實並不包含在裡面,
確實,gb2312
標準是年制訂的漢字字符集標準,只包括了常見的字元,如果我們需要使用更多的漢字,那就必須使
用gbk
來代替它,當然使用的檔案自然是
hzk16.gbk
了。
hzk16理解和簡單使用
一般我們使用16x16的點陣宋體字庫,所謂16x16,是每乙個漢字在縱 橫各16點的區域內顯示的。不過後來又有了hzk12 hzk24,hzk32和hzk48字型檔及黑體 楷體和隸書字型檔。雖然漢字型檔種類繁多,但都是按照區位的順序排列的。前乙個位元組為該漢字的區號,後乙個位元組為該字的位號。每乙個...
基於HZK16的漢字顯示技術
國標漢字字符集 gb2312 80 在漢字作業系統中以漢字型檔的形式提供,並對漢字型檔的結構做了統一規定。漢字型檔的結構如圖 hzk16的gb2312 80支援的漢字有6763個,符號682個。字型檔有94個區,其中一級漢字有3755個,按聲序排列,二級漢字有3008個,按偏旁部首排列。每個區有94...
漢字型檔HZK16的簡單介紹
hzk16 字型檔是符合gb2312標準的16 16點陣字型檔,hzk16的gb2312 80支援的漢字有6763個,符號682個。其中一級漢字有3755個,按聲序排列,二級漢字有3008個,按偏旁部首排列。我們在一些應用場合根本用不到這麼多漢字字模,所以在應用時就可以只提取部分字型作 為己用。hz...