社区
C语言
帖子详情
点阵字库,宽12,高16.
fanxinwu
2009-08-20 01:23:05
我已经有latin1 ISO 8859-1 宽6,高8的字库了。
现在需要把这些字扩大一倍,宽12,高16。
询问前辈们,有什么适用的软件,或者表格,可以借鉴下。
...全文
174
4
打赏
收藏
点阵字库,宽12,高16.
我已经有latin1 ISO 8859-1 宽6,高8的字库了。 现在需要把这些字扩大一倍,宽12,高16。 询问前辈们,有什么适用的软件,或者表格,可以借鉴下。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jixingzhong
2009-08-20
打赏
举报
回复
程序里面符号有问题,你自己改一下,思想一样。
由于在中文环境下,输入的是汉字的内码,我们必须将之转换成区位码,算出偏移量,从字库中找到对应的汉字,将其字模显示即可。 内码转换成区位码方法如下:
qh=c1-0xa0 wh=c2-0xa0
其区位码就是:
qw=qh*0xff+wh
该汉字在字库中离起点的位置是:
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>
#define ROW 1/*纵坐标放大倍数*/
#define COL 2/*横坐标放大倍数*/
void main()
{
int x,y;
char *s="汉字显示程序";
FILE *fp;
char buffer[32];/*buffer用来存储一个汉字*/
register m,n,i,j,k;
unsigned char qh,wh;
unsigned long offset;
int gd=DETECT,gm;
initgraph(&gd,&gm," ");
if ((fp=fopen("hzk16","rb"))==NULL)
/*打开汉字库,该字库可以在ucdos中找到*/
{
printf("Can't open haz16,Please add it");
getch(); closegraph(); exit(0);
}
x=20; y=100;/*显示位置设置*/
while(*s)
{
qh=*(s)-0xa0;/*汉字区位码*/
wh=*(s+1)-0xa0;
offset=(94*(qh-1)+(wh-1))*32L;/*计算该汉字在字库中偏移量*/
fseek(fp,offset,SEEK_SET);
fread(buffer,32,1,fp);/*取出汉字32字节的点阵字模存入buffer中(一个汉字)*/
for (i=0;i<16;i++)/*将32位字节的点阵按位在屏幕上打印出来(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;/*因为一个汉字内码占用两个字节,所以s必须加2*/
x+=30;
}
getch();
closegraph();
}
上述程序在Turbo C 2.0编译系统下运行成功,它可以将汉字放大显示,读者可以将它改成函数用在您的程序中显示汉字。
jixingzhong
2009-08-20
打赏
举报
回复
一个古老的点阵汉字程序,可以参考一下,似乎可以定义放大倍数:
forwrj
2009-08-20
打赏
举报
回复
还有一点,所有的字符不一定等宽
forwrj
2009-08-20
打赏
举报
回复
我用的字体一般是16X16 14X14 或20X20的
英文是Arial中文是宋体
可以写个工具提取wimdows里面的失量字转化成想关点阵字库.
HZK
16
汉字
16
*
16
点阵字库
的使用及示例程序
本文详细介绍了HZK
16
汉字
16
*
16
点阵字库
的使用方法及原理,展示了如何从HZK
16
字库文件中提取特定汉字的点阵数据,并提供了示例程序。
读hzk32_
点阵字库
HZK
12
HZK
16
HZK24 ASC
12
ASC
16
简介 及 使用方法[附源码]
本文介绍了
点阵字库
HZK
12
、HZK
16
和HZK24的原理与使用方法,包括汉字在字库中的位置计算、字模显示以及C语言读取HZK
16
字库的示例代码。通过了解这些,可以在嵌入式系统中有效地显示和处理汉字。
GKB
16
x
16
点阵字库
:全面解析与
高
效应用
本文围绕GKB
16
x
16
点阵字库
展开,介绍了
点阵字库
概念、编码标准,阐述
16
x
16
点阵字库
特点及GB23
12
、BIG - 5、GBK编码。还提及中日韩汉字集成、字库文件格式,探讨字符显示技术在嵌入式系统应用,以及动态加载、分块加载策略和内存管理、数据压缩解压技术。
点阵字库
HZK
12
HZK
16
HZK24 ASC
12
ASC
16
简介 及 使用方法
本文介绍了嵌入式系统中如何使用大量汉字和字符的方法,包括
16
*
16
点阵宋体字库的使用,以及如何通过计算公式定位特定汉字在字库中的位置。此外还涉及了HZK
12
、HZK24等不同
点阵字库
的特点及其显示方法。
点阵字库
-学习笔记
本文介绍了
点阵字库
的基础知识,包括字体类型如仿宋、黑体、楷体和宋体,以及
点阵字库
的字符存放规律。重点讲解了A1和A2区块的连续字符布局,并提供了一段
点阵字库
数据示例。此外,还分享了程序运行的截图和C语言的使用示例源码,以及相关字库文件的下载链接。
C语言
70,038
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章