Adafruit-GFX символы

Дим
Offline
Зарегистрирован: 05.05.2017

Здравствуйте. В библиотеке Adafruit-GFX есть файл glcdfont.c с русскими символами/буквами. А как узнать где какой?

#ifndef FONT5X7_H
#define FONT5X7_H

#ifdef __AVR__
 #include <avr/io.h>
 #include <avr/pgmspace.h>
#else
 #define PROGMEM
#endif
 
// Standard ASCII 5x7 font

static const unsigned char font[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00,  // 00
0x3E, 0x55, 0x51, 0x55, 0x3E,  // 01
0x3E, 0x6B, 0x6F, 0x6B, 0x3E,  // 02
0x0C, 0x1E, 0x3C, 0x1E, 0x0C,  // 03
0x08, 0x1C, 0x3E, 0x1C, 0x08,  // 04
0x1C, 0x4A, 0x7F, 0x4A, 0x1C,  // 05
0x18, 0x5C, 0x7F, 0x5C, 0x18,  // 06
0x00, 0x1C, 0x1C, 0x1C, 0x00,  // 07
0x7F, 0x63, 0x63, 0x63, 0x7F,  // 08
0x00, 0x1C, 0x14, 0x1C, 0x00,  // 09
0x7F, 0x63, 0x6B, 0x63, 0x7F,  // 10
0x30, 0x48, 0x4D, 0x33, 0x07,  // 11
0x06, 0x29, 0x79, 0x29, 0x06,  // 12
0x20, 0x50, 0x3F, 0x02, 0x0C,  // 13
0x60, 0x7F, 0x05, 0x35, 0x3F,  // 14
0x2A, 0x1C, 0x77, 0x1C, 0x2A,  // 15
0x00, 0x7F, 0x3E, 0x1C, 0x08,  // 16
0x08, 0x1C, 0x3E, 0x7F, 0x00,  // 17
0x14, 0x22, 0x7F, 0x22, 0x14,  // 18
0x00, 0x5F, 0x00, 0x5F, 0x00,  // 19
0x06, 0x09, 0x7F, 0x01, 0x7F,  // 20
0x4A, 0x55, 0x55, 0x55, 0x29,  // 21
0x60, 0x60, 0x60, 0x60, 0x60,  // 22
0x54, 0x62, 0x7F, 0x62, 0x54,  // 23
0x08, 0x04, 0x7E, 0x04, 0x08,  // 24
0x08, 0x10, 0x3F, 0x10, 0x08,  // 25
0x08, 0x08, 0x2A, 0x1C, 0x08,  // 26
0x08, 0x1C, 0x2A, 0x08, 0x08,  // 27
0x1C, 0x10, 0x10, 0x10, 0x10,  // 28
0x1C, 0x3E, 0x08, 0x3E, 0x1C,  // 29
0x30, 0x3C, 0x3F, 0x3C, 0x30,  // 30
0x06, 0x1E, 0x7E, 0x1E, 0x06,  // 31
0x00, 0x00, 0x00, 0x00, 0x00,  // 32
0x00, 0x00, 0x5F, 0x00, 0x00,  // 33
0x00, 0x07, 0x00, 0x07, 0x00,  // 34
0x14, 0x7F, 0x14, 0x7F, 0x14,  // 35
0x24, 0x2A, 0x7F, 0x2A, 0x12,  // 36
0x23, 0x13, 0x08, 0x64, 0x62,  // 37
0x36, 0x49, 0x56, 0x20, 0x50,  // 38
0x00, 0x00, 0x07, 0x00, 0x00,  // 39
0x00, 0x1C, 0x22, 0x41, 0x00,  // 40
0x00, 0x41, 0x22, 0x1C, 0x00,  // 41
0x14, 0x08, 0x3E, 0x08, 0x14,  // 42
0x08, 0x08, 0x3E, 0x08, 0x08,  // 43
0x00, 0xA0, 0x60, 0x00, 0x00,  // 44
0x08, 0x08, 0x08, 0x08, 0x08,  // 45
0x00, 0x60, 0x60, 0x00, 0x00,  // 46
0x20, 0x10, 0x08, 0x04, 0x02,  // 47
0x3E, 0x51, 0x49, 0x45, 0x3E,  // 48
0x44, 0x42, 0x7F, 0x40, 0x40,  // 49
0x42, 0x61, 0x51, 0x49, 0x46,  // 50
0x21, 0x41, 0x45, 0x4B, 0x31,  // 51
0x18, 0x14, 0x12, 0x7F, 0x10,  // 52
0x27, 0x45, 0x45, 0x45, 0x39,  // 53
0x3C, 0x4A, 0x49, 0x49, 0x30,  // 54
0x01, 0x71, 0x09, 0x05, 0x03,  // 55
0x36, 0x49, 0x49, 0x49, 0x36,  // 56
0x06, 0x49, 0x49, 0x29, 0x1E,  // 57
0x00, 0x6C, 0x6C, 0x00, 0x00,  // 58
0x00, 0xAC, 0x6C, 0x00, 0x00,  // 59
0x08, 0x14, 0x22, 0x41, 0x00,  // 60
0x14, 0x14, 0x14, 0x14, 0x14,  // 61
0x00, 0x41, 0x22, 0x14, 0x08,  // 62
0x02, 0x01, 0x51, 0x09, 0x06,  // 63
0x3E, 0x41, 0x5D, 0x55, 0x5E,  // 64
0x7C, 0x12, 0x11, 0x12, 0x7C,  // 65
0x7F, 0x49, 0x49, 0x49, 0x36,  // 66
0x3E, 0x41, 0x41, 0x41, 0x22,  // 67
0x7F, 0x41, 0x41, 0x22, 0x1C,  // 68
0x7F, 0x49, 0x49, 0x49, 0x41,  // 69
0x7F, 0x09, 0x09, 0x09, 0x01,  // 70
0x3E, 0x41, 0x49, 0x49, 0x7A,  // 71
0x7F, 0x08, 0x08, 0x08, 0x7F,  // 72
0x00, 0x41, 0x7F, 0x41, 0x00,  // 73
0x20, 0x40, 0x41, 0x3F, 0x01,  // 74
0x7F, 0x08, 0x14, 0x22, 0x41,  // 75
0x7F, 0x40, 0x40, 0x40, 0x60,  // 76
0x7F, 0x02, 0x0C, 0x02, 0x7F,  // 77
0x7F, 0x04, 0x08, 0x10, 0x7F,  // 78
0x3E, 0x41, 0x41, 0x41, 0x3E,  // 79
0x7F, 0x09, 0x09, 0x09, 0x06,  // 80
0x3E, 0x41, 0x51, 0x21, 0x5E,  // 81
0x7F, 0x09, 0x19, 0x29, 0x46,  // 82
0x46, 0x49, 0x49, 0x49, 0x31,  // 83
0x03, 0x01, 0x7F, 0x01, 0x03,  // 84
0x3F, 0x40, 0x40, 0x40, 0x3F,  // 85
0x1F, 0x20, 0x40, 0x20, 0x1F,  // 86
0x3F, 0x40, 0x3C, 0x40, 0x3F,  // 87
0x63, 0x14, 0x08, 0x14, 0x63,  // 88
0x07, 0x08, 0x70, 0x08, 0x07,  // 89
0x61, 0x51, 0x49, 0x45, 0x43,  // 90
0x00, 0x7F, 0x41, 0x41, 0x00,  // 91
0x02, 0x04, 0x08, 0x10, 0x20,  // 92
0x00, 0x41, 0x41, 0x7F, 0x00,  // 93
0x04, 0x02, 0x01, 0x02, 0x04,  // 94
0x40, 0x40, 0x40, 0x40, 0x40,  // 95
0x00, 0x01, 0x02, 0x04, 0x00,  // 96
0x20, 0x54, 0x54, 0x54, 0x78,  // 97
0x7F, 0x48, 0x44, 0x44, 0x38,  // 98
0x38, 0x44, 0x44, 0x44, 0x48,  // 99
0x38, 0x44, 0x44, 0x48, 0x7F,  // 100
0x38, 0x54, 0x54, 0x54, 0x18,  // 101
0x08, 0x7E, 0x09, 0x01, 0x02,  // 102
0x08, 0x54, 0x54, 0x58, 0x3C,  // 103
0x7F, 0x08, 0x04, 0x04, 0x78,  // 104
0x00, 0x44, 0x7D, 0x40, 0x00,  // 105
0x20, 0x40, 0x44, 0x3D, 0x00,  // 106
0x7F, 0x10, 0x10, 0x28, 0x44,  // 107
0x00, 0x41, 0x7F, 0x40, 0x00,  // 108
0x7C, 0x04, 0x78, 0x04, 0x78,  // 109
0x7C, 0x08, 0x04, 0x04, 0x78,  // 110
0x38, 0x44, 0x44, 0x44, 0x38,  // 111
0x7C, 0x14, 0x14, 0x14, 0x08,  // 112
0x08, 0x14, 0x14, 0x0C, 0x7C,  // 113
0x7C, 0x08, 0x04, 0x04, 0x08,  // 114
0x48, 0x54, 0x54, 0x54, 0x24,  // 115
0x04, 0x3F, 0x44, 0x40, 0x20,  // 116
0x3C, 0x40, 0x40, 0x20, 0x7C,  // 117
0x1C, 0x20, 0x40, 0x20, 0x1C,  // 118
0x3C, 0x40, 0x38, 0x40, 0x3C,  // 119
0x44, 0x28, 0x10, 0x28, 0x44,  // 120
0x0C, 0x50, 0x50, 0x50, 0x3C,  // 121
0x44, 0x64, 0x54, 0x4C, 0x44,  // 122
0x00, 0x08, 0x36, 0x41, 0x00,  // 123
0x00, 0x00, 0x7F, 0x00, 0x00,  // 124
0x00, 0x41, 0x36, 0x08, 0x00,  // 125
0x02, 0x01, 0x02, 0x04, 0x02,  // 126
0x70, 0x48, 0x44, 0x48, 0x70,  // 127
0x00, 0x0E, 0x11, 0x0E, 0x00,  // 128
0x00, 0x12, 0x1F, 0x10, 0x00,  // 129
0x00, 0x12, 0x19, 0x16, 0x00,  // 130
0x00, 0x11, 0x15, 0x0B, 0x00,  // 131
0x00, 0x07, 0x04, 0x1F, 0x00,  // 132
0x00, 0x17, 0x15, 0x09, 0x00,  // 133
0x00, 0x0E, 0x15, 0x09, 0x00,  // 134
0x00, 0x01, 0x1D, 0x03, 0x00,  // 135
0x00, 0x0A, 0x15, 0x0A, 0x00,  // 136
0x00, 0x12, 0x15, 0x0E, 0x00,  // 137
0x00, 0x04, 0x04, 0x04, 0x00,  // 138
0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // 139
0x3E, 0x00, 0x00, 0x00, 0x00,  // 140
0x3E, 0x3E, 0x00, 0x00, 0x00,  // 141
0x3E, 0x3E, 0x00, 0x3E, 0x00,  // 142
0x3E, 0x3E, 0x00, 0x3E, 0x3E,  // 143
0x80, 0x80, 0x80, 0x80, 0x80,  // 144
0xC0, 0xC0, 0xC0, 0xC0, 0xC0,  // 145
0xD0, 0xD0, 0xD0, 0xD0, 0xD0,  // 146
0xD8, 0xD8, 0xD8, 0xD8, 0xD8,  // 147
0xDA, 0xDA, 0xDA, 0xDA, 0xDA,  // 148
0xDB, 0xDB, 0xDB, 0xDB, 0xDB,  // 149
0x40, 0x00, 0x40, 0x00, 0x40,  // 150
0x60, 0x00, 0x40, 0x00, 0x40,  // 151
0x60, 0x00, 0x70, 0x00, 0x40,  // 152
0x60, 0x00, 0x70, 0x00, 0x78,  // 153
0x7C, 0x00, 0x40, 0x00, 0x40,  // 154
0x7C, 0x00, 0x7E, 0x00, 0x40,  // 155
0x7C, 0x00, 0x7E, 0x00, 0x7F,  // 156
0x1C, 0x77, 0x41, 0x41, 0x41,  // 157
0x41, 0x41, 0x41, 0x41, 0x41,  // 158
0x41, 0x41, 0x41, 0x7F, 0x00,  // 159
0x1C, 0x77, 0x41, 0x5D, 0x5D,  // 160
0x41, 0x41, 0x41, 0x5D, 0x5D,  // 161
0x5D, 0x5D, 0x41, 0x5D, 0x5D,  // 162
0x5D, 0x5D, 0x41, 0x7F, 0x00,  // 163
0x22, 0x1C, 0x14, 0x1C, 0x22,  // 164
0x00, 0x08, 0x1C, 0x08, 0x00,  // 165
0x00, 0x00, 0x77, 0x00, 0x00,  // 166
0x46, 0x5D, 0x55, 0x5D, 0x31,  // 167
0x7C, 0x55, 0x54, 0x55, 0x44,  // 168
0x08, 0x08, 0x2A, 0x08, 0x08,  // 169
0x00, 0x14, 0x08, 0x14, 0x00,  // 170
0x08, 0x14, 0x22, 0x08, 0x14,  // 171
0x7F, 0x41, 0x71, 0x31, 0x1F,  // 172
0x03, 0x05, 0x7F, 0x05, 0x03,  // 173
0x22, 0x14, 0x7F, 0x55, 0x22,  // 174
0x02, 0x55, 0x7D, 0x05, 0x02,  // 175
0x06, 0x09, 0x09, 0x06, 0x00,  // 176
0x44, 0x44, 0x5F, 0x44, 0x44,  // 177
0x1C, 0x14, 0x1C, 0x22, 0x7F,  // 178
0x20, 0x3E, 0x61, 0x3E, 0x20,  // 179
0x20, 0x50, 0x3F, 0x02, 0x0C,  // 180
0x80, 0x7C, 0x20, 0x3C, 0x40,  // 181
0x44, 0x3C, 0x04, 0x7C, 0x44,  // 182
0x00, 0x00, 0x08, 0x00, 0x00,  // 183
0x38, 0x55, 0x54, 0x55, 0x18,  // 184
0x7E, 0x08, 0x10, 0x7F, 0x01,  // 185
0x08, 0x10, 0x08, 0x04, 0x02,  // 186
0x14, 0x08, 0x22, 0x14, 0x08,  // 187
0x0E, 0x06, 0x0A, 0x10, 0x20,  // 188
0x20, 0x10, 0x0A, 0x06, 0x0E,  // 189
0x38, 0x30, 0x28, 0x04, 0x02,  // 190
0x02, 0x04, 0x28, 0x30, 0x38,  // 191
0x7E, 0x11, 0x11, 0x11, 0x7E,  // 192
0x7F, 0x49, 0x49, 0x49, 0x31,  // 193
0x7F, 0x49, 0x49, 0x49, 0x36,  // 194
0x7F, 0x01, 0x01, 0x01, 0x03,  // 195
0xC0, 0x7F, 0x41, 0x7F, 0xC0,  // 196
0x7F, 0x49, 0x49, 0x49, 0x41,  // 197
0x77, 0x08, 0x7F, 0x08, 0x77,  // 198
0x41, 0x49, 0x49, 0x49, 0x36,  // 199
0x7F, 0x10, 0x08, 0x04, 0x7F,  // 200
0x7C, 0x21, 0x12, 0x09, 0x7C,  // 201
0x7F, 0x08, 0x14, 0x22, 0x41,  // 202
0x40, 0x3E, 0x01, 0x01, 0x7F,  // 203
0x7F, 0x02, 0x0C, 0x02, 0x7F,  // 204
0x7F, 0x08, 0x08, 0x08, 0x7F,  // 205
0x3E, 0x41, 0x41, 0x41, 0x3E,  // 206
0x7F, 0x01, 0x01, 0x01, 0x7F,  // 207
0x7F, 0x09, 0x09, 0x09, 0x06,  // 208
0x3E, 0x41, 0x41, 0x41, 0x22,  // 209
0x01, 0x01, 0x7F, 0x01, 0x01,  // 210
0x07, 0x48, 0x48, 0x48, 0x3F,  // 211
0x0E, 0x11, 0x7F, 0x11, 0x0E,  // 212
0x63, 0x14, 0x08, 0x14, 0x63,  // 213
0x7F, 0x40, 0x40, 0x7F, 0xC0,  // 214
0x07, 0x08, 0x08, 0x08, 0x7F,  // 215
0x7F, 0x40, 0x7F, 0x40, 0x7F,  // 216
0x7F, 0x40, 0x7F, 0x40, 0xFF,  // 217
0x01, 0x7F, 0x48, 0x48, 0x30,  // 218
0x7F, 0x48, 0x48, 0x30, 0x7F,  // 219
0x7F, 0x48, 0x48, 0x48, 0x30,  // 220
0x22, 0x41, 0x49, 0x49, 0x3E,  // 221
0x7F, 0x08, 0x3E, 0x41, 0x3E,  // 222
0x46, 0x29, 0x19, 0x09, 0x7F,  // 223
0x20, 0x54, 0x54, 0x54, 0x78,  // 224
0x3C, 0x4A, 0x4A, 0x49, 0x31,  // 225
0x7C, 0x54, 0x54, 0x54, 0x28,  // 226
0x7C, 0x04, 0x04, 0x04, 0x0C,  // 227
0xC0, 0x78, 0x44, 0x7C, 0xC0,  // 228
0x38, 0x54, 0x54, 0x54, 0x18,  // 229
0x6C, 0x10, 0x7C, 0x10, 0x6C,  // 230
0x44, 0x54, 0x54, 0x54, 0x28,  // 231
0x7C, 0x20, 0x10, 0x08, 0x7C,  // 232
0x7C, 0x40, 0x26, 0x10, 0x7C,  // 233
0x7C, 0x10, 0x10, 0x28, 0x44,  // 234
0x40, 0x38, 0x04, 0x04, 0x7C,  // 235
0x7C, 0x08, 0x10, 0x08, 0x7C,  // 236
0x7C, 0x10, 0x10, 0x10, 0x7C,  // 237
0x38, 0x44, 0x44, 0x44, 0x38,  // 238
0x7C, 0x04, 0x04, 0x04, 0x7C,  // 239
0x7C, 0x14, 0x14, 0x14, 0x08,  // 240
0x38, 0x44, 0x44, 0x44, 0x48,  // 241
0x04, 0x04, 0x7C, 0x04, 0x04,  // 242
0x0C, 0x50, 0x50, 0x50, 0x3C,  // 243
0x18, 0x24, 0xFC, 0x24, 0x18,  // 244
0x44, 0x28, 0x10, 0x28, 0x44,  // 245
0x7C, 0x40, 0x40, 0x7C, 0xC0,  // 246
0x0C, 0x10, 0x10, 0x10, 0x7C,  // 247
0x7C, 0x40, 0x7C, 0x40, 0x7C,  // 248
0x7C, 0x40, 0x7C, 0x40, 0xFC,  // 249
0x04, 0x7C, 0x50, 0x50, 0x20,  // 250
0x7C, 0x50, 0x50, 0x20, 0x7C,  // 251
0x7C, 0x50, 0x50, 0x50, 0x20,  // 252
0x28, 0x44, 0x54, 0x54, 0x38,  // 253
0x7C, 0x10, 0x38, 0x44, 0x38,  // 254
0x48, 0x34, 0x14, 0x14, 0x7C   // 255
};
#endif // FONT5X7_H

 

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Есть такое изобретение человечества Гугл. Но некие индивиды на него забивают.

