/*此程序为建立汉字库头文件*/

/*此程序要16乘16汉字库文件*/

#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)       /*在当前位置建立汉字字模头文件  ,运行后可打开此文件看看*/

{printf("error not is "); getch();}

s="没有太大或路径名内足存够了新建菜单开始错误找不到文件请输入数字符的串鼠标光退出保存运行:?打能!,"; /*在次添加汉字*/

ss=s;

len=strlen(s)/2; /*获得汉字个数*/

fprintf(fp,"int hz[%d]={\n",len+1); /*定义特征码*/

i=0;

ss=s;

while(i

{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 "); 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);           /*读入一个字节*/

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;  /*移到下一个汉字*/

}

fprintf(fp,"\n};\n\n",c);

fclose(fp);

fclose(p);

}

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

/*显示汉字函数,S为输入汉字串可有字符,x,y分别为显示位置,color为颜色*/

/*要使用此函数,要包含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)   /*判断是否结束*/

{ if(x>623){x=1;y+=18;}/*如果到行末,则换行*/

yy=y;

for(j=0;j<32;j+=2,yy++)    /*汉字字模的32个字节,加2是每次打印一行*/

{ for(k=0;k<8;k++)      /*每个字节表示8个点*/

{

if((hzk_wd[i][j]&mark[k])!=0)/*判断第一字节的第K位是否为0*/

putpixel(x+k,yy,color);/*打印点*/

if((hzk_wd[i][j+1]&mark[k])!=0)/*(j+1)判断第二字节的第K位是否为0*/

putpixel(x+k+8,yy,color);

}

}

}

s+=2;  x+=17;/*移向下一个字符:S加2---每个汉字2个字节*/

/*X加为列加,每个汉字十六列*/

}

else       /*否则为英文字符*/

{c[0]=*s;

setcolor(color);

if(x>630){x=1;y+=18;}

outtextxy(x,y+4,c);/*打印字符*/

s++;x+=9;/*移向下一个字符:S加1---每个字符1个字节*/

/*X加9--每个字符8列*/

}

}

}

汉字在c语言中用什么表示,在C语言中显示汉字相关推荐

  1. R语言使用options参数指定计算结果中显示的有效数字的位数

    R语言使用options参数指定计算结果中显示的有效数字的位数 目录 R语言使用options参数指定计算结果中显示的有效数字的位数

  2. c语言 显示一行中文 程序,关于C语言TurboC中显示汉字的问题程序如下(我已把hak16 爱问知识人...

    程序如下(我已把hak16文件复制到本文件同目录了) 但是仍然显示Can't open haz16,Please add it #include #include #include 程序如下(我已把h ...

  3. 在.Net Micro Framework中显示汉字

    摘要:MF平台支持的字体是专有格式,扩展名为tinyfnt,需要用专门的转化工具才能把windows平台上的字体转换为tinyfnt字体.在.Net Micro Framework SDK中提供了一个 ...

  4. c语言中用文件处理数据,C语言文件处理 -C语言从文件中读写格式化数据

    从图 1 所示的文件 fin.txt 中读取学生姓名.身高和体重,计算并显示它们的平均值,并且将显示结果保存到文件 fout.txt 中. 图 1:输入输出文件示例 C语言代码清单 1:读取学生姓名. ...

  5. c语言led灯汉字编码,单片机led灯板显示汉字程序

    //该板子上的点阵为8*8,只能显示简单的一些汉子,如果要显示真正的汉字 //通过取模软件取的可以选择16*16点阵的板子 #include #include sbit SRCLK=P3^6; sbi ...

  6. c语言中用分数表示结果,C语言实例 计算分数的精确值

    *问题分析与算法设计 由于计算机字长的限制,常规的浮点运算都有精度限制,为了得到高精度的计算结果,就必须自行设计实现方法. 为了实现高精度的计算,可将商存放在一维数组中,数组的每个元素存放一位十进制数 ...

  7. 汉字点阵c语言程序,用c51单片机控制1616点阵显示汉字源代码

    #include #define uchar unsigned char #define uint unsigned int #define out0 P0 #define out2 P2 #defi ...

  8. c语言中用什么表示真假,C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?...

    阅读:5449 大家说了很多,我来补充一个没人提到的.那就是:只要这婚你同意结了,不管你如何委屈.如何不甘.觉得对方条件与你天差地别,在所有外人眼里,你们俩就是半斤八两.臭味相投.三观契合的一对儿,一 ...

  9. iomanip在c语言中用什么代替,关于#include iomanip中iomanip的作用~

    #include 这里面iomanip的作用: 主要是对cin,cout之类的一些操纵运算子,比如setfill,setw,setbase,setprecision等等.它是I/O流控制头文 件,就像 ...

  10. 在3D场景中显示汉字

    2019独角兽企业重金招聘Python工程师标准>>> TWaver 3D for Flex本身支持3D文字的显示,但是用户必须嵌入一套字库才可以.使用传统的方式,显示3D文字. [ ...

最新文章

  1. 微信小程序使用adb工具
  2. 北方大学 ACM 多校训练赛 第十五场 欢度6.18
  3. 【剑指offer】面试题31:栈的压入,弹出序列
  4. window.open()详解
  5. 每个人都应该学git,最新GitHub上git指南我不信你不会git
  6. 【git】git如何添加本地不是git的项目到Git库中
  7. 【u107】数字游戏(bds)
  8. nginx反向代理异常
  9. Linux RTC驱动模型分析之rtc-sysfs.c
  10. Gitlab-API各状态码解释
  11. Win11怎么设置鼠标箭头图案?Win11更换鼠标图案的方法
  12. 橙色——网页效果图设计之色彩索引
  13. 基于ROS搭建简易软件框架实现ROV水下目标跟踪(补1)--gazebo仿真
  14. ctfshow 做题 萌新 模块(1)
  15. Github标星25K+超火的Android实战项目,2022BTAJ面试真题详解
  16. chatGPT 与文言一心的对比
  17. A - Multiplication Dilemma (思维)( 2018 ACM ICPC Arabella Collegiate Programming Contest)
  18. 冯诺依曼体系结构+操作系统
  19. 看Salesforce的“云计算”平台
  20. 学生成绩排名及管理系统c语言,学生成绩管理系统__C语言版.doc

热门文章

  1. 分销系统的用户关系数据库设计~
  2. 使用并解析 OPML 格式的订阅列表来转移自己的 RSS 订阅(概念篇)
  3. core音标_core的意思在线翻译,解释core中文英文含义,短语词组,音标读音,例句,词源【澳典网ODict.Net】...
  4. 云服务器安全使用原则
  5. 20155311《网络对抗》信息搜集与漏洞扫描
  6. win10安装时有个修复计算机,电脑开机提示自动修复怎么办?win10电脑开机提示自动修复教程...
  7. python数据科学包第三天(股票数据分析、时间事件日志)
  8. 怎么看计算机的硬盘容量,查看电脑硬盘内存空间怎么操作,独家教程到,电脑硬盘内存空间如何操作查看...
  9. coherence mysql_Coherence Step by Step 第三篇 缓存(二) 配置(翻译)
  10. 金仓数据库 KingbaseES SQL 语言参考手册 (20. SQL语句: MERGE 到 VALUES)