如何把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编码字符的点阵显示

转自:http://blog.csdn.net/exbob/article/details/6542564 对于unicode编码的字符,可以先将unicode编码转换为GBK编码,然后利用...

16/24点阵字库(经典)

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

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

16/24点阵字库(经典)

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

点阵字库在JAVA中的实现

前言:为什么要使用点阵字库      在某些场合,系统自带的字库并不能令人满意,或者,在你需要特别的字体时,你希望能附带上该字库。      那为什么又需要点阵字库呢?因为在使用较小的字体的时候...
  • ycb1689
  • ycb1689
  • 2012年12月25日 13:37
  • 598

用C语言编程16点阵字库

#include #include #include #include #include #include #include #define GETADR(n,str) ...

点阵字库原理

汉字的内码   点头表示什么?是“对”、“YES”,偏偏有的地方表示的意义却恰恰相反。一个动作,有不同的诠释;一个问题,有不同的答案;而一个符号,却有不同的意义,关键在于:你是如何地理解。在电...

【c++】点阵字库提取汉字转位图

帮同学做的,由于时间仓促,从网上找来一些代码,拼拼凑凑出来这样一个结果。 实现的主要功能是从点阵字库(.FONT)中提取某个汉字或者提取某段汉字另外为图片 矢量字库通过一些软件可转为点阵字库...

点阵字库HZK12 HZK16 HZK24 ASC12 ASC16 简介 及 使用方法[附源码]

如何在嵌入式系统中使用大量的汉字和字符呢?         DOS前辈们经过艰辛的努力,将制作好的字模放到了一个个标准的库中以免去后辈的麻烦,这就是点阵字库文件。         一般我们使用16*1...

汉字点阵字库原理

汉字点阵字库原理 一、           汉字编码 1.        区位码 在国标GD2312—80中规定,所有的国标汉字及符号分配在一个94行、94列的方阵中,方阵的每一行称为一个“...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何把unicode和点阵字库结合起来
举报原因:
原因补充:

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