字模提取转换原理源码

上传者: wjh627641217 | 上传时间: 2021-08-31 10:37:52 | 文件大小: 3.16MB | 文件类型: RAR
// 汉字字模提取的基本原理 // 如同画点画线一样 ,汉字是经过电脑画出来的。这样,就必须 // 为每一个字准备一个数组 , 这就是“ 字模 ” 。字模分为点阵和矢量 // 两种 ,我们常用的是点阵字模 ,一般有 1 6 x1 6和 2 4 x 2 4两种 , // 分别称为16点阵字和24点阵字 。它们的原理是依据点阵中的 0和 l // 把汉字画出来 ( 即 0表示不画点 , 1表示 画点) 。本文以16点阵的 // 汉字显示为例, 因此需访问UCDOS中的字库文件 HZK1 6 。 HZK16 // 的内容是按照字节存放的 ,即把 1 6 x1 6个“ 位” 变成 32个“ 字节 ” // 来存放 。另外 ,每个汉字在字库中有唯一的区位码与之对应 , 根据 // 汉字的机内码可以确定其区位码及其在字库中的起始位置,就可以从字库中 // 取出汉字字模 。具体步骤如下 : // 根据汉字的机内码 推算 出区位码 : // 区码= 机内码 高字节一 A0 H (因为汉字编码是从0xa0区开始的,所以文件最前面就是从0xa0区开始,要算出相对区码) // 位码= 机内码 底字节一 A0 H // 根据 区位码计算出汉字在字库中的偏移量( 即汉字在字库中的位置 ) : // 偏移量 L = [ ( 区码一 1 ) x 94 + ( 位码一 1 ) ] x 32 // 从该偏移地址中读取32字节(16*16位)或者128字节(32*32位),就是相关字符的点阵字模代码. // 1、区码减1是因为数组是以0为开始而区号位号是以1为开始的 // // 2、(94*(区号-1)+位号-1)是一个汉字字模占用的字节数 // // 3、最后乘以32是因为汉字库文应从该位置起的32字节信息记录该字的字模信息 // // 4、94为区位码94*94的方阵;32为从偏移地址中读取32字节(16*16位)

文件下载

资源详情

[{"title":"( 34 个子文件 3.16MB ) 字模提取转换原理源码","children":[{"title":"CHARACTER","children":[{"title":"ASC16 <span style='color:#111;'> 4.00KB </span>","children":null,"spread":false},{"title":"CHARACTER.rc <span style='color:#111;'> 5.79KB </span>","children":null,"spread":false},{"title":"StdAfx.cpp <span style='color:#111;'> 211B </span>","children":null,"spread":false},{"title":"CHARACTERDlg.h <span style='color:#111;'> 1.61KB </span>","children":null,"spread":false},{"title":"HZK16 <span style='color:#111;'> 261.34KB </span>","children":null,"spread":false},{"title":"CHARACTER.cpp <span style='color:#111;'> 2.06KB </span>","children":null,"spread":false},{"title":"CHARACTER.dsw <span style='color:#111;'> 541B </span>","children":null,"spread":false},{"title":"CHARACTER.h <span style='color:#111;'> 1.33KB </span>","children":null,"spread":false},{"title":"CHARACTER.plg <span style='color:#111;'> 1.02KB </span>","children":null,"spread":false},{"title":"CHARACTERDlg.cpp <span style='color:#111;'> 12.14KB </span>","children":null,"spread":false},{"title":"CHARACTER.clw <span style='color:#111;'> 1.46KB </span>","children":null,"spread":false},{"title":"Debug","children":[{"title":"CHARACTERDlg.sbr <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"vc60.pdb <span style='color:#111;'> 356.00KB </span>","children":null,"spread":false},{"title":"CHARACTER.obj <span style='color:#111;'> 13.97KB </span>","children":null,"spread":false},{"title":"vc60.idb <span style='color:#111;'> 201.00KB </span>","children":null,"spread":false},{"title":"CHARACTER.pdb <span style='color:#111;'> 353.00KB </span>","children":null,"spread":false},{"title":"CHARACTER.sbr <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"CHARACTER.exe <span style='color:#111;'> 112.05KB </span>","children":null,"spread":false},{"title":"CHARACTER.ilk <span style='color:#111;'> 370.21KB </span>","children":null,"spread":false},{"title":"StdAfx.obj <span style='color:#111;'> 102.93KB </span>","children":null,"spread":false},{"title":"CHARACTER.bsc <span style='color:#111;'> 3.00MB </span>","children":null,"spread":false},{"title":"CHARACTERDlg.obj <span style='color:#111;'> 35.72KB </span>","children":null,"spread":false},{"title":"CHARACTER.pch <span style='color:#111;'> 5.25MB </span>","children":null,"spread":false},{"title":"CHARACTER.res <span style='color:#111;'> 2.75KB </span>","children":null,"spread":false},{"title":"StdAfx.sbr <span style='color:#111;'> 1.31MB </span>","children":null,"spread":false}],"spread":false},{"title":"ReadMe.txt <span style='color:#111;'> 3.55KB </span>","children":null,"spread":false},{"title":"StdAfx.h <span style='color:#111;'> 1.03KB </span>","children":null,"spread":false},{"title":"CHARACTER.opt <span style='color:#111;'> 50.50KB </span>","children":null,"spread":false},{"title":"CHARACTER.APS <span style='color:#111;'> 35.37KB </span>","children":null,"spread":false},{"title":"CHARACTER.dsp <span style='color:#111;'> 4.11KB </span>","children":null,"spread":false},{"title":"CHARACTER.ncb <span style='color:#111;'> 57.00KB </span>","children":null,"spread":false},{"title":"Resource.h <span style='color:#111;'> 917B </span>","children":null,"spread":false},{"title":"res","children":[{"title":"CHARACTER.rc2 <span style='color:#111;'> 401B </span>","children":null,"spread":false},{"title":"CHARACTER.ico <span style='color:#111;'> 1.05KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":true}]

评论信息

  • yaojian319 :
    资料学习了!谢谢分享。
    2017-04-21
  • shu8992767 :
    还可以吧。不过没有用到
    2015-11-30
  • oqzuser123456789koo :
    是基于HZK16字库做的,原理讲得很明白,声明一下for循环中的i就可以了。只是觉得要6个下载积分,太多了。
    2015-11-18
  • a124732956 :
    这个源码能给我思想上的引导,非常好
    2014-09-23
  • ppoe36 :
    很使用,谢谢分享
    2014-05-02

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明