你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
toofree 发表于 2018-8-30 14:38 自己用软件转一个字,看看不就知道了吗? 不知道你用什么软件,什么分辨率,取模方式,横向、纵向,正数、 ...
查看全部评分
stm1024 发表于 2018-8-30 14:51 如果你想看DZK文件中对应16×16的GB2312汉字,倒是可以参考这个软件:
wwwheihei 发表于 2018-8-30 15:00 这个软件是通过区号和位号,来显示字的,我想倒过来推,想通过字模就知道是哪个字,我现在手上的就是gb231 ...
stm1024 发表于 2018-8-30 15:02 不不不,上部分那个图形,是直接显示的色块,16×16需要32字节,程序每次读32个字节,然后根据bit位显示 ...
wwwheihei 发表于 2018-8-30 15:06 明白了 我得用我的子模库替换里面的子模库是吧?
stm1024 发表于 2018-8-30 15:30 是的,当时写程序写的简单粗暴了点,直接hard code了,你把你的文件重命名成和我这个一样的。(推荐先做 ...
wwwheihei 发表于 2018-8-31 09:51 我现在想看看汉字第一个字“啊”的字模,刚算出来偏移地址在b040,能告诉我你的软件的扫描读取模式吗?我 ...
我现在懂了,刚搜到
http://blog.csdn.net/oshan2012/article/details/79070705
如果你想看DZK文件中对应16×16的GB2312汉字,倒是可以参考这个软件:
你这个bin文件,不知道文字的编码是什么,然后字符大小是多少,你可以试试给你的软件,把bin文件重命名为我压缩包中的DZK文件,看看能否正常显示,如果可以,则表明是16×16的GB2312汉字,其他的就要要你软件生成的设置方式了。
评分
查看全部评分
这个软件是通过区号和位号,来显示字的,我想倒过来推,想通过字模就知道是哪个字,我现在手上的就是gb2312的字模库,
不不不,上部分那个图形,是直接显示的色块,16×16需要32字节,程序每次读32个字节,然后根据bit位显示出来,不信你可以试试修改字模文件。
明白了 我得用我的子模库替换里面的子模库是吧?
是的,当时写程序写的简单粗暴了点,直接hard code了,你把你的文件重命名成和我这个一样的。(推荐先做个备份)
明白了谢谢指导
你这个软件的读bit方式是什么?是哪种扫描方式,我想验证一下,刚才我学了一下。汉字第一个字“啊”,计算得出它的偏移量为b040,那么我打开DZK文件,找到了地址后面的32byte个数据,现在想用手画出来,但不知道软件的扫描模式?
我现在想看看汉字第一个字“啊”的字模,刚算出来偏移地址在b040,能告诉我你的软件的扫描读取模式吗?我想手动画出“啊”字算法如下:
GB2312编码总共分了94个区,编码从0xA1 ~OxFE,每个区又有94个位,编码从0xA1 ~OxFE。比如我们常见的“啊”字,他的编码是B0A1,那么我们就可以根据这个编码来计算出他所在字库的地址。“啊”字的区码为BO,位码位A1,那么他所在的地址为((B0-A1) X 94+(A1- A1))X每个汉字的占用字节数。以12X 12为例,那么汉字“啊”所在的地址为((B0-A1)X94+(A1 - A1))X24= 33840(十六进制表示为0x8430),那么从地址0x8430开始的24个字节就是汉字“啊”的点阵数据。
当选择移除预留选项时,则AA-AFP 区将移除,这时,当区码大于A9时需再减6,才能正确进行定位。
用C#写的
字模定位
然后绘图的时候,是从左到右,从上到下扫描填充格子的。但是代码实现上,我是先画的左半部分(0,2,4..等偶数编号字节),然后再画右半部分的(1,3,5...等奇数编号字节)