怎样设置GBK字库?

怎样设置GBK字库?,第1张

使用极点五笔可以设置GBK字库

极点五笔,全称为“极点中文汉字输入平台”,是一款免费的多功能五笔拼音输入软件。同时,极点完美支持一笔、二笔等各种“型码”及“音型码”输入法,程序作者:杜志民。

GBK全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code Specification) ,中华人民共和国全国信息技术标准化技术委员会1995年12月1日制订,国家技术监督局标准化司、电子工业部科技与质量监督司1995年12月15日联合以技监标函1995 229号文件的形式,将它确定为技术规范指导性文件。这一版的GBK规范为1.0版。

字库即按内码(MBCS)排序的编码字库文件。

由于在不同的应用场合,需要用到字库(GB2312or GBK)也会不同。如:为了节省空间,但又能支持基本的中文显示,则使用GB2312字库;若需要使用更加全面的中文字库(如 KTV),空间相对不在乎,则使用 GBK 字库。

GuiTool 默认支持 GB2312,若要生成

GBK 字库,按如下 *** 作即可。(注:GuiTool

V1.10 以后版本方可支持 )

Step1: 设置

Step2: 选择编码,字体大小,字符集,输出格式,生成字库即可。字体效果图

生成后的字库文件格式(*.bin)

文件头(16字节) + 点阵数据

(等宽等高)。

数据检索方式:

long GetIndexWithGBK(UINT code){long lIdx = -1

BYTE R = (code 8)

&0xFF//区码BYTE C = code &0xFF//位码if(R =0x81 &&R <=0xFE){

if(C = 0x40

&&C <= 0xFE)

// 0x40 ~ 0x7E &0x80 ~0xFE{lIdx = (R-0x81)*190 + (C-0x40)//190 =(0x7E-0x40+1)+(0xFE-0x80+1)if(C= 0x80)lIdx -= 1// move 0x7F}}}

int h = font_height( font_height

在文件头中有这个参数,具体见Guitool的帮助文档)int w =font_height(因为等宽等高)

int size_per_line=(w + 7)/8//size_per_line 即存放一行(列)像素所需字节数。

int size_per_char = h *

size_per_line//size_per_char即存放一个字符点阵像素所占字节数。long idx =GetIndexWithGBK(code);

if(idx !=-1){

font_data_addr =16 + idx*size_per_char;//font_data_addr

即编码为code的点阵数据起始地址。

fseek(。。。。)

// 偏移文件指针

fread(。。。。)//读取点阵数据,数据长度为

86版不支持GBK字库的,下载一个支持GBK字库的五笔输入法就行了。

念青五笔:支持少量GBK汉字(主要是常见地名、人名用字及大部分粤语用字),一般用户足够用了。智能陈桥:支持全部GBK汉字。缺点就是重码太多了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11313740.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存