6440|16

74

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

各位大侠帮帮小妹! [复制链接]

本人最近想在无字库的lcd通过调用字库显示汉字,但不知道如何取得区位码。请各位大侠指教一二!不胜感激!

最新回复

终于懂了,谢谢!  详情 回复 发表于 2010-6-13 19:18
点赞 关注

回复
举报

78

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
下载我的EditFont。rar可能对你有帮助
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
就是点阵字库了,网上下载个点阵字库生成软件。或者自己下载个点阵字库,看你需要8*16还是
还是16*16,还是16*24等等,很多选择。
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

4
 
学习中,。。。
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

5
 
自己产生字库编码,进行查询就可以了
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

6
 
有生成那个的小软件 下载看看
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

7
 
对,百度上自己搜索后,下载个就行,输入需要的汉字,选择字体,大小,点阵大小,就自动生产代码,非常方便,不用非得自己算。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

8
 
自己生成那个字库编码就行了
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

9
 
我已经通过提取自摸,获得扫描码。但我认为哪种方式太麻烦。想直接输入汉字,有程序调用字库,获得字模。但不知道怎么获得汉字区位码?
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

10
 
//如果文件中汉字的索引为index则:
                zone=(index / 94) + 0xA1;//汉字第一个字节
                pos =(index % 94) + 0xA1;//汉字第二个字节
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

11
 
  我在程序里定义如下:      int index="是";
        zone=(index / 94)+ 0xA1 ;//汉字第一个字节
        pos =(index % 94)+ 0xA1 ;//汉字第二个字节
        printf("%d  %d\n",zone,pos);
输出结果是174 ,209
与“是”的区位码0x4239不一样。是什么原因呢?谢谢!
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

12
 
BYTE HZ_CAC7[16][2]={// “是”,它的字串是0xCAC7那么它在字库中的索引是(CA-A1)*94+C7-A1)
{0x0F,0xE0},//也就是HZK16.bin文件中的第index个汉字(offset=index*32)            
{0x08,0x20},//你把index理解错了。
{0x08,0x20},//这里是它的码点
{0x0F,0xE0},
{0x08,0x20},
{0x08,0x20},
{0x0F,0xE0},
{0x00,0x04},
{0xFF,0xFE},
{0x01,0x00},
{0x09,0x20},
{0x09,0xF0},
{0x09,0x00},
{0x15,0x00},
{0x23,0x06},
{0x40,0xFC},
};
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

13
 
改正
我在程序里定义如下: unsigned int index="是";
zone=(index / 94)+ 0xA1 ;//汉字第一个字节
pos =(index % 94)+ 0xA1 ;//汉字第二个字节
printf("%d %d\n",zone,pos);
输出结果是173 ,249
与“是”的区位码4239不一样。是什么原因呢?谢谢!
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

14
 
unsigned int index="是";
是错的。
char hz[3]="是";
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

15
 
我改为char a[]="是";
char qh = 0, wh = 0;  
//每个汉字,占两个字节, 取其区位号  
qh = (a[0]/94) + 0xa1; //获得区码  
wh = (a[1]%94) +0xa1; //获得位码  
当输出qh,wh时还是地址,并不是区位码。
我改的对吗?
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(初级)

16
 
zone=a[0]-0xa1;// 区
pos=a[1]-0xa1;//位
index=zone*94+pos;//文件中索引(包含符号的字库)
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

17
 
终于懂了,谢谢!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表