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

最近改写了大学时候写的一些代码,是关于点阵字库的,能把给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日 280KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