https://ru.wikipedia.org/wiki/ASCII 

0140x00, 0x00, 0x00, 0x00, 0x00,  // 00

Это пробел код 0x20 ну и так далее.

b707
Offline
Зарегистрирован: 26.05.2017

взять бумажку в клеточку и нарисовать по кодам. Это не глум, а серьезно, я так делал.

Другой вариант - вот по ссылке человек подробно обьясняет, квк расположены буквы в таком шрифте. Только есть проблема - непонятно, про этот он шрифт или нет, шрифтов с названием FONT5X7_H существует уже, наверно, десятка три разных. Поэтому самое правильное будет всеж-таки взять и нарисовать побитно любую букву. чтобы выяснить, соответсвует ли этот фонт той ссылке.

 

kalapanga
Offline
Зарегистрирован: 23.10.2016

qwone пишет:

Есть такое изобретение человечества Гугл. Но некие индивиды на него забивают.

https://ru.wikipedia.org/wiki/ASCII 

0140x00, 0x00, 0x00, 0x00, 0x00,  // 00

Это пробел код 0x20 ну и так далее.

Строго говоря, нет. Пробел не в строке 014, а в строке 046. Там и его код написан 32 или 0x20 :)

В остальном, никто не гарантирует, что там во второй половине таблицы. Если нет возможности вывести эти символы на экран, остаётся, как уже предложили, самому отрисовать их на компьютере или на бумажке.

