打印

建字库的问题

[复制链接]
1786|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
注册H登录|  楼主 | 2012-9-4 16:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这段程序怎样理解
// ------------------  汉字字模的数据结构定义 ------------------------ //
struct  typFNT_GB16                 // 汉字字模数据结构
{
       unsigned char  Index[3];               // 汉字内码索引
       unsigned char   Msk[32];                        // 点阵码数据
};
/////////////////////////////////////////////////////////////////////////
// 汉字字模表                                                          //
// 汉字库: 宋体16.dot,横向取模左高位,数据排列:从左到右从上到下         //
/////////////////////////////////////////////////////////////////////////
code struct  typFNT_GB16 codeGB_16[] =          // 数据表
{
/*--  文字:  上  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
"上",0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0xF8,0x01,0x00,
0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0x7F,0xFE,0x00,0x00,
/*--  文字:  海  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
"海",0x21,0x00,0x11,0x00,0x11,0xFE,0x02,0x00,0x97,0xF8,0x52,0x88,0x52,0x48,0x12,0x08,
0x2F,0xFE,0x22,0x88,0xE2,0x48,0x22,0x08,0x23,0xFE,0x20,0x08,0x20,0x28,0x20,0x10,

相关帖子

沙发
znmcu| | 2012-9-4 16:11 | 只看该作者
对汉字的GB2312编码与对应的字模进行了封装。

使用特权

评论回复
板凳
注册H登录|  楼主 | 2012-9-4 16:22 | 只看该作者
你能说详细些吗,这些字的内码是怎样复制的
在c语言中我也没看过这种形式
struct A
{int a[2];int b[4];}
struct A m[]=
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}

使用特权

评论回复
地板
原野之浪| | 2012-9-4 21:57 | 只看该作者
你可以这样理解

struct  typFNT_GB16                 // 汉字字模数据结构
{
       unsigned char  Index[3];               // 汉字内码索引
       unsigned char   Msk[32];                        // 点阵码数据
};

这个玩意是个结构体结构体本质是个啥?就是个数据类型,类似于 unsigned char

那么code struct  typFNT_GB16 codeGB_16[] =    就类似于
code unsigned char codeGB_16[] =   

使用特权

评论回复
5
wujianguo789| | 2012-9-6 20:55 | 只看该作者
如果定义成这样,应该更容易理解,且效率值更高:


// ------------------  汉字字模的数据结构定义 ------------------------ //
struct  typFNT_GB16                 // 汉字字模数据结构
{
      // unsigned char  Index[3];               // 汉字内码索引
       unsigned short  code;                  // 汉字内码
       unsigned char   Msk[32];                        // 点阵码数据
};
/////////////////////////////////////////////////////////////////////////
// 汉字字模表                                                          //
// 汉字库: 宋体16.dot,横向取模左高位,数据排列:从左到右从上到下         //
/////////////////////////////////////////////////////////////////////////
code struct  typFNT_GB16 codeGB_16[] =          // 数据表
{
/*--  文字:  上  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xC9CF,
0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0xF8,0x01,0x00,
0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0x7F,0xFE,0x00,0x00,
/*--  文字:  海  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xBAA3,  
0x21,0x00,0x11,0x00,0x11,0xFE,0x02,0x00,0x97,0xF8,0x52,0x88,0x52,0x48,0x12,0x08,
0x2F,0xFE,0x22,0x88,0xE2,0x48,0x22,0x08,0x23,0xFE,0x20,0x08,0x20,0x28,0x20,0x10,


顺便推荐一个字库工具给大家:http//ishare.iask.sina.com.cn/f/33532600.html

使用特权

评论回复
6
ningling_21| | 2012-9-6 22:23 | 只看该作者
如果定义成这样,应该更容易理解,且效率值更高:


// ------------------  汉字字模的数据结构定义 ------------------------ //
struct  typFNT_GB16                 // 汉字字模数据结构
{
      // unsigned c ...
wujianguo789 发表于 2012-9-6 20:55

在哪呢?

使用特权

评论回复
7
wujianguo789| | 2012-9-10 16:35 | 只看该作者
差异比较:

旧: // unsigned char  Index[3];               // 汉字内码索引
新:     unsigned short  code;                  // 汉字内码

旧:  “上”,
新: 0xC9CF,

。。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

24

帖子

0

粉丝