极点五笔,全称为“极点中文汉字输入平台”,是一款免费的多功能五笔拼音输入软件。同时,极点完美支持一笔、二笔等各种“型码”及“音型码”输入法,程序作者:杜志民。
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汉字。缺点就是重码太多了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)