谁有 UCDOS 字库的读取方法!(20分)

  • 主题发起人 主题发起人 QSmile
  • 开始时间 开始时间
Q

QSmile

Unregistered / Unconfirmed
GUEST, unregistred user!
谁有 UCDOS 字库的读取方法!
 
ucdos字库没有经过加密,只要知道结构即可,例如HZK16<br><br>((区码-$a0)-1)*(每区汉字数目)+(位码-$a0)*32{32:每个汉字有32个字节}<br>
 
很找以前干过,早忘了,就是根据汉字编码计算出点阵在文件中的位置
 
to wql :<br>有用你的方法但每区汉字数目是多少 98还是多少。<br>区码与位码是不是分别为第一个与二个字节?<br>储存是先为行还是先为列?<br>多谢了!
 
帮帮助了!
 
像 wql 说的方法,很简单,不过早就忘了。还是到旧书摊上找找旧书。或在超星图书馆上<br>找找,可能还能找到一本讲这个的旧书。
 
回忆:<br>16×16点阵汉字库,每个汉字由16×16个点构成(废话)-个方阵,<br>每一行的16个点用两个Byte表示,每个汉字在字库中按行优先顺序<br>存储为32个Byte;字与字之间连续存储;字库文件没有什么特殊结构。<br>所以,当年DOS下各种汉字系统,16点阵汉字库文件都是一样大,6763×32Byte。<br>其他问题,你可以查找GB2312-80国标。<br>上面已经有一个表达式可通过汉字的区位码计算它在字库中的位置,区位码是在GB2312<br>国标中定义的,区码和位码都是1~96<br>当然现在已经使用UNICODE大字符集了,10902个汉字。
 
我知道了。在我试了n次后,试出来了。同时也看了一个区位码输入法的帮助。<br>汉字分为 94 区,每个区 94 个汉字。<br><br>n1 := 内码第一个字节;<br>n2 := 内码第二个字节;<br>字模位移量 := ((n1-1)*94+(n2-1))*32;<br>连续 32 个字节就是汉字的字模了。<br>我用的字库是 HZK16 16x16 点阵字库。<br>同样的方法可以用于 PDOS95 的字库。 %Windows%/Command/Chs16.fon.<br>这个字库与 HZK 几乎一样。只是 Bill 盗用 UCDOS 的 :-)
 
多人接受答案了。
 
后退
顶部