一级毛片免费不卡在线视频,国产日批视频免费在线观看,菠萝菠萝蜜在线视频免费视频,欧美日韩亚洲无线码在线观看,久久精品这里精品,国产成人综合手机在线播放,色噜噜狠狠狠综合曰曰曰,琪琪视频

不依賴高點(diǎn)陣字庫(kù)實(shí)現(xiàn)屏幕漢字顯示

時(shí)間:2023-05-01 07:40:01 計(jì)算機(jī)論文 我要投稿
  • 相關(guān)推薦

不依賴高點(diǎn)陣字庫(kù)實(shí)現(xiàn)屏幕漢字顯示

在設(shè)計(jì)軟件封面或菜單標(biāo)題時(shí),常需用到放大的漢字顯示。通常采用的方法是一邊從高點(diǎn)陣字庫(kù)中讀取漢字的字形碼,一邊加以變換在圖形方式下繪點(diǎn);但高點(diǎn)陣字庫(kù)占有較大存儲(chǔ)空間,例如 :2.13漢字系統(tǒng)中四種字體(宋、仿宋、黑、楷)的40X40點(diǎn)陣字庫(kù)共占用近5M字節(jié)的硬盤空間。一般漢字操作系統(tǒng)中的漢字顯示都采用16X16點(diǎn)陣字庫(kù)(僅占約260K字節(jié));

而由于硬盤空間的限制,并不是每臺(tái)微機(jī)上都裝有高點(diǎn)陣字庫(kù)。

如何使?jié)h字放大顯示程序不依賴高點(diǎn)陣字庫(kù)而獨(dú)立運(yùn)行?本文提供一種方法,將需要放大顯示的漢字串的字形碼一次性從2.13I高點(diǎn)陣字庫(kù)(40X40點(diǎn)陣)讀入一個(gè)SUBHZK文件,以后每次顯示放大漢字時(shí)只需從該文件讀取字模信息,而SUBHZK比高點(diǎn)陣字庫(kù)要小的多。這樣,漢字顯示程序運(yùn)行時(shí)就徹底擺脫了高點(diǎn)陣字庫(kù)(只需打開文件SUBHZK),可在西文方式或任何中文方式下運(yùn)行。

程序采用Turbo C2.0編寫,漢字放大顯示程序DISPHZ運(yùn)行時(shí)只需將SUBHZK和相應(yīng)顯示器的圖形驅(qū)動(dòng)程序(如CGA.BGI、EGAVGA.BGI)隨DISPHZ.EXE放在同一目錄下即可。

須注意的是,40X40點(diǎn)陣字模(字形碼)實(shí)際上由40×36點(diǎn)陣組成,其漢字字形碼排列格式為

@@T5S06100.GIF;圖1@@

程序清單:

/*程序READGHZ.C:將需放大顯示的漢字串的字形碼從2.13系統(tǒng)40X40點(diǎn)陣字庫(kù)讀入

文件SUBHZK*/

#include<stdio.h>

#include<io.h>

int openhzk40(int);

FILE *fp,*fptr; /*定義全局文件指針*/

char *hzk-table[]={"c:\\213\\hzk40s","c:\\231\\hzk40f",

"c:\\213\\hzk40h","c:\\213\hzk40k"};

main()

{

unsigned char *string="管理信息系統(tǒng)";

/*需放大的漢字串*/

unsigned char inter-code ,zone-code,bit-code;

int locate,hzk-num,flag=0

char *p,dot-arrays[180];

if((fptr=fopen("subhzk","wb"))==NULL){

printf("Cannot open file\n");

exit(1);

} /*打開或創(chuàng)建文件SUBHZK */

openhzk40(1);

p=string;

while(*p)

{

inter-code=*p ;

if(inter-code>0xal)

if(flag==0)

{

zone-code=(inter-code-0xa0)&0x7f;/*漢字區(qū)碼*/

flag=1;

}

eles

{

bit-code=(inter-code-0xa0)&0x7f;

/*漢字位碼*/

flag=0;

locate=(zone-code-0x10)*94 bit-code-1;

/*漢字字模地址*/

fseek(fp,locate*180L,SEEK-SET);

/*置文件指針于漢字字模地址*/

fread(dot-arrays,sizeof(dot-arrays),1,fp);

/*讀漢字字模于數(shù)組中*/

fwrite(dot-arrays,sizeof(dot-arrays),1,fptr);

/*寫漢字字模到文件*/

}

}

fclose(fp);

fclose(fptr);

return 0;

}

int openhzk40(int hzk-num)

/*打開2.13系統(tǒng)40X40點(diǎn)陣字庫(kù)文件*/

{

if((fp=fopen(hzk-table[hzk-num],"rb"))==NULL)

{

cputs("Error on open fi

[1] [2] 

【不依賴高點(diǎn)陣字庫(kù)實(shí)現(xiàn)屏幕漢字顯示】相關(guān)文章:

液晶顯示器·什么是屏幕尺寸04-26

激光轉(zhuǎn)鏡顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)04-28

基于圖像對(duì)的體視顯示算法研究與實(shí)現(xiàn)04-29

LED顯示屏γ校正的研究和實(shí)現(xiàn)04-28

屏幕·什么是投影屏幕04-26

飛機(jī)座艙顯示/控制綜合評(píng)價(jià)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)04-29

利用IDL語(yǔ)言實(shí)現(xiàn)對(duì)氣象數(shù)據(jù)的體視化顯示04-29

屏幕04-29

基于開源的高可靠聯(lián)網(wǎng)收費(fèi)系統(tǒng)的實(shí)現(xiàn)04-28

基于MGS的海上井架及障礙物查詢與顯示系統(tǒng)實(shí)現(xiàn)05-02