Дим
Offline
Зарегистрирован: 05.05.2017

По бумажке я и сам умею, я думал у кого то есть готовый файл с комментариями, а не с советами искать в гугле. В общем то уже сделал - нужно было в нуле убрать диагональную черту. Мало ли кому то надо будет:

0x3E, 0x51, 0x49, 0x45, 0x3E,  // 48

заменить на:

0x3E, 0x41, 0x41, 0x41, 0x3E,  // 48

 

b707
Offline
Зарегистрирован: 26.05.2017

Дим пишет:

По бумажке я и сам умею, я думал у кого то есть готовый файл с комментариями, а не с советами искать в гугле.

вы еще и недовольны, похоже? :)

К слову - в гугле почти всегда искать быстрее, чем спрашивать на форуме. Именно с гугля ВСЕГДА надо начинать. И ничего обидного в таком совете нет.

kalapanga
Offline
Зарегистрирован: 23.10.2016

Дим пишет:

По бумажке я и сам умею, я думал у кого то есть готовый файл с комментариями, а не с советами искать в гугле. В общем то уже сделал - нужно было в нуле убрать диагональную черту. Мало ли кому то надо будет:

0x3E, 0x51, 0x49, 0x45, 0x3E,  // 48

заменить на:

0x3E, 0x41, 0x41, 0x41, 0x3E,  // 48

