如何把unicode和点阵字库结合起来

原创 2007年09月21日 17:18:00

最近改写了大学时候写的一些代码,是关于点阵字库的,能把给DOS的程序用在MP4上,到是我原来没想到的。

由于工作的需要,又重新研究了研究UNICODE,以及字符编码相关的东西。

http://www.unicode.org/ 

在上面的网站中,我找到了最新的UNICODE编码规范。

你可以从网上得到关于每种语言的本地字符集编码范围,比如GBK的编码范围,又比如GB2312的编码范围....

知道了这些范围之后,我们就可以通过枚举的方式将相应的字符用windows的方法TextOut出来。

之后我们可以从字符的显示位置开始取点的颜色,拼成字模。生成到文件当中。

简单的提以下字模的生成,这个比较简单就不多说了吧。

拿DOS程序为例子,简单说说如何来写一个支持UNICODE的字符显示程序。我们说的UNICODE是UTF16,是最常见的UNICODE文本文件,至于UTF8,恐怕要复杂一些。

UNICODE文本文件也分big endian和little endian.通过unicode 文本文件的头2个字节,可以知道,如果是FF FE,则是 little endian,如果是FE FF  则是 big endian。

根据这两个字节,我们才知道文件中unicode码到底是大头儿冲哪儿,相应的,用的时候,我们才能拼出正确的unicode 字符。

通过判断unicode 的范围,我们可以知道到底现在给出的是哪个国家的字符。然后我们切换到相应的unicode 代码页,将unicode 转换成本地字符,当然,这个转换表就是所谓的代码页完成的。

转换成本地字符以后,显示方法就是用这个本地码来计算字符在点阵字库中的位置,然后只要从点阵字库中提取字模,显示在屏幕上相应的位置即可。

简单的描述了一下如何把unicode和点阵字库结合起来。说的不对的地方,还请大家给出正解,不过我这方法已经用过了,看起来没啥问题。

 

unicode点阵显示字库文件

  • 2011年06月13日 23:15
  • 280KB
  • 下载

Unicode XMan 1.0 Beta发布,Unicode代码及标准字符表工具

  • 2009年09月10日 22:07
  • 39KB
  • 下载

16/24点阵字库(经典)

比如汉字“中”的内码是0xd6d0,而他的区位码是5448.这个是怎么转换的呢?区位码不是内码减去0xa0a0吗?怎么算的呢? 问题补充: 找到答案了: 汉字机内码、国标码和区位码三者之间...
  • L_yangliu
  • L_yangliu
  • 2012年02月15日 16:16
  • 26381

Unicode编码字符的点阵显示

转自:http://blog.csdn.net/exbob/article/details/6542564 对于unicode编码的字符,可以先将unicode编码转换为GBK编码,然后利用...
  • yc550370460
  • yc550370460
  • 2013年03月28日 15:58
  • 908

Unicode编码字符的点阵显示

转:http://blog.csdn.net/exbob/article/details/6542564     对于unicode编码的字符,可以先将unicode编码转换为GBK编码,然后利...
  • air8412
  • air8412
  • 2012年09月18日 20:43
  • 350

字符点阵在LCD上显示

这一节,目的:显示在LCD显示字符(英文和中文) 预备知识:      1 知道什么是编码库,内核里面自带的Font_8*16.c文件中,已经包含了ASCII的编码库,其中每个字符用16个字节表示...
  • z251941074
  • z251941074
  • 2014年03月05日 18:31
  • 1139

编码与字库

大家都知道,计算机中任何东西最终都是一串二进制数字,包括我们通常查看的文本文件。我们之所以能够看到各种文本,是因为计算机通过编码系统解析输入的二进制串,得到二进制串所代表的字符(目前主流的编码方式有U...
  • jiwang1990
  • jiwang1990
  • 2013年04月24日 14:53
  • 1625

Unicode编码字符的点阵显示

 对于unicode编码的字符,可以先将unicode编码转换为GBK编码,然后利用GBK点阵字库(gbk.bin)显示字符。一个比较好的编码转换方法是,制作一个按照unicode编码顺序排列的GBK...
  • exbob
  • exbob
  • 2011年06月13日 23:20
  • 3056

常用中文字库码表(Unicode)

String base ="\u7684\u4e00\u4e86\u662f\u6211\u4e0d\u5728\u4eba\u4eec\u6709\u6765\u4ed6\u8fd9\u4e0a\u...
  • YoungStar70
  • YoungStar70
  • 2017年03月08日 09:57
  • 293

常用汉字的unicode编码

  • 2013年02月26日 09:49
  • 3KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何把unicode和点阵字库结合起来
举报原因:
原因补充:

(最多只允许输入30个字)