电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

字模提取原理

字模提取原理_第1页
1/8
字模提取原理_第2页
2/8
字模提取原理_第3页
3/8
5.7 点阵字模生成原理与方法[3] 5.7.1 字模生成原理 本设计中因为使用汉字的点阵显示,需要提取汉字字模,因此我们首先来了解汉字点阵字模的提取方法。 汉字的点阵字模是从点阵字库文件中提取出来的。例如常用的16×16点阵HZK16文件,12×12点阵HZK12文件等等,这些文件包括了GB 2312字符集中的所有汉字。现在只要弄清汉字点阵在字库文件中的格式,就可以按照自己的意愿去显示汉字了。 下面以 HZK16文件为例,分析取得汉字点阵字模的方法。 HZK16文件是按照GB 2312-80标准,也就是通常所说的国标码或区位码的标准排列的。国标码分为 94 个区(Section),每个区 94 个位(Position),所以也称为区位码。其中01~09 区为符号、数字区,16~87 区为汉字区。而 10~15 区、88~94 区是空白区域。 如何取得汉字的区位码呢?在计算机处理汉字和ASCII字符时,使每个 ASCII字符占用1 个字节,而一个汉字占用两个字节,其值称为汉字的内码。其中第一个字节的值为区号加上 32(20H),第二个字节的值为位号加上 32(20H)。为了与 ASCII字符区别开,表示汉字的两个字节的最高位都是1,也就是两个字节的值都又加上了128(80H)。这样,通过汉字的内码,就可以计算出汉字的区位码。 具体算式如下: qh=c1-32-128=c1-160 wh=c2-32-128=c2-160 或 qh=c1-0xa0 wh=c2-0xa0 qh,wh为汉字的区号和位号,c1,c2为汉字的第一字节和第二字节。 根据区号和位号可以得到汉字字模在文件中的位置: location=(94*(qh-1)+(wh-1))*一个点阵字模的字节数。 那么一个点阵字模究竟占用多少字节数呢?我们来分析一下汉字字模的具体排列方式。 例如下图中显示的“汉”字,使用16×16 点阵。字模中每一点使用一个二进制位(Bit)表示,如果是 1,则说明此处有点,若是 0,则说明没有。这样,一个 16×16 点阵的汉字总共需要 16*16/8=32个字节表示。字模的表示顺序为:先从左到右,再从上到下,也就是先画左上方的8个点,再是右上方的8个点,然后是第二行左边 8个点,右边 8个点,依此类推,画满 16×16 个点。 对于其它点阵字库文件,则也是使用类似的方法进行显示。例如HZK12,但是 HZK12文件的格式有些特别,如果你将它的字模当作 12*12位计算的话,根本无法正常显示汉字。因为字库设计者为了使用的方便,字模每行的位数均补齐为8的整数倍,于是实际该字库的位长度是 16*12,每个字模大小为 24字节,虽然每行都多出了 4位,但这 4位都...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

字模提取原理

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部