ASCII字元點陣字型檔的製作和使用

2021-06-23 01:22:15 字數 2013 閱讀 9603

**:

win7,eclipse,mingw

ascii編碼的可列印字元是0x20~0x7e,先用執行下面這段**,生成乙個包含全部可列印字元的txt檔案:

[cpp]view plain

copy

#include 

#include 

int main(int argc,char *argv)  

for(i=0x20;i<0x7f;i++)  

return 0;  

}  

執行後,用記事本開啟ascii.txt檔案,會看到如下文字:

使用字模提取v2.1軟體,設定字型為宋體、12,縱向取模,位元組倒序(即高位在下)。這些設定可以根據實際情況設定。用c51格式生成字模,大小是8*16,每個字元用16個位元組表示。如字元a的顯示如下:

取模資料為:

0x00,0x00,0xc0,0x38,0xe0,0x00,0x00,0x00,0x20,0x3c,0x23,0x02,0x02,0x27,0x38,0x20,

然後將所有的字模資料複製到乙個文字檔案,刪除其中的空行,換行,注釋等與字模資料無關的內容,並將檔案最後的乙個逗號改為ascii字元的句號,得到乙個純字模資料檔案ascii_zk.txt

將ascii_zk.txt檔案中的每個字模資料轉換為佔乙個位元組的數,將所有的資料填充為乙個二進位制檔案ascii_zk.bin。這樣,按照ascii碼的順序,ascii_zk.bin中每16個位元組就可以繪製乙個字元。檔案轉換的程式如下:

[cpp]view plain

copy

#include 

#include 

/* *將乙個ascii字元轉換為數 

*/  

unsigned char c2x(char ch)  

//將ascii_zk.txt轉換為二進位制檔案  

int main(void)  

fclose(frp);  

fclose(fwp);  

return 0;  

}  

字型檔檔案製作完畢。

ascii_zk.bin檔案從ascii碼的空格(0x20)開始,每16個位元組表示乙個字元的點陣字模。以字母a為例,它的ascii碼是0x41,那麼,它的字模資料的開始位置就是:

(0x41-0x20)*16

從這個位置開始依次讀取16個位元組,就是字母a的字模資料,將其顯示即可。

例:用linux的終端模擬顯示點陣字元,終端螢幕中的每個字元位置就是乙個點,程式如下。

[cpp]view plain

copy

#include 

#include 

#include 

#define start 0x20  

#define datanum 0x10  

int displaychar(file *fp,char dispch,char fillch,char start_x,char start_y);  

int main(void)  

refresh();  

while(1);  

endwin();  

fclose(fp);  

return 0;  

}  /* 

* 以點陣方式顯示乙個ascii字元 

* dispch是要顯示的字元,fillch是填充點陣的字元 

* start_x,start_y是顯示的起始座標 

*/  

int displaychar(file *fp,char dispch,char fillch,char start_x,char start_y)  

if(x == (start_x+7))  

else  

}  return 0;  

}  

該程式在fedora12的終端中執行,效果如下:

ascii點陣字型檔檔案

ASCII字元點陣字型檔的製作和使用

win7,eclipse,mingw ascii編碼的可列印字元是0x20 0x7e,先用執行下面這段 生成乙個包含全部可列印字元的txt檔案 cpp view plain copy include include int main int argc,char argv for i 0x20 i 0...

點陣字型檔製作和使用 三

乙個漢字由兩個擴充套件 ascii 碼組成,第乙個擴充套件 ascii 碼用來存放區碼,第二個擴充套件 ascii 碼用來存放位碼.在 gb2312 80 標準中,將所有的漢字分為94個區,每個區有94個位可以存放94個漢字,形成了人們常說的區位碼,這樣總共就有 94 94 8836 個漢字.在點陣...

GBK點陣顯示字型檔的製作和使用

gbk編碼 共收錄漢字21003個 符號883個,並提供1894個造字碼位,簡 繁體字融於一庫。以兩個位元組表示乙個漢字,編碼範圍是0x8140 0xfefe,相容gb2318,並覆蓋了unicode中的所有漢字。win7記事本預設以gbk儲存漢字。關於gbk的詳細資訊 開發環境 win7 ecli...