• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            旅途

            如果想飛得高,就該把地平線忘掉

            在C語言中顯示漢字

            /*此程序?yàn)榻h字庫頭文件<hzk.h>*/

            /*此程序要16乘16漢字庫文件<hzk16>*/

            #include"stdio.h"

            main()

            ??{?? int i,j,k;
            ???? int len,qu,wei;
            ??????long int l;
            ??????unsigned char c;
            ????????unsigned??char *s,*ss;
            ??????????FILE*fp,*p;
            ?? if((fp=fopen("hzk.h","w"))==NULL)?????? /*在當(dāng)前位置建立漢字字模頭文件??,運(yùn)行后可打開此文件看看*/
            ??????{printf("error not is <hzk.h>"); getch();}
            ??????????s="沒有太大或路徑名內(nèi)足存夠了新建菜單開始錯(cuò)誤找不到文件請(qǐng)輸入數(shù)字符的串鼠標(biāo)光退出保存運(yùn)行:?打能!,"; /*在次添加漢字*/
            ??????????ss=s;
            ??????????len=strlen(s)/2; /*獲得漢字個(gè)數(shù)*/
            ??????????fprintf(fp,"int hz[%d]={\n",len+1); /*定義特征碼*/
            ??????????i=0;
            ??????ss=s;
            ????while(i<len)
            ??????{l=(long)((*s)*256+(*(s+1)));/*得到特征碼*/

            ??????fprintf(fp,"%u,",l);/*寫入特征碼*/
            ????????????????s+=2;i++;
            ???????? if(i%8==0&&i!=0){fprintf(fp,"\n");}?? /*格式*/

            ????????????????}
            ????????????????l=(long)(*(s+1))*256+(*s);????????????????fprintf(fp,"%u};\n\n",0);
            ???????????? fprintf(fp,"unsigned char hzk_wd[%d][32]={\n",len);/*定義漢字字模*/
            ????????????????
            ??????????????if((p=fopen("HZK16","rb"))==NULL)??/*打開16*16漢字庫*/
            ????????????????{printf("error not is <hzk16>"); getch();}
            ???? s=ss;
            ???? j=0;
            ??????while(1)
            ????????????????{ qu=(*s)-0xa0;wei=(*(s+1))-0xa0;
            ???????????????? l=(long)((qu-1)*94+wei-1);
            ??????????????????l=(long)(l*32);????/*得到位移量*/
            ??
            ????????????????????fseek(p,l,0);
            ????????????????????fprintf(fp,"{");
            ????????????????????for(i=0;i<32;++i) /*寫入漢字字模*/
            ???????????????? {c=fgetc(p);?????????? /*讀入一個(gè)字節(jié)*/
            ??????????????????????????fprintf(fp,"0x%x,",c);
            ??????????????????????if((i%7 )==0&&i!=0)fprintf(fp,"\n");}
            ??????????????????????????fprintf(fp,"},\n\n");
            ?????????????????????? j++;if(j>=len)break;
            ????????????????????s+=2;??/*移到下一個(gè)漢字*/
            ????????????????????}

            ????????????????????fprintf(fp,"\n};\n\n",c);
            ????fclose(fp);
            ????fclose(p);
            ?? }

            ----------------------------------------------------------------------------------------------------------------------

            /*顯示漢字函數(shù),S為輸入漢字串可有字符,x,y分別為顯示位置,color為顏色*/
            /*要使用此函數(shù),要包含hzk.h頭文件,且工作在圖形方式*/
            ?????? print(unsigned char *s,int x,int y,int color)
            ???????? {int i,j,k;
            ????????????int xx,yy;
            ???? long l;
            ???? char c[2];
            ???? unsigned char mark[]={0x80,0x40,0x20,0x10,0x8,0x4,0x2,0x1};/*定義屏蔽碼*/
            ???? c[1]='\0';
            ???? while(*s)
            ??????{ if((*s)>160&&(*s)<255&&(*(s+1))>160&&(*(s+1))<255)/*判斷是否為漢字*/
            ??????????????????{l=(*s)*256+(*(s+1));??/*得到特征碼*/
            ??????????????????????i=0;j=0;
            ??????????????????while(hz[i]!=0)??/*檢索特征碼*/
            ?????????????????? {if(hz[i]==l)
            ?????????????????????????????????????????? {j=0;break;}
            ????????????????????????????????????????++i;}
            ???????????????????????????????? if(hz[i]!=0)?? /*判斷是否結(jié)束*/
            ???????????????????????????????????? { if(x>623){x=1;y+=18;}/*如果到行末,則換行*/
            ?????????????????????? yy=y;
            ??????????????????for(j=0;j<32;j+=2,yy++)????/*漢字字模的32個(gè)字節(jié),加2是每次打印一行*/
            ?????????????????????? { for(k=0;k<8;k++)??????/*每個(gè)字節(jié)表示8個(gè)點(diǎn)*/
            ????????????{
            ????????????if((hzk_wd[i][j]&mark[k])!=0)/*判斷第一字節(jié)的第K位是否為0*/
            ?????????????? putpixel(x+k,yy,color);/*打印點(diǎn)*/
            ????????????????
            ??????????if((hzk_wd[i][j+1]&mark[k])!=0)/*(j+1)判斷第二字節(jié)的第K位是否為0*/
            ??????????putpixel(x+k+8,yy,color);
            ??????????????????????????????????????????????????????????????????????????????????
            ????????????????????????????????????????????????????????????}
            ??????????????????????????????????????????????}

            ?????????????????????????????????????????? }
            ???????????????????????????????? s+=2;??x+=17;/*移向下一個(gè)字符:S加2---每個(gè)漢字2個(gè)字節(jié)*/
            ??????????????????????????????????????????????/*X加為列加,每個(gè)漢字十六列*/????????????
            ??????????????????????????????}

            ??????????????????else?????? /*否則為英文字符*/
            ????????????????????{c[0]=*s;
            ???????????????????? setcolor(color);
            ??????????????????????if(x>630){x=1;y+=18;}
            ??????????????????????outtextxy(x,y+4,c);/*打印字符*/
            ?????????????????????? s++;x+=9;/*移向下一個(gè)字符:S加1---每個(gè)字符1個(gè)字節(jié)*/
            ????????????????????????????????/*X加9--每個(gè)字符8列*/

            ??????????????????????}
            ?????????????????? }
            ??????????????}???

            posted on 2007-10-12 01:41 旅途 閱讀(697) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C/C++

            久久综合久久综合九色| 久久偷看各类wc女厕嘘嘘| 亚洲国产天堂久久综合网站| 久久久久久精品免费免费自慰| 久久久久免费精品国产| 国内精品久久久久影院一蜜桃| 久久成人精品视频| 久久久无码精品亚洲日韩软件| 亚洲国产精品综合久久网络 | 精品人妻久久久久久888| 久久久无码一区二区三区| 99久久99久久精品国产片| 怡红院日本一道日本久久| 欧美一级久久久久久久大| 久久无码AV一区二区三区| 69久久精品无码一区二区| 久久久久久久91精品免费观看| 久久夜色精品国产噜噜噜亚洲AV | 久久精品综合一区二区三区| 久久天天躁狠狠躁夜夜avapp| 亚洲国产精品久久66| 久久精品亚洲日本波多野结衣| 久久精品国产第一区二区| 国产成人精品免费久久久久| 亚洲国产成人久久综合野外| 国产成人久久久精品二区三区| 国内精品久久久久伊人av| 亚洲精品白浆高清久久久久久| 亚洲精品乱码久久久久久不卡| 热99re久久国超精品首页| 国产69精品久久久久99| 国内精品久久久久久久久| 久久强奷乱码老熟女| 狠狠色丁香久久婷婷综合蜜芽五月 | 亚洲国产精品无码久久青草| 7777精品伊人久久久大香线蕉| 日韩中文久久| 国产A三级久久精品| 亚洲国产精品无码久久一区二区 | 日韩欧美亚洲综合久久影院Ds| 精品久久久久久无码中文野结衣|