/*** * @Author: * @Date: 2023-06-25 20:35:26 * @LastEditors: xxx * @LastEditTime: 2023-06-25 20:37:04 * @Description:LCD字库 * @email: * @Copyright (c) 2023 by xxx, All Rights Reserved. */ #ifndef __FONT_H__ #define __FONT_H__ #include "lib.h" #include "font_hz.h" #ifndef __FONT_EXT__ #define FONT_EXT extern #else /* __FONT_EXT__ */ #define FONT_EXT #endif /* __FONT_EXT__ */ #define _ASCII88_ #define _ASCII816_ // #define _SPC0816_ // #define _SPC1216_ // #define _SPC1416_ // #define _SPC1516_ // #define _SPC1616_ // #define _HZ1216_ // #define _HZ1416_ // #define _HZ1516_ // #define _HZ1616_ /* ASCII字符顺序 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ */ #define _CHAR_1 0 // 空格 #define _CHAR_2 1 // ! #define _CHAR_3 2 // " #define _CHAR_4 3 // # #define _CHAR_5 4 // $ #define _CHAR_6 5 // % #define _CHAR_7 6 // & #define _CHAR_8 7 // ' #define _CHAR_9 8 // ( #define _CHAR_10 9 // ) #define _CHAR_11 10 // * #define _CHAR_12 11 // + #define _CHAR_13 12 // , #define _CHAR_14 13 // - #define _CHAR_15 14 // . #define _CHAR_16 15 // / #define _CHAR_17 16 // 0 #define _CHAR_18 17 // 1 #define _CHAR_19 18 // 2 #define _CHAR_20 19 // 3 #define _CHAR_21 20 // 4 #define _CHAR_22 21 // 5 #define _CHAR_23 22 // 6 #define _CHAR_24 23 // 7 #define _CHAR_25 24 // 8 #define _CHAR_26 25 // 9 #define _CHAR_27 26 // : #define _CHAR_28 27 // ; #define _CHAR_29 28 // < #define _CHAR_30 29 // = #define _CHAR_31 30 // > #define _CHAR_32 31 // ? #define _CHAR_33 32 // @ #define _CHAR_34 33 // A #define _CHAR_35 34 // B #define _CHAR_36 35 // C #define _CHAR_37 36 // D #define _CHAR_38 37 // E #define _CHAR_39 38 // F #define _CHAR_40 39 // G #define _CHAR_41 40 // H #define _CHAR_42 41 // I #define _CHAR_43 42 // J #define _CHAR_44 43 // K #define _CHAR_45 44 // L #define _CHAR_46 45 // M #define _CHAR_47 46 // N #define _CHAR_48 47 // O #define _CHAR_49 48 // P #define _CHAR_50 49 // Q #define _CHAR_51 50 // R #define _CHAR_52 51 // S #define _CHAR_53 52 // T #define _CHAR_54 53 // U #define _CHAR_55 54 // V #define _CHAR_56 55 // W #define _CHAR_57 56 // X #define _CHAR_58 57 // Y #define _CHAR_59 58 // Z #define _CHAR_60 59 // [ #define _CHAR_61 60 // ‘\’ #define _CHAR_62 61 // ] #define _CHAR_63 62 // ^ #define _CHAR_64 63 // _ #define _CHAR_65 64 // ` #define _CHAR_66 65 // a #define _CHAR_67 66 // b #define _CHAR_68 67 // c #define _CHAR_69 68 // d #define _CHAR_70 69 // e #define _CHAR_71 70 // f #define _CHAR_72 71 // g #define _CHAR_73 72 // h #define _CHAR_74 73 // i #define _CHAR_75 74 // j #define _CHAR_76 75 // k #define _CHAR_77 76 // l #define _CHAR_78 77 // m #define _CHAR_79 78 // n #define _CHAR_80 79 // o #define _CHAR_81 80 // p #define _CHAR_82 81 // q #define _CHAR_83 82 // r #define _CHAR_84 83 // s #define _CHAR_85 84 // t #define _CHAR_86 85 // u #define _CHAR_87 86 // v #define _CHAR_88 87 // w #define _CHAR_89 88 // x #define _CHAR_90 89 // y #define _CHAR_91 90 // z #define _CHAR_92 91 // { #define _CHAR_93 92 // | #define _CHAR_94 93 // } #define _CHAR_95 94 // ~ /***************************************************************************************/ // 中文字符定义 #define HANZI_1 0 // 充 #define HANZI_2 1 // 退 #define HANZI_3 2 // 磁 #define HANZI_4 3 // 振 #define HANZI_5 4 // 荡 #define HANZI_6 5 // 电 #define HANZI_7 6 // 流 #define HANZI_8 7 // 时 #define HANZI_9 8 // 间 #define HANZI_10 9 // 上 #define HANZI_11 10 // 下 #define HANZI_12 11 // 限 #define HANZI_13 12 // 通 #define HANZI_14 13 // 道 #define HANZI_15 14 // 系 #define HANZI_16 15 // 统 #define HANZI_17 16 // 参 #define HANZI_18 17 // 数 #define HANZI_19 18 // 开 #define HANZI_20 19 // 关 #define HANZI_21 20 // 序 #define HANZI_22 21 // 号 #define HANZI_23 22 // 方 #define HANZI_24 23 // 式 #define HANZI_25 24 // 周 #define HANZI_26 25 // 期 #define HANZI_27 26 // 衰 #define HANZI_28 27 // 减 #define HANZI_29 28 // 脉 #define HANZI_30 29 // 冲 #define HANZI_31 30 // 宽 #define HANZI_32 31 // 占 #define HANZI_33 32 // 空 #define HANZI_34 33 // 比 #define HANZI_35 34 // 正 #define HANZI_36 35 // 反 #define HANZI_37 36 // 向 #define HANZI_38 37 // 幅 #define HANZI_39 38 // 值 #define HANZI_40 39 // 回 #define HANZI_41 40 // 扫 #define HANZI_42 41 // 重 #define HANZI_43 42 // 复 #define HANZI_44 43 // 次 #define HANZI_45 44 // 命 #define HANZI_46 45 // 令 #define HANZI_47 46 // 执 #define HANZI_48 47 // 行 #define HANZI_49 48 // 讯 #define HANZI_50 49 // 地 #define HANZI_51 50 // 址 #define HANZI_52 51 // 漏 #define HANZI_53 52 // 状 #define HANZI_54 53 // 态 #define HANZI_55 54 // 断 #define HANZI_56 55 // 恢 #define HANZI_57 56 // 输 #define HANZI_58 57 // 出 #define HANZI_59 58 // 极 #define HANZI_60 59 // 性 #define HANZI_61 60 // 面 #define HANZI_62 61 // 板 #define HANZI_63 62 // 按 #define HANZI_64 63 // 键 #define HANZI_65 64 // 连 #define HANZI_66 65 // 锁 #define HANZI_67 66 // 续 #define HANZI_68 67 // 操 #define HANZI_69 68 // 作 #define HANZI_70 69 // 延 #define HANZI_71 70 // 最 #define HANZI_72 71 // 大 #define HANZI_73 72 // 小 #define HANZI_74 73 // 隔 #define HANZI_75 74 // 器 #define HANZI_76 75 // 入 #define HANZI_77 76 // 压 #define HANZI_78 77 // 吸 #define HANZI_79 78 // 盘 #define HANZI_80 79 // 线 #define HANZI_81 80 // 圈 #define HANZI_82 81 // 阻 #define HANZI_83 82 // 外 #define HANZI_84 83 // 部 #define HANZI_85 84 // 接 #define HANZI_86 85 // 口 #define HANZI_87 86 // 信 #define HANZI_88 87 // 与 #define HANZI_89 88 // 定 #define HANZI_90 89 // 功 #define HANZI_91 90 // 能 #define HANZI_92 91 // 选 #define HANZI_93 92 // 择 #define HANZI_94 93 // 继 #define HANZI_95 94 // 初 #define HANZI_96 95 // 始 #define HANZI_97 96 // 分 #define HANZI_98 97 // 级 #define HANZI_99 98 // 度 #define HANZI_100 99 // 位 #define HANZI_101 100 // 强 #define HANZI_102 101 // 馈 #define HANZI_103 102 // 设 #define HANZI_104 103 // 置 #define HANZI_105 104 // 微 #define HANZI_106 105 // 调 #define HANZI_107 106 // 保 #define HANZI_108 107 // 持 #define HANZI_109 108 // 控 #define HANZI_110 109 // 制 #define HANZI_111 110 // 完 #define HANZI_112 111 // 成 #define HANZI_113 112 // 中 #define HANZI_114 113 // 失 #define HANZI_115 114 // 败 #define HANZI_116 115 // 单 #define HANZI_117 116 // 双 #define HANZI_118 117 // 不 #define HANZI_119 118 // 并 #define HANZI_120 119 // 解 #define HANZI_121 120 // 有 #define HANZI_122 121 // 无 #define HANZI_123 122 // 效 #define HANZI_124 123 // 备 #define HANZI_125 124 // 自 #define HANZI_126 125 // 检 #define HANZI_127 126 // 密 #define HANZI_128 127 // 码 #define HANZI_129 128 // 错 #define HANZI_130 129 // 误 #define HANZI_131 130 // 区 #define HANZI_132 131 // 报 #define HANZI_133 132 // 警 #define HANZI_134 133 // 闭 #define HANZI_135 134 // 合 #define HANZI_136 135 // 蜂 #define HANZI_137 136 // 鸣 #define HANZI_138 137 // 测 #define HANZI_139 138 // 档 #define HANZI_140 139 // 临 #define HANZI_141 140 // 界 #define HANZI_142 141 // 判 // 特殊字符定义 #define SPC816_1 0 // ° #define SPC1216_1 0 // ℃ /***************************************************************************************/ // 函数声明 FONT_EXT const uint8_t logo[]; #ifdef _ASCII88_ FONT_EXT const uint8_t ASCII88[][8]; #endif #ifdef _ASCII816_ FONT_EXT const uint8_t ASCII816[][16]; #endif #ifdef _HZ1216_ FONT_EXT const uint8_t HZB1216[][24]; #endif #ifdef _HZ1416_ FONT_EXT const uint8_t HZB1416[][28]; #endif #ifdef _HZ1516_ FONT_EXT const uint8_t HZB1516[][28]; #endif #ifdef _HZ1616_ FONT_EXT const uint8_t HZB1616[][32]; #endif #ifdef _SPC0816_ FONT_EXT const uint8_t SPCB0816[][16]; #endif #ifdef _SPC1216_ FONT_EXT const uint8_t SPCB1216[][24]; #endif #ifdef _SPC1416_ FONT_EXT const uint8_t SPCB1416[][28]; #endif #ifdef _SPC1516_ FONT_EXT const uint8_t SPCB1516[][28]; #endif #ifdef _SPC1616_ FONT_EXT const uint8_t SPCB1616[][32]; #endif typedef struct { font_type_e type; // 字体类型 uint16_t width, height; // 字符宽度和高度 void *data; uint16_t size; // 每个字符字节数 uint8_t offset; // 字符偏移 } font_t; extern const font_t *font_list[FONT_MAX]; extern BOOL font_get_asc(font_type_e type, uint8_t *ch, uint8_t *buf); // 获取ASCII字符点阵 #endif // __FONT_H