用C语言调用中文字库显示
字库文件+代码=完成显示效果
链接:https://pan.baidu.com/s/1MDy76_QXNtzkpI1l3-9UUA
提取码:qb05
显示效果图如下:
代码如下:
#include<stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdint.h>
#include <unistd.h>
#include<stdlib.h>
#define N 32 //固定位数
void Get_GBK_DZK(uint8_t *code);//得到字模
int number_change(uint32_t); //将字模数据按二进制输出
FILE *fd;
int main(void)
{ if(NULL == (fd=fopen("D:/ziku/ziku.bin","rb"))) //字库所在目录 ,自己修改!!!!!{printf("Open dir error\n");}Get_GBK_DZK("绝");printf("\n");Get_GBK_DZK("望"); fclose(fd); }
void Get_GBK_DZK(uint8_t *code)//得到字模 {uint8_t GBKH,GBKL; uint32_t offset; GBKH=*code;GBKL=*(code+1); if(GBKH>0XFE||GBKH<0X81){return;}GBKH-=0x81;GBKL-=0x40;offset=((uint32_t)192*GBKH+GBKL)*32; //偏移量 if((-1 ==fseek(fd,offset,SEEK_SET))){printf("Fseek error\n"); }uint32_t s[8]={0}; fread(s,4,8,fd); //将偏移后的fd数据流读取到s数组里//数据项的字节数为4byte,共8个数据项 int i;for(i=0;i<8;i++){number_change(s[i]); //传递字模数据 }return;
}
int number_change(uint32_t str) //将数据化为2进制(用的网上的,忘记地址了,就不标注了)
{int arr[N] = {0};//将数组初始化为0(位数不满时,将输出0填补)int i;uint32_t n=str;for (i = N-1; i >=0; i--) //对数组从后往前赋值{arr[i] = n % 2;n = n / 2;}/*以上是将数据化为2进制,放在arr数组里*///以下就是输出二进制的数据了 for (i = N - 1; i >=0; i--){if(i==16)//当输出16个数据后,换个行,因为是16*16点阵 {printf("\n");}if(arr[i]==0) //数据为0,则输出为空格 {printf(" ");continue;} printf("%d",arr[i]);//输出 1,因为已经化为2进制数据,所以到这里,只剩1了 }printf("\n"); //两行二进制输出完毕后,再换个行 return 0;
}
用C语言调用中文字库显示相关推荐
- 易语言调用大漠字库显示游戏坐标和角色等级
大漠插件可以调用多个字库 ,通过SetDict(index,file)设置字库,UseDict(index)切换字库,,通过不同的字库来读取游戏的等级,坐标,城市位置,通过时钟来时时显示游戏角色的坐标 ...
- c语言调用hzk16,C语言使用HZK16显示每个像素的代码
下边内容段是关于C语言使用HZK16显示每个像素的内容. #include #include void main() { int i,j; char mat[32]; unsigned char qh ...
- Lua移植到arm上 并实现在arm上 可以让lua脚本调c语言,C语言调用lua脚本
Lua移植到arm上 并实现在arm上 可以让lua脚本调c语言,C语言调用lua脚本 首先参考http://wiki.chumby.com/index.php?title=Lua&print ...
- c语言年历表程序设计,c语言程序设计年历显示-20210413153548.docx-原创力文档
内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128) 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128) c语言程序设计年历显示 ...
- 易语言调用c 自定义数据类型,用__stdcall实现易语言调用C/C++的dll
用__stdcall实现易语言调用C/C++的dll 0x0 前言 大家好啊!我是逆向区的版主,今天我到编程区的来水帖子了! 有些朋友问我,易语言的功能好少啊,我好多想法都没法实现,我想能不能用易语言 ...
- c语言矢量字体库,单片机用矢量字库的C语言调用
单片机用矢量字库的C语言调用 本文关键词:字库,矢量,单片机,调用,语言 单片机用矢量字库的C语言调用 本文简介:单片机用矢量字库的C语言调用用TFT320X240分辨路的液晶屏的显示效果如下图:本文 ...
- c语言年历显示主要思路,c语言程序设计年历显示分析.doc
c语言程序设计年历显示分析 南京航空航天大学金城学院 设计题目 年历显示 学生姓名 学 号 专业班级 指导教师 2016 年 月 日 目 录 一.课程设计问题描述1 1.课程设计题目1 2.设计任务要 ...
- c 编译易语言dll文件,易语言调用DLL的问题(付dll文件,VC++编译的)
AA直译器v1.02.rar (795.15 KB, 下载次数: 143) 2012-11-27 17:23 上传 点击文件名下载附件 dll说明: CE自动汇编直译器: AA引擎 各语言通用DLL ...
- c语言数码管显示时间,求数码管设计时钟表(C语言) 电子时钟?
数码管设计时钟表(C语言) 2008-05-30 00:45 声明: 实钟程序刚写成,通过实验板验证.正确无误.但还程序还没最优化.希望有高手看到提宝贵意见,本人感激不尽. ;采用AT51的8位电子钟 ...
最新文章
- [Tomcat]Tomcat6和Tomcat7的区别
- 3星|《数据思维:从数据分析到商业价值》:有趣的数据分析案例
- Spring MVC 教程,快速入门,深入分析——多视图控制器
- echo和print 的区别
- html 正则表达式 中文,正则表达式的中文搜索
- stm32 Fatfs 读写SD卡
- linux下oracle开机自启动,Linux下开机自动启动Oracle的设置
- IT永远也不可能做到整体外包,这句话是我说的。。。
- Linux iperf 网络传输性能测试工具
- mysql跨库复制_mysql跨库表结构和数据复制
- WPF - Visual调试工具Snoop
- 华为照片在哪个文件夹_华为手机相册照片在哪个文件夹(这2个方法帮你轻松找到)...
- c语言switch求利息,switch语句 利息计算器
- 软件测试mysql数据库相关操作
- 【英语】很抱歉,我一天的86400秒却没有你
- 基于单片机的秒表计时器系统设计(#0400)
- PROTOTEX: Explaining Model Decisions with Prototype Tensors论文解读
- linux压缩分区大小,linux如何无损调整分区大小的详细介绍
- Convolutional Neural Network based Multiple-Rate Compressive Sensing for Massive MIMO CSI Feedback:
- c#考试,答题系统制作(窗体)
热门文章
- 反病毒引擎设计(二):虚拟机查毒
- Python采集最热影评 + 制作词云图
- 无Mac机IOS开发环境搭建手记
- 如果你觉得学习 Git 很枯燥,那是因为你还没玩过这款游戏!
- Sycode.DWG.DXF.Converter.v2.0 1CD
- word中光标选择一列文字_Word文档中使用鼠标快速选择各类文本的操作方法
- FFmpeg Windows 10系统下的使用教程
- 【GlobalMapper精品教程】041:从多波段影像中提取单波段方法
- AXI接口协议学习总结
- Linux操作系统的介绍和使用