下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言輔導(dǎo):在C程序中顯示漢字下面的方法可以幫你在西文環(huán)境下顯示漢字。這種方法是調(diào)用中文漢字庫(kù)進(jìn)展?jié)h字顯示。國(guó)家標(biāo)準(zhǔn)規(guī)定:漢字庫(kù)分94個(gè)區(qū),每個(gè)區(qū)有94個(gè)漢字(以位作區(qū)分),每個(gè)漢字在漢字庫(kù)中有確定的區(qū)和位編號(hào),這就是漢字的區(qū)位碼。每個(gè)漢字在庫(kù)中是以點(diǎn)陣字模形式存儲(chǔ)的,一般采納16×16點(diǎn)陣(32字節(jié))、24×24點(diǎn)陣(72字節(jié)),每個(gè)點(diǎn)用一個(gè)二進(jìn)制位(0或1)表示,對(duì)應(yīng)在屏幕上顯示出來(lái),就是相應(yīng)的漢字。
由于在中文環(huán)境下,輸入的是漢字的內(nèi)碼,我們必需將之轉(zhuǎn)換成區(qū)位碼,算出偏移量,從字庫(kù)中找到對(duì)應(yīng)的漢字,將其字模顯示即可。
內(nèi)碼轉(zhuǎn)換成區(qū)位碼方法如下:
qh=c1-0xa0wh=c2-0xa0
其區(qū)位碼就是:
qw=qh*0xff+wh
該漢字在字庫(kù)中離起點(diǎn)的位置是:
offset=(94*(qh-1)+(wh-1))*32L
程序例:
#include〈graphics.h〉
#include〈stdio.h〉
#include〈fcntl.h〉
#include〈io.h〉
#include〈stdlib.h〉
#include〈conio.h〉
#defineROW1//縱坐標(biāo)放大倍數(shù)
#defineCOL2//橫坐標(biāo)放大倍數(shù)
voidmain()
{
intx,y;
char*s=″漢字顯示程序″;
FILE*fp;
charbuffer[32];//buffer用來(lái)存儲(chǔ)一個(gè)漢字
registerm,n,i,j,k;
unsignedcharqh,wh;
unsignedlongoffset;
intgd=DETECT,gm;//圖形屏幕初始化
initgraph(&gd,&gm,″″);
if((fp=fopen(″hzk16″,″rb″))==NULL)//翻開(kāi)漢字庫(kù),該字庫(kù)可以在ucdos中找到
{printf(″Can’topenhaz16,Pleaseaddit″);
getch();closegraph();exit(0);
}
x=20;y=100;//顯示位置設(shè)置
while(*s)
{qh=*(s)-0xa0;//漢字區(qū)位碼
wh=*(s+1)-0xa0;
offset=(94*(qh-1)+(wh-1))*32L;//計(jì)算該漢字在字庫(kù)中偏移量
fseek(fp,offset,SEEK_SET);
fread(buffer,32,1,fp);//取出漢字32字節(jié)的點(diǎn)陣字模存入buffer中(一個(gè)漢字)
for(i=0;i〈16;i++)//將32位字節(jié)的點(diǎn)陣按位在屏幕上打印出來(lái)(1:打印,0:不打印),顯示漢字
for(n=0;n〈ROW;n++)
for(j=0;j〈2;j++)
for(k=0;k〈8;k++)
for(m=0;m〈COL;m++)
if(((buffer[i*2+j]〉〉(7-k))&0x1)!=NULL)
putpixel(x+8*j*COL+k*COL+m,y+i*ROW+n,GREEN);
s+=2;//由于一個(gè)漢字內(nèi)碼占用兩個(gè)字節(jié),所以s必需加2
x+=30;
}
getch();
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 多媒體課件制作教案
- 第六章氧族元素環(huán)境保護(hù)教案(人教版)
- 生態(tài)養(yǎng)殖山坡地租賃合同
- 六年級(jí)計(jì)算機(jī)上冊(cè)教案
- 農(nóng)業(yè)設(shè)施地面施工合同
- 綠色建筑房產(chǎn)交易合同樣本
- 拆除消防班組施工合同
- 工業(yè)區(qū)護(hù)欄施工合同模板
- 海上風(fēng)電場(chǎng)智慧風(fēng)電場(chǎng)設(shè)計(jì)方案
- 建筑設(shè)備租賃協(xié)議合同
- 學(xué)校月份教學(xué)工作總結(jié)
- 消化科常規(guī)用藥及注意事項(xiàng)
- 電氣基礎(chǔ)知識(shí)考試題庫(kù)(完整版)
- 老年衰弱護(hù)理課件
- 談心談話表(普通干部)
- 瀝青路面的設(shè)計(jì)-瀝青路面驗(yàn)收彎沉值計(jì)算
- “問(wèn)題鏈”教學(xué)模式在高中物理課堂中的實(shí)踐研究
- 管道穿越高速涵洞施工方案
- 醫(yī)院安全風(fēng)險(xiǎn)分級(jí)管控清單
- 流浪動(dòng)物收容留檢投標(biāo)方案(技術(shù)方案)
- 11.1電源和電流(教學(xué)設(shè)計(jì))高二物理(人教版2019)
評(píng)論
0/150
提交評(píng)論