求助:汉字字模的数据结构编译出错-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 471|回复: 2

[未解决] 求助:汉字字模的数据结构编译出错

[复制链接]
发表于 2022-5-20 19:53 | 显示全部楼层 |阅读模式
本帖最后由 zhaoyimei 于 2022-5-20 19:58 编辑

编译环境:arduino1.8.19
  1. // ------------------  汉字字模的数据结构定义 ------------------------ //
  2. typedef struct typFNT_GB16                 // 汉字字模数据结构
  3. {
  4.        signed char Index[2];               // 汉字内码索引
  5.        char Msk[32];                       // 点阵码数据
  6. };

  7. /////////////////////////////////////////////////////////////////////////
  8. // 汉字字模表                                                          //
  9. // 汉字库: 宋体16.dot,横向取模左高位,数据排列:从左到右从上到下         //
  10. /////////////////////////////////////////////////////////////////////////
  11. struct typFNT_GB16 code GB_16[] =          // 数据表
  12. {
  13. "实", 0x02,0x00,0x01,0x00,0x7F,0xFE,0x48,0x02,
  14.       0x86,0x84,0x02,0x80,0x10,0x80,0x0C,0x80,
  15.       0x04,0x84,0xFF,0xFE,0x01,0x00,0x01,0x40,
  16.       0x02,0x20,0x04,0x10,0x18,0x0C,0x60,0x04,

  17. "验", 0x08,0x40,0xFC,0x40,0x08,0xA0,0x48,0xA0,
  18.       0x49,0x10,0x4A,0x0E,0x4D,0xF4,0x48,0x00,
  19.       0x7C,0x48,0x06,0x48,0x05,0x48,0x1D,0x50,
  20.       0xE5,0x10,0x44,0x24,0x17,0xFE,0x08,0x00,

  21. "测", 0x00,0x00,0x40,0x44,0x27,0xE4,0x24,0x54,
  22.       0x85,0x54,0x65,0x54,0x25,0x54,0x0D,0x54,
  23.       0x15,0x54,0x25,0x54,0xE5,0x54,0x21,0x04,
  24.       0x22,0x84,0x24,0x44,0x28,0x54,0x20,0x08,

  25. "试", 0x00,0x20,0x40,0x28,0x20,0x24,0x20,0x20,
  26.       0x0F,0xFE,0x00,0x20,0xE0,0x20,0x27,0xE0,
  27.       0x21,0x20,0x21,0x10,0x21,0x10,0x21,0x10,
  28.       0x29,0xD2,0x37,0x12,0x22,0x0A,0x00,0x04
  29. };
复制代码

出现如下错误
  1. warning: 'typedef' was ignored in this declaration
  2. typedef struct typFNT_GB16                 // 汉字字模数据结构
  3. ^~~~~~~
  4. error: expected initializer before 'GB_16'
  5. struct typFNT_GB16 code GB_16[] =          // 数据表
  6.                          ^~~~~
  7. exit status 1
  8. expected initializer before 'GB_16'
复制代码
去掉typedef出现  error: expected initializer before 'GB_16'  struct typFNT_GB16 code GB_16[] =          // 数据表
去掉struct typFNT_GB16 code GB_16[] 中的code 出现1: error: initializer-string for array of chars is too long [-fpermissive]

谢谢!


发表于 2022-5-21 11:02 | 显示全部楼层
因为UTF8占4字节,gbk才是2字节
 楼主| 发表于 2022-5-20 19:56 | 显示全部楼层
去掉typedef出现  error: expected initializer before 'GB_16'  struct typFNT_GB16 code GB_16[] =          // 数据表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 05:51 , Processed in 0.092902 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表