json
复制代码
{
"remark": "彩屏上单色字体图的存储结构",
"schema": {
"MagicEnum:u32":{
"0": "ascii字体图",
"1": "hanzi字体图",
"2": "icon图标图"
},
"Rgb565Color:u16":{
"_[15:11] as red": "0;红",
"_[10:5] as green": "1;绿",
"_[4:0] as blue": "5;蓝"
},
"ZipFontImgUnit:u16;字体图片单元": {
"_[15:12] as colorInx": "0:bit[4];颜色索引,最大16渐变色",
"_[11:0] as repeatNum": "0:bit[12];重复次数,做多重复4095次"
},
"ZipIconImgUnit;图标图片单元": {
"color": "0:Rgb565Color:u16;rgb颜色",
"repeatNum": "0:u16;重复次数"
},
"UnZipAsciiHelper;Ascii解压辅助": {
"startColumn": "0:u16;未压缩的起始列数",
"zipAddressOffset": "0:u16;压缩后的偏移地址",
"unZipWidth": "0:u16;未压缩每个元素宽度",
"zipByteSize": "0:u16;压缩后每个字符byte大小"
},
"UnZipHanziHelper;Hanzi解压辅助": {
"zipAddressOffset": "0:u32;压缩后的偏移地址",
"zipByteSize": "0:u16;压缩后每个字符byte大小",
"gbkCode": "0:u16;gbk码,图片根据gbk码升序排列"
}
},
"agreement": [
"1.暂时在spiFlash紧挨着放3个bin文件",
"2.unZipHelper偏移地址固定",
"3.data偏移地址是根据unZipHelper计算出的",
"4.data的地址=&unZipHelper+sizeof(unZipHelper[0])*unZipHelper.length",
"5.data占用的字节数=(data.length)*3"
],
"colorTableContent:@0,160;单独生成colorTable.bin文件,预留10种颜色表,开机读一次": {
"blackYellow": "0:u16[16];黑底黄字",
"blackBlue": "0:u16[16];黑底蓝字",
"blueWhite": "0:u16[16];蓝底白字",
"blackGreen": "0:u16[16];黑底绿字",
"blackRed": "0:u16[16];黑底红字"
},
"ascii24Content@160;单独生成ascii24Wrap.bin文件": {
"length@0": "0:u32;总字节数",
"magic@4": "0:MagicEnum:u32;文件类型",
"fileName@8":"ascii24.bin:str",
"gmtCreate@24": "0:u32;创建时间",
"gmtModified@28": "0:u32;修改时间",
"width@32": "0:u16;图片宽度",
"height@34": "0:u16;图片高度",
"checkSum@36": "0:u32;校验和",
"unZipHelper@40": "0:UnZipAsciiHelper[]",
"data": "0:ZipFontImgUnit[]"
},
"hanzi24Content@0x00004000;单独生成hanzi24Wrap.bin文件": {
"length@0": "0:u32;总字节数",
"magic@4": "0:MagicEnum:u32;文件类型",
"fileName@8":"hanzi24.bin:str",
"gmtCreate@24": "0:u32;创建时间",
"gmtModified@28": "0:u32;修改时间",
"width@32": "0:u16;图片宽度",
"height@34": "0:u16;图片高度",
"checkSum@36": "0:u32;校验和",
"unZipHelper@40": "0:UnZipHanziHelper[]",
"data": "0:ZipFontImgUnit[]"
}
}