打印

关于中文字符显示

[复制链接]
1208|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sinadz|  楼主 | 2013-7-25 19:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
无冕之王| | 2013-7-25 20:01 | 只看该作者
不是有取模软件可以吗

使用特权

评论回复
板凳
gxgclg| | 2013-7-25 20:16 | 只看该作者
对不带字库的显示屏,如果在单片机里建立一个完整的字库不太显示,存储空间会不够的.
一般都是把需要用的字用取模软件提取出 uchar char_wo[]={....};
当然你必须知道怎样在显示屏上显示任意一个点出来

使用特权

评论回复
地板
baidudz| | 2013-7-25 20:32 | 只看该作者
大于128可以简单认为是汉字

使用特权

评论回复
5
江枫渔火| | 2013-7-26 15:41 | 只看该作者
其实这里面有很多隐藏的牵连。

要所见即所得,还得是编辑器的编码跟带字库液晶里的字库编码是一致的才行。

你要自己实现字库,得自己外加一片存储器,否则单片机没什么空间给你存。字库是那么一种玩意儿,就是一个很大的表格,每个格里放了每个字的字模。你只要知道你要的字在哪个格,就能找到那个字的字模,然后输出到点阵屏幕上。

我们平时用的较多的都是只把程序里用到的那几个汉子取模并存在程序里。它们称不上字库,它们排列的位置也没有规定,都是个人随意的,程序里使用的时候,去看看表,确定要使用的那个字在哪个位置。

但是字库就不能这么干,那么多汉子,只能靠程序自己检索字的位置。怎么检索?当然是靠字符自己来检索了。所以字库里的字要按照标准字符集中字的排序来排放。在字库里,就有了“字符1,字符2,字符3.。。。。

标准字符集又有什么联系?雅蠛蝶~原来它们是按字符内码排列的~假设字符集中第一个中文字符内码是 0x1234,那第二个中文字符就是0x1235,类推,类推。。。。。 所以这个数字跟你字库的数字还对不上号哎哟喂~  可是你随便输出什么汉字 ,取它内码 减去 0x1234,就得出是第几个字了~  

不得不注解一下,字符集内码应该都是0开始的,但前面大多都是英文字母标点符号之类的字符,到后面某个地方才开始汉子,但你在做字库的时候,可能只要汉字,所以就要如上偏移一下。如果全要也行。那字符集跟你字库的字符就一一对应了。

最后一个关键,是正确取到内码,你写程序的编辑器是文本编辑器,但这些文本是有属性的,它上面用的字符都是什么字符集呢?同样在编辑器里写“我”,不同字符集,内码可能就不一样了哟喂,所以这也要跟你字库统一,才能对上号。

你从字库里取字模数据的时候,情况是这样的:

从参数中取得字符(你看着是字符,其实对计算机来说是内码),根据这个内码确定字符是在字库中的第几个字符,根据每个字符字模所占存储空间大小,确定读取存储器的起始地址,然后读取这个字符的字模,送到后面去给显示屏享用~

雅蠛蝶~没百度~仅供参考~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

304

主题

2313

帖子

0

粉丝