已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
12点阵汉字在HD系列机型中的应用在设备屏幕上显示输出在III型机打印输出一、 加载字库通常加载字库有两种方式:内嵌常量式,外部参数文件形式内嵌变量式是指将字库点阵的内容以常量的形式写在程序源码中,如下文unsigned char FontPattern = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,0x00, 0x6C, 0x48, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x21, 0x00, 0x79, 0x00, 0x49, 0x40, 0x7B, 0xE0, 0x49, 0x40, 0xFD, 0x40, 0x95, 0x40, 0xFD, 0x40, 0x01, 0x40, 0xFD, 0x50, 0x2A, 0x50, 0xCC, 0x70,0x10, 0x00, 0x3D, 0xF0, 0x24, 0x40, 0x3C, 0x40, 0x24, 0x40, 0x7F, 0xF0, 0x52, 0x40, 0x7E, 0x40, 0x00, 0x40, 0xFF, 0x40, 0x24, 0x40, 0xC4, 0x40,0x20, 0x80, 0x7B, 0xF0, 0x49, 0xC0, 0x7A, 0xA0, 0x4C, 0x90, 0xFB, 0xE0, 0xAA, 0x20, 0xFB, 0xE0, 0x02, 0x20, 0xFF, 0xE0, 0x48, 0x00, 0x8B, 0xF0;显示函数在调用时直接使用该参数即可,程序下载到手持机即可直接使用。外部参数文件形式是指将字库文件要外部基本参数的形式下载到手持机中,需要手持机程序在开机的时候检查该参数文件是否存在,如果不存在,则提示下载该参数文件,如果存在,则加载该内容。unsigned char * FontPattern;typedef unionunsigned chars_char4;unsigned longl_word; typ_long2char;/*以下部分为字库程序启动时检测加载*/unsigned char tmpbuffer16;typ_long2char tmplc;memcpy(tmpbuffer, (char *)Font12Addr, 8);if (memcmp(tmpbuffer, xf0x0fx00xff, 4) = 0) memcpy(tmplc.s_char, tmpbuffer + 4, 4); Font12Length = tmplc.l_word;/获得字库长度 FontPattern = malloc(Font12Length);if (FontPattern = NULL) /提示内存分配失败,程序将无法正常运行memcpy(FontPattern, (char *)(Font12Addr + 8), Font12Length);else /提示字库文件未下载/*加载完成*/*以下部分为字库文件下载*/void down_font(void)unsigned char * frwBuffer;long DataLength;int tcnt;frwBuffer = malloc(0x40000);if (frwBuffer = NULL)DispStr_CE(0, 1, 内存分配失败, DISP_POSITION | DISP_CLRSCR);DispStr_CE(0, 6, 按任意键返回, DISP_POSITION);PressAnyKey();elseDataLength = DownLoadData(font12, frwBuffer + 8, 0x40000);if (DataLength 0) memcpy(frwBuffer, xf0x0fx00xff, 4); tmplc.l_word = DataLength; memcpy(frwBuffer + 4, tmplc.s_char, 4);if (DataLength % 2) != 0)DataLength +; DataLenght += 8;for(tcnt = 0; tcnt = 32 & ascii 128 )location = (ascii - 32) * 12L;memcpy(buffer, FontPattern + location, 12);for(i = 0; i 12; i +)for(k = 0; k (7 - k) & 0x1)put_pixel(x + k, y + i, r1, DISP_PUT_MODE_PUT);elseput_pixel(x + k, y + i, r2, DISP_PUT_MODE_PUT);s += 1;x += 6;elseqh = *(s) - 0xa0;wh = *(s + 1) - 0xa0;location = (94 * (qh - 1) + (wh - 1) * 24L + 1140L;memcpy(buffer, FontPattern + location, 24);for(i = 0; i 12; i +)for(j = 0; j 2; j+)for(k = 0; k (7 - k) & 0x1)put_pixel(x + 8 * j + k, y + i, r1, DISP_PUT_MODE_PUT);elseput_pixel(x + 8 * j + k, y + i, r2, DISP_PUT_MODE_PUT);s += 2;x += 13;三、 打印输出void mtclprn_font12line_buffer(unsigned char * pbuffer, unsigned char * charlinestr, int verticaldot, int dx, int dy, unsigned char templetchar)unsigned char * s, chwid;int m = 0, n = 0, i = 0, j = 0, k = 0;unsigned char qh, wh, buffer40, ascii, pagebuffer32768;unsigned long location, poffset, testmask, vertical;s = charlinestr;poffset = 0;memset(pagebuffer, 0, 32768);while(*s)ascii = *(s);if (ascii = 32 & ascii 128 )location = (ascii - 32) * 12L;memcpy(buffer, templetchar + location, 12);for(i = 0; i 12; i +)/yfor(k = 0; k (7 - k) & 0x1)pagebufferpoffset + k * 2 + i * 2 * verticaldot = 1;/原点pagebufferpoffset + k * 2 + i * 2 * verticaldot + verticaldot = 1;/下移一位pagebufferpoffset + k * 2 + 1 + i * 2 * verticaldot = 1;/右移一位pagebufferpoffset + k * 2 + 1 + i * 2 * verticaldot + verticaldot = 1;/右下移一位s += 1;chwid = 6;elseqh = *(s) - 0xa0;wh = *(s + 1) - 0xa0;location = (94 * (qh - 1) + (wh - 1) * 24L + 1140L;memcpy(buffer, templetchar + location, 24);for(i = 0; i 12; i +)for(j = 0; j 2; j+)for(k = 0; k (7 - k) & 0x1)pagebufferpoffset + (8 * j + k) * 2 + i * 2 * verticaldot = 1;/原点pagebufferpoffset + (8 * j + k) * 2 + i * 2 * verticaldot + verticaldot = 1;/下移一位pagebufferpoffset + (8 * j + k) * 2 + 1 + i * 2 * verticaldot = 1;/右移一位pagebufferpoffset + (8 * j + k) * 2 + 1 + i * 2 * verticaldot + verticaldot = 1;/右下移一位s += 2;chwid = 12;poffset += chwid * 2 + 1;for (i = 0; i poffset; i +)for (j = 0; j 3; j +)asci
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教案幼儿园大班体育活动教案模板三大全(2025-2026学年)
- 幼儿园中班数学辨别空间方向教案(2025-2026学年)
- 高中英语词汇记忆与拓展策略
- Excel数据处理教学课件全集
- 抗生素生产工艺流程指导
- 船用柴油机技术参数汇编及选型指南
- 2025中国文化旅游产业融合发展趋势与项目开发策略报告
- 2025中国教育质量评估市场现状与发展趋势研究报告
- 2025中国教育投资机构市场趋势及投资策略研究报告
- 软件项目开发需求分析文档范例
- 2024-2025学年安徽合肥七年级上册数学期中试卷及答案
- 塔罗教学课件
- 产程中产妇的饮食管理
- 2025年陕西邮政校招笔试题及答案
- 三务公开培训
- 2025年衡水驾校考试危运证考试
- 肺动脉高压讲课件
- 麻醉科进修结业汇报大纲
- 病房环境课件
- 《幼儿表演舞创编》工学一体化教学活动策划表
- 中晚孕超声试题及答案
评论
0/150
提交评论