А код 48 это что? Каких Вам ещё комментариев нужно? Я по вопросу подумал, что Вы о русских символах спрашиваете, которые по неизвестно какой кодировке расположены, если они тут вообще есть. А уж не найти ноль - суметь надо!

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Дим пишет:

как узнать где какой?

Выводить на экран по одному (по нескольку) . Смотреть глазами и подписывать буквы в комменатриях к коду, чтобы впредь знать.

arduinec
Offline
Зарегистрирован: 01.09.2015

Дим пишет:

По бумажке я и сам умею, я думал у кого то есть готовый файл с комментариями, а не с советами искать в гугле. В общем то уже сделал - нужно было в нуле убрать диагональную черту. Мало ли кому то надо будет:

0x3E, 0x51, 0x49, 0x45, 0x3E,  // 48

заменить на:

0x3E, 0x41, 0x41, 0x41, 0x3E,  // 48

И получил большую букву О (косая черта в нуле как раз для того чтобы с буквой О не путать).

Как искать символы в данном шрифте подсказано здесь (#31): http://arduino.ru/forum/programmirovanie/rusifikatsiya-biblioteki-adafru...

DenSyo
Offline
Зарегистрирован: 13.01.2017

этот редактор прочитает файл glcdfont.c (Adafruit classic) и шрифты AdafruitGFX

https://forum.arduino.cc/index.php?topic=447956.0

а при сохранении может расставить комментарии по вашему усмотрению

Дим
Offline
Зарегистрирован: 05.05.2017

b707 пишет:

Дим пишет:

По бумажке я и сам умею, я думал у кого то есть готовый файл с комментариями, а не с советами искать в гугле.

вы еще и недовольны, похоже? :)

К слову - в гугле почти всегда искать быстрее, чем спрашивать на форуме. Именно с гугля ВСЕГДА надо начинать. И ничего обидного в таком совете нет.

0