所有的漢字或者英文都是下面的原理,
由左至右,每8個(gè)點(diǎn)占用一個(gè)字節(jié),最后不足8個(gè)字節(jié)的占用一個(gè)字節(jié),而且從最高位向最低位排列。
生成的字庫(kù)說(shuō)明:(以12×12例子)
一個(gè)漢字占用字節(jié)數(shù):12÷8=1····4也就是占用了2×12=24個(gè)字節(jié)。
編碼排序A0A0→A0FE A1A0→A2FE依次排列。
以12×12字庫(kù)的“我”為例:“我”的編碼為CED2,所以在漢字排在CEH-AOH=2EH區(qū)的D2H-A0H=32H個(gè)。所以在12×12字庫(kù)的起始位置就是[{FE-A0}*2EH+32H]*24=104976開(kāi)始的24個(gè)字節(jié)就是我的點(diǎn)陣模。
其他的類(lèi)推即可。
英文點(diǎn)陣也是如此推理。
在dos終端模式下是不可以顯示中文漢字的,只能顯示英文。
漢字與英文的區(qū)別是:
1. 漢字字庫(kù)中,任何字符均用2個(gè)字節(jié)編碼,即區(qū)碼和位碼,在英文字庫(kù)中,所有字符均用單字節(jié)編碼。
2. 16點(diǎn)陣漢字字庫(kù)(16*16)用32個(gè)字節(jié)存儲(chǔ)一個(gè)字符的字模,16點(diǎn)陣英文字庫(kù)(8*16)用16個(gè)字節(jié)存儲(chǔ)單個(gè)字符的字模。
在DOS終端模式下用的是16點(diǎn)陣英文字庫(kù),如果要讓DOS終端中顯示中文,可以改寫(xiě)終端模式下的16點(diǎn)陣英文字庫(kù),使其顯示的不是原有的英文字符,而是漢字字符,當(dāng)然也可以加入自造點(diǎn)陣圖形圖像。原理為:
我們輸入AB,正常顯示的是AB,但如果改變AB的字模,用漢字的字模代替,這樣輸入AB字符,并不顯示AB,而是顯示一個(gè)漢字。將一個(gè)漢字從中間劈為兩半,左面部分頂替A的字模,右面部分頂替B的字模。
dos所用字庫(kù),文件頭結(jié)構(gòu)很簡(jiǎn)單,如默認(rèn)的8*16英文字庫(kù),文件頭長(zhǎng)度為4,跳過(guò)這四個(gè)字節(jié)就是字模數(shù)據(jù);也有沒(méi)有文件頭的,從第一個(gè)字節(jié)開(kāi)始就是字模數(shù)據(jù)。
1、點(diǎn)陣字庫(kù)存儲(chǔ)