Как запрограмировать украинский язык в бегущую строку?
У меня есть прошивка для ардуино "бегущая строка" там есть русский, английский, но я хочу туда еще записать украинский язык. Как это сделать не понятно. Нашел в интернете одну библиотеку, там есть украинский язык, но там указано вроде что она для других дислеев написана.
#if defined(__AVR__)
#include <avr/pgmspace.h>
#define fontdatatype const uint8_t
#elif defined(__PIC32MX__)
#define PROGMEM
#define fontdatatype const unsigned char
#elif defined(__arm__)
#define PROGMEM
#define fontdatatype const unsigned char
#endif
// New font 177 symbols 5x8 = 885+4 bytes
fontdatatype SmallFont[] PROGMEM =
{
0x05, 0x08, 0x20, 0xb1,
0x00, 0x00, 0x00, 0x00, 0x00, // sp
0x00, 0x00, 0x2f, 0x00, 0x00, // !
0x00, 0x07, 0x00, 0x07, 0x00, // "
0x14, 0x7f, 0x14, 0x7f, 0x14, // #
0x24, 0x2a, 0x7f, 0x2a, 0x12, // $
0x23, 0x13, 0x08, 0x64, 0x62, // %
0x36, 0x49, 0x55, 0x22, 0x50, // &
0x00, 0x05, 0x03, 0x00, 0x00, // '
0x00, 0x1c, 0x22, 0x41, 0x00, // (
0x00, 0x41, 0x22, 0x1c, 0x00, // )
0x14, 0x08, 0x3E, 0x08, 0x14, // *
0x08, 0x08, 0x3E, 0x08, 0x08, // +
0x00, 0x00, 0xA0, 0x60, 0x00, // ,
0x08, 0x08, 0x08, 0x08, 0x08, // -
0x00, 0x60, 0x60, 0x00, 0x00, // .
0x20, 0x10, 0x08, 0x04, 0x02, // /
0x3E, 0x51, 0x49, 0x45, 0x3E, // 0
0x00, 0x42, 0x7F, 0x40, 0x00, // 1
0x42, 0x61, 0x51, 0x49, 0x46, // 2
0x21, 0x41, 0x45, 0x4B, 0x31, // 3
0x18, 0x14, 0x12, 0x7F, 0x10, // 4
0x27, 0x45, 0x45, 0x45, 0x39, // 5
0x3C, 0x4A, 0x49, 0x49, 0x30, // 6
0x01, 0x71, 0x09, 0x05, 0x03, // 7
0x36, 0x49, 0x49, 0x49, 0x36, // 8
0x06, 0x49, 0x49, 0x29, 0x1E, // 9
0x00, 0x36, 0x36, 0x00, 0x00, // :
0x00, 0x56, 0x36, 0x00, 0x00, // ;
0x08, 0x14, 0x22, 0x41, 0x00, // <
0x14, 0x14, 0x14, 0x14, 0x14, // =
0x00, 0x41, 0x22, 0x14, 0x08, // >
0x02, 0x01, 0x51, 0x09, 0x06, // ?
0x32, 0x49, 0x59, 0x51, 0x3E, // @
0x7C, 0x12, 0x11, 0x12, 0x7C, // A
0x7F, 0x49, 0x49, 0x49, 0x36, // B
0x3E, 0x41, 0x41, 0x41, 0x22, // C
0x7F, 0x41, 0x41, 0x22, 0x1C, // D
0x7F, 0x49, 0x49, 0x49, 0x41, // E
0x7F, 0x09, 0x09, 0x09, 0x01, // F
0x3E, 0x41, 0x49, 0x49, 0x7A, // G
0x7F, 0x08, 0x08, 0x08, 0x7F, // H
0x00, 0x41, 0x7F, 0x41, 0x00, // I
0x20, 0x40, 0x41, 0x3F, 0x01, // J
0x7F, 0x08, 0x14, 0x22, 0x41, // K
0x7F, 0x40, 0x40, 0x40, 0x40, // L
0x7F, 0x02, 0x0C, 0x02, 0x7F, // M
0x7F, 0x04, 0x08, 0x10, 0x7F, // N
0x3E, 0x41, 0x41, 0x41, 0x3E, // O
0x7F, 0x09, 0x09, 0x09, 0x06, // P
0x3E, 0x41, 0x51, 0x21, 0x5E, // Q
0x7F, 0x09, 0x19, 0x29, 0x46, // R
0x46, 0x49, 0x49, 0x49, 0x31, // S
0x01, 0x01, 0x7F, 0x01, 0x01, // T
0x3F, 0x40, 0x40, 0x40, 0x3F, // U
0x1F, 0x20, 0x40, 0x20, 0x1F, // V
0x3F, 0x40, 0x38, 0x40, 0x3F, // W
0x63, 0x14, 0x08, 0x14, 0x63, // X
0x07, 0x08, 0x70, 0x08, 0x07, // Y
0x61, 0x51, 0x49, 0x45, 0x43, // Z
0x00, 0x7F, 0x41, 0x41, 0x00, // [
0x01, 0x06, 0x08, 0x30, 0x40, // Backslash
0x00, 0x41, 0x41, 0x7F, 0x00, // ]
0x04, 0x02, 0x01, 0x02, 0x04, // ^
0x40, 0x40, 0x40, 0x40, 0x40, // _
0x00, 0x03, 0x05, 0x00, 0x00, // `
0x20, 0x54, 0x54, 0x54, 0x78, // a
0x7F, 0x48, 0x44, 0x44, 0x38, // b
0x38, 0x44, 0x44, 0x44, 0x20, // c
0x38, 0x44, 0x44, 0x48, 0x7F, // d
0x38, 0x54, 0x54, 0x54, 0x18, // e
0x08, 0x7E, 0x09, 0x01, 0x02, // f
0x18, 0xA4, 0xA4, 0xA4, 0x7C, // g
0x7F, 0x08, 0x04, 0x04, 0x78, // h
0x00, 0x44, 0x7D, 0x40, 0x00, // i
0x40, 0x80, 0x84, 0x7D, 0x00, // j
0x7F, 0x10, 0x28, 0x44, 0x00, // k
0x00, 0x41, 0x7F, 0x40, 0x00, // l
0x7C, 0x04, 0x18, 0x04, 0x78, // m
0x7C, 0x08, 0x04, 0x04, 0x78, // n
0x38, 0x44, 0x44, 0x44, 0x38, // o
0xFC, 0x24, 0x24, 0x24, 0x18, // p
0x18, 0x24, 0x24, 0x18, 0xFC, // q
0x7C, 0x08, 0x04, 0x04, 0x08, // r
0x48, 0x54, 0x54, 0x54, 0x20, // s
0x04, 0x3F, 0x44, 0x40, 0x20, // t
0x3C, 0x40, 0x40, 0x20, 0x7C, // u
0x1C, 0x20, 0x40, 0x20, 0x1C, // v
0x3C, 0x40, 0x30, 0x40, 0x3C, // w
0x44, 0x28, 0x10, 0x28, 0x44, // x
0x1C, 0xA0, 0xA0, 0xA0, 0x7C, // y
0x44, 0x64, 0x54, 0x4C, 0x44, // z
0x00, 0x10, 0x7C, 0x82, 0x00, // {
0x00, 0x00, 0xFF, 0x00, 0x00, // |
0x00, 0x82, 0x7C, 0x10, 0x00, // }
0x08, 0x04, 0x08, 0x10, 0x08, // 7E 126 ~
0x7C, 0x12, 0x11, 0x12, 0x7C, // А
0x7F, 0x49, 0x49, 0x49, 0x31, // Б
0x7F, 0x45, 0x45, 0x45, 0x3A, // В
0x7F, 0x01, 0x01, 0x01, 0x03, // Г
0x60, 0x3F, 0x21, 0x3F, 0x60, // Д
0x7F, 0x49, 0x49, 0x49, 0x41, // Е
0x73, 0x0C, 0x7F, 0x0C, 0x73, // Ж
0x21, 0x41, 0x49, 0x4D, 0x33, // З
0x7F, 0x10, 0x08, 0x04, 0x7F, // И
0x7E, 0x20, 0x11, 0x08, 0x7E, // Й
0x7F, 0x08, 0x14, 0x22, 0x41, // К
0x40, 0x3F, 0x01, 0x01, 0x7F, // Л
0x7F, 0x06, 0x08, 0x06, 0x7F, // М
0x7F, 0x08, 0x08, 0x08, 0x7F, // Н
0x3E, 0x41, 0x41, 0x41, 0x3E, // О
0x7F, 0x01, 0x01, 0x01, 0x7F, // П
0x7F, 0x09, 0x09, 0x09, 0x06, // Р
0x3E, 0x41, 0x41, 0x41, 0x22, // С
0x03, 0x01, 0x7F, 0x01, 0x03, // Т
0x61, 0x26, 0x18, 0x06, 0x01, // У
0x1C, 0x22, 0x7F, 0x22, 0x1C, // Ф
0x63, 0x14, 0x08, 0x14, 0x63, // Х
0x3F, 0x20, 0x20, 0x3F, 0x60, // Ц
0x07, 0x08, 0x08, 0x08, 0x7F, // Ч
0x7F, 0x40, 0x7F, 0x40, 0x7F, // Ш
0x3F, 0x20, 0x3F, 0x20, 0x7F, // Щ
0x01, 0x7F, 0x48, 0x48, 0x30, // Ъ
0x7F, 0x48, 0x78, 0x00, 0x7F, // Ы
0x7F, 0x48, 0x48, 0x30, 0x00, // Ь
0x41, 0x49, 0x49, 0x2A, 0x1C, // Э
0x7F, 0x10, 0x3E, 0x41, 0x3E, // Ю
0x66, 0x19, 0x09, 0x09, 0x7F, // Я
0x20, 0x54, 0x54, 0x78, 0x40, // а
0x3E, 0x49, 0x45, 0x45, 0x38, // б
0x7E, 0x4A, 0x4A, 0x34, 0x00, // в
0x7C, 0x04, 0x04, 0x0C, 0x00, // г
0x38, 0x45, 0x45, 0x49, 0x3E, // д
0x38, 0x54, 0x54, 0x54, 0x18, // е
0x4C, 0x30, 0x7C, 0x30, 0x4C, // ж
0x24, 0x42, 0x4A, 0x34, 0x00, // з
0x7C, 0x20, 0x10, 0x7C, 0x00, // и
0x7C, 0x21, 0x11, 0x7C, 0x00, // й
0x7C, 0x10, 0x28, 0x44, 0x00, // к
0x40, 0x3C, 0x04, 0x04, 0x7C, // л
0x7C, 0x08, 0x10, 0x08, 0x7C, // м
0x7C, 0x10, 0x10, 0x7C, 0x00, // н
0x38, 0x44, 0x44, 0x44, 0x38, // о
0x7C, 0x04, 0x04, 0x7C, 0x00, // п
0xFC, 0x18, 0x24, 0x24, 0x18, // р
0x38, 0x44, 0x44, 0x44, 0x28, // с
0x04, 0x04, 0x7C, 0x04, 0x04, // т
0x4C, 0x90, 0x90, 0x90, 0x7C, // у
0x18, 0x24, 0x7E, 0x24, 0x18, // ф
0x44, 0x28, 0x10, 0x28, 0x44, // х
0x3C, 0x20, 0x20, 0x3C, 0x60, // ц
0x1C, 0x10, 0x10, 0x7C, 0x00, // ч
0x7C, 0x40, 0x7C, 0x40, 0x7C, // ш
0x3C, 0x20, 0x3C, 0x20, 0x7C, // щ
0x04, 0x7C, 0x50, 0x70, 0x00, // ъ
0x7C, 0x50, 0x70, 0x00, 0x7C, // ы
0x7C, 0x50, 0x70, 0x00, 0x00, // ь
0x42, 0x42, 0x52, 0x52, 0x3C, // э
0x7C, 0x10, 0x38, 0x44, 0x38, // ю
0x40, 0x2C, 0x12, 0x7E, 0x00, // я
0x7E, 0x4B, 0x4A, 0x4B, 0x42, // Ё D0 81
0x38, 0x55, 0x54, 0x55, 0x18, // ё D1 91
0x7C, 0x04, 0x05, 0x04, 0x00, //81 129 Ѓ D0 83
0x00, 0x78, 0x0A, 0x09, 0x00, //83 131 ѓ D1 93
0x3E, 0x49, 0x49, 0x41, 0x22, //AA 170 Є D0 84
0x38, 0x54, 0x54, 0x44, 0x28, //BA 186 є D1 94
0x00, 0x41, 0x7F, 0x41, 0x00, //B2 178 І D0 86
0x00, 0x44, 0x7D, 0x40, 0x00, //B3 179 і D1 96
0x00, 0x45, 0x7C, 0x45, 0x00, //AF 175 Ї D0 87
0x00, 0x45, 0x7C, 0x41, 0x00, //BF 191 ї D1 97
0x23, 0x44, 0x39, 0x04, 0x03, //A1 161 Ў D0 8E
0x24, 0x49, 0x32, 0x09, 0x04, //A2 162 ў D1 9E
0x7E, 0x02, 0x02, 0x02, 0x01, //A5 165 Ґ D2 90
0x7C, 0x04, 0x04, 0x02, 0x00, //B4 180 ґ D2 91
0x00, 0x4A, 0x55, 0x29, 0x00, //A7 167 § C2 A7
0x00, 0x06, 0x09, 0x09, 0x06, // ° C2 B0
0x44, 0x44, 0x5F, 0x44, 0x44, //B1 177 ± C2 B1
0x7C, 0x10, 0x10, 0x3C, 0x40, //B5 181 µ C2 B5
};
это код библиотеки где есть украинские символы. А вот код который есть в прошивке без украинского языка.
// шрифты для вывода текста
const uint8_t fontHEX[][5] PROGMEM = {
{0x00, 0x00, 0x00, 0x00, 0x00}, // 0x20 32
{0x00, 0x00, 0x6f, 0x00, 0x00}, // ! 0x21 33
{0x00, 0x07, 0x00, 0x07, 0x00}, // " 0x22 34
{0x14, 0x7f, 0x14, 0x7f, 0x14}, // # 0x23 35
{0x00, 0x07, 0x04, 0x1e, 0x00}, // $ 0x24 36
{0x23, 0x13, 0x08, 0x64, 0x62}, // % 0x25 37
{0x36, 0x49, 0x56, 0x20, 0x50}, // & 0x26 38
{0x00, 0x00, 0x07, 0x00, 0x00}, // ' 0x27 39
{0x00, 0x1c, 0x22, 0x41, 0x00}, // ( 0x28 40
{0x00, 0x41, 0x22, 0x1c, 0x00}, // ) 0x29 41
{0x14, 0x08, 0x3e, 0x08, 0x14}, // * 0x2a 42
{0x08, 0x08, 0x3e, 0x08, 0x08}, // + 0x2b 43
{0x00, 0x50, 0x30, 0x00, 0x00}, // , 0x2c 44
{0x08, 0x08, 0x08, 0x08, 0x08}, // - 0x2d 45
{0x00, 0x60, 0x60, 0x00, 0x00}, // . 0x2e 46
{0x20, 0x10, 0x08, 0x04, 0x02}, // / 0x2f 47
{0x3e, 0x51, 0x49, 0x45, 0x3e}, // 0 0x30 48
{0x00, 0x42, 0x7f, 0x40, 0x00}, // 1 0x31 49
{0x42, 0x61, 0x51, 0x49, 0x46}, // 2 0x32 50
{0x21, 0x41, 0x45, 0x4b, 0x31}, // 3 0x33 51
{0x18, 0x14, 0x12, 0x7f, 0x10}, // 4 0x34 52
{0x27, 0x45, 0x45, 0x45, 0x39}, // 5 0x35 53
{0x3c, 0x4a, 0x49, 0x49, 0x30}, // 6 0x36 54
{0x01, 0x71, 0x09, 0x05, 0x03}, // 7 0x37 55
{0x36, 0x49, 0x49, 0x49, 0x36}, // 8 0x38 56
{0x06, 0x49, 0x49, 0x29, 0x1e}, // 9 0x39 57
{0x00, 0x36, 0x36, 0x00, 0x00}, // : 0x3a 58
{0x00, 0x56, 0x36, 0x00, 0x00}, // ; 0x3b 59
{0x08, 0x14, 0x22, 0x41, 0x00}, // < 0x3c 60
{0x14, 0x14, 0x14, 0x14, 0x14}, // = 0x3d 61
{0x00, 0x41, 0x22, 0x14, 0x08}, // > 0x3e 62
{0x02, 0x01, 0x51, 0x09, 0x06}, // ? 0x3f 63
{0x3e, 0x41, 0x5d, 0x49, 0x4e}, // @ 0x40 64
{0x7e, 0x09, 0x09, 0x09, 0x7e}, // A 0x41 65
{0x7f, 0x49, 0x49, 0x49, 0x36}, // B 0x42 66
{0x3e, 0x41, 0x41, 0x41, 0x22}, // C 0x43 67
{0x7f, 0x41, 0x41, 0x41, 0x3e}, // D 0x44 68
{0x7f, 0x49, 0x49, 0x49, 0x41}, // E 0x45 69
{0x7f, 0x09, 0x09, 0x09, 0x01}, // F 0x46 70
{0x3e, 0x41, 0x49, 0x49, 0x7a}, // G 0x47 71
{0x7f, 0x08, 0x08, 0x08, 0x7f}, // H 0x48 72
{0x00, 0x41, 0x7f, 0x41, 0x00}, // I 0x49 73
{0x20, 0x40, 0x41, 0x3f, 0x01}, // J 0x4a 74
{0x7f, 0x08, 0x14, 0x22, 0x41}, // K 0x4b 75
{0x7f, 0x40, 0x40, 0x40, 0x40}, // L 0x4c 76
{0x7f, 0x02, 0x0c, 0x02, 0x7f}, // M 0x4d 77
{0x7f, 0x04, 0x08, 0x10, 0x7f}, // N 0x4e 78
{0x3e, 0x41, 0x41, 0x41, 0x3e}, // O 0x4f 79
{0x7f, 0x09, 0x09, 0x09, 0x06}, // P 0x50 80
{0x3e, 0x41, 0x51, 0x21, 0x5e}, // Q 0x51 81
{0x7f, 0x09, 0x19, 0x29, 0x46}, // R 0x52 82
{0x46, 0x49, 0x49, 0x49, 0x31}, // S 0x53 83
{0x01, 0x01, 0x7f, 0x01, 0x01}, // T 0x54 84
{0x3f, 0x40, 0x40, 0x40, 0x3f}, // U 0x55 85
{0x0f, 0x30, 0x40, 0x30, 0x0f}, // V 0x56 86
{0x3f, 0x40, 0x30, 0x40, 0x3f}, // W 0x57 87
{0x63, 0x14, 0x08, 0x14, 0x63}, // X 0x58 88
{0x07, 0x08, 0x70, 0x08, 0x07}, // Y 0x59 89
{0x61, 0x51, 0x49, 0x45, 0x43}, // Z 0x5a 90
{0x3c, 0x4a, 0x49, 0x29, 0x1e}, // [ 0x5b 91
{0x02, 0x04, 0x08, 0x10, 0x20}, // \ 0x5c 92
{0x00, 0x41, 0x7f, 0x00, 0x00}, // ] 0x5d 93
{0x04, 0x02, 0x01, 0x02, 0x04}, // ^ 0x5e 94
{0x40, 0x40, 0x40, 0x40, 0x40}, // _ 0x5f 95
{0x00, 0x00, 0x03, 0x04, 0x00}, // ` 0x60 96
{0x20, 0x54, 0x54, 0x54, 0x78}, // a 0x61 97
{0x7f, 0x48, 0x44, 0x44, 0x38}, // b 0x62 98
{0x38, 0x44, 0x44, 0x44, 0x20}, // c 0x63 99
{0x38, 0x44, 0x44, 0x48, 0x7f}, // d 0x64 100
{0x38, 0x54, 0x54, 0x54, 0x18}, // e 0x65 101
{0x08, 0x7e, 0x09, 0x01, 0x02}, // f 0x66 102
{0x0c, 0x52, 0x52, 0x52, 0x3e}, // g 0x67 103
{0x7f, 0x08, 0x04, 0x04, 0x78}, // h 0x68 104
{0x00, 0x44, 0x7d, 0x40, 0x00}, // i 0x69 105
{0x20, 0x40, 0x44, 0x3d, 0x00}, // j 0x6a 106
{0x00, 0x7f, 0x10, 0x28, 0x44}, // k 0x6b 107
{0x00, 0x41, 0x7f, 0x40, 0x00}, // l 0x6c 108
{0x7c, 0x04, 0x18, 0x04, 0x78}, // m 0x6d 109
{0x7c, 0x08, 0x04, 0x04, 0x78}, // n 0x6e 110
{0x38, 0x44, 0x44, 0x44, 0x38}, // o 0x6f 111
{0x7c, 0x14, 0x14, 0x14, 0x08}, // p 0x70 112
{0x08, 0x14, 0x14, 0x18, 0x7c}, // q 0x71 113
{0x7c, 0x08, 0x04, 0x04, 0x08}, // r 0x72 114
{0x48, 0x54, 0x54, 0x54, 0x20}, // s 0x73 115
{0x04, 0x3f, 0x44, 0x40, 0x20}, // t 0x74 116
{0x3c, 0x40, 0x40, 0x20, 0x7c}, // u 0x75 117
{0x1c, 0x20, 0x40, 0x20, 0x1c}, // v 0x76 118
{0x3c, 0x40, 0x30, 0x40, 0x3c}, // w 0x77 119
{0x44, 0x28, 0x10, 0x28, 0x44}, // x 0x78 120
{0x0c, 0x50, 0x50, 0x50, 0x3c}, // y 0x79 121
{0x44, 0x64, 0x54, 0x4c, 0x44}, // z 0x7a 122
{0x00, 0x08, 0x36, 0x41, 0x41}, // { 0x7b 123
{0x00, 0x00, 0x7f, 0x00, 0x00}, // | 0x7c 124
{0x41, 0x41, 0x36, 0x08, 0x00}, // } 0x7d 125
{0x04, 0x02, 0x04, 0x08, 0x04}, // ~ 0x7e 126
{0x7E, 0x11, 0x11, 0x11, 0x7E}, //__А (0xC0).
{0x7F, 0x49, 0x49, 0x49, 0x33}, //__Б (0xC1).
{0x7F, 0x49, 0x49, 0x49, 0x36}, //__В (0xC2).
{0x7F, 0x01, 0x01, 0x01, 0x03}, //__Г (0xC3).
{0xE0, 0x51, 0x4F, 0x41, 0xFF}, //__Д (0xC4).
{0x7F, 0x49, 0x49, 0x49, 0x41}, //__Е (0xC5).
{0x77, 0x08, 0x7F, 0x08, 0x77}, //__Ж (0xC6).
{0x41, 0x49, 0x49, 0x49, 0x36}, //__З (0xC7).
{0x7F, 0x10, 0x08, 0x04, 0x7F}, //__И (0xC8).
{0x7C, 0x21, 0x12, 0x09, 0x7C}, //__Й (0xC9).
{0x7F, 0x08, 0x14, 0x22, 0x41}, //__К (0xCA).
{0x20, 0x41, 0x3F, 0x01, 0x7F}, //__Л (0xCB).
{0x7F, 0x02, 0x0C, 0x02, 0x7F}, //__М (0xCC).
{0x7F, 0x08, 0x08, 0x08, 0x7F}, //__Н (0xCD).
{0x3E, 0x41, 0x41, 0x41, 0x3E}, //__О (0xCE).
{0x7F, 0x01, 0x01, 0x01, 0x7F}, //__П (0xCF).
{0x7F, 0x09, 0x09, 0x09, 0x06}, //__Р (0xD0).
{0x3E, 0x41, 0x41, 0x41, 0x22}, //__С (0xD1).
{0x01, 0x01, 0x7F, 0x01, 0x01}, //__Т (0xD2).
{0x47, 0x28, 0x10, 0x08, 0x07}, //__У (0xD3).
{0x1C, 0x22, 0x7F, 0x22, 0x1C}, //__Ф (0xD4).
{0x63, 0x14, 0x08, 0x14, 0x63}, //__Х (0xD5).
{0x7F, 0x40, 0x40, 0x40, 0xFF}, //__Ц (0xD6).
{0x07, 0x08, 0x08, 0x08, 0x7F}, //__Ч (0xD7).
{0x7F, 0x40, 0x7F, 0x40, 0x7F}, //__Ш (0xD8).
{0x7F, 0x40, 0x7F, 0x40, 0xFF}, //__Щ (0xD9).
{0x01, 0x7F, 0x48, 0x48, 0x30}, //__Ъ (0xDA).
{0x7F, 0x48, 0x30, 0x00, 0x7F}, //__Ы (0xDB).
{0x00, 0x7F, 0x48, 0x48, 0x30}, //__Ь (0xDC).
{0x22, 0x41, 0x49, 0x49, 0x3E}, //__Э (0xDD).
{0x7F, 0x08, 0x3E, 0x41, 0x3E}, //__Ю (0xDE).
{0x46, 0x29, 0x19, 0x09, 0x7F}, //__Я (0xDF).
{0x20, 0x54, 0x54, 0x54, 0x78}, //__а (0xE0).
{0x3C, 0x4A, 0x4A, 0x49, 0x31}, //__б (0xE1).
{0x7C, 0x54, 0x54, 0x28, 0x00}, //__в (0xE2).
{0x7C, 0x04, 0x04, 0x0C, 0x00}, //__г (0xE3).
{0xE0, 0x54, 0x4C, 0x44, 0xFC}, //__д (0xE4).
{0x38, 0x54, 0x54, 0x54, 0x18}, //__е (0xE5).
{0x6C, 0x10, 0x7C, 0x10, 0x6C}, //__ж (0xE6).
{0x44, 0x54, 0x54, 0x28, 0x00}, //__з (0xE7).
{0x7C, 0x20, 0x10, 0x08, 0x7C}, //__и (0xE8).
{0x78, 0x42, 0x24, 0x12, 0x78}, //__й (0xE9).
{0x7C, 0x10, 0x28, 0x44, 0x00}, //__к (0xEA).
{0x20, 0x44, 0x3C, 0x04, 0x7C}, //__л (0xEB).
{0x7C, 0x08, 0x10, 0x08, 0x7C}, //__м (0xEC).
{0x7C, 0x10, 0x10, 0x10, 0x7C}, //__н (0xED).
{0x38, 0x44, 0x44, 0x44, 0x38}, //__о (0xEE).
{0x7C, 0x04, 0x04, 0x04, 0x7C}, //__п (0xEF).
{0x7C, 0x14, 0x14, 0x14, 0x08}, //__р (0xF0).
{0x38, 0x44, 0x44, 0x44, 0x00}, //__с (0xF1).
{0x04, 0x04, 0x7C, 0x04, 0x04}, //__т (0xF2).
{0x0C, 0x50, 0x50, 0x50, 0x3C}, //__у (0xF3).
{0x30, 0x48, 0xFE, 0x48, 0x30}, //__ф (0xF4).
{0x44, 0x28, 0x10, 0x28, 0x44}, //__х (0xF5).
{0x7C, 0x40, 0x40, 0x7C, 0xC0}, //__ц (0xF6).
{0x0C, 0x10, 0x10, 0x10, 0x7C}, //__ч (0xF7).
{0x7C, 0x40, 0x7C, 0x40, 0x7C}, //__ш (0xF8).
{0x7C, 0x40, 0x7C, 0x40, 0xFC}, //__щ (0xF9).
{0x04, 0x7C, 0x50, 0x50, 0x20}, //__ъ (0xFA).
{0x7C, 0x50, 0x50, 0x20, 0x7C}, //__ы (0xFB).
{0x7C, 0x50, 0x50, 0x20, 0x00}, //__ь (0xFC).
{0x28, 0x44, 0x54, 0x54, 0x38}, //__э (0xFD).
{0x7C, 0x10, 0x38, 0x44, 0x38}, //__ю (0xFE).
{0x08, 0x54, 0x34, 0x14, 0x7C}, //__я (0xFF).
{0x7C, 0x04, 0x05, 0x04, 0x00}, //81 129 Ґ 165 159
{0x00, 0x78, 0x0A, 0x09, 0x00}, //83 131 ґ 180 160
{0x3E, 0x49, 0x49, 0x41, 0x22}, //AA 170 Є 170 161
{0x38, 0x54, 0x54, 0x44, 0x28}, //BA 186 є 186 162
{0x00, 0x41, 0x7F, 0x41, 0x00}, //B2 178 І 178 163
{0x00, 0x44, 0x7D, 0x40, 0x00}, //B3 179 і 179 164
{0x00, 0x45, 0x7C, 0x45, 0x00}, //AF 175 Ї 175 165
{0x00, 0x45, 0x7C, 0x41, 0x00}, //BF 191 ї 191 166
/*
{0x7e, 0x09, 0x09, 0x09, 0x7e}, // А 192
{0x7F, 0x49, 0x49, 0x49, 0x71}, // Б
{0x7f, 0x49, 0x49, 0x49, 0x36}, // В
{0x7F, 0x01, 0x01, 0x01, 0x01}, // Г
{0x60, 0x3E, 0x21, 0x3F, 0x60}, // Д
{0x7f, 0x49, 0x49, 0x49, 0x41}, // Е
{0x76, 0x08, 0x7F, 0x08, 0x76}, // Ж
{0x21, 0x41, 0x45, 0x4b, 0x31}, // З
{0x7F, 0x20, 0x10, 0x08, 0x7F}, // И
{0x7E, 0x20, 0x11, 0x08, 0x7E}, // Й
{0x7f, 0x08, 0x14, 0x22, 0x41}, // К
{0x70, 0x0E, 0x01, 0x01, 0x7F}, // Л
{0x7f, 0x02, 0x0c, 0x02, 0x7f}, // М
{0x7f, 0x08, 0x08, 0x08, 0x7f}, // Н
{0x3e, 0x41, 0x41, 0x41, 0x3e}, // О
{0x7F, 0x01, 0x01, 0x01, 0x7F}, // П
{0x7f, 0x09, 0x09, 0x09, 0x06}, // Р
{0x3e, 0x41, 0x41, 0x41, 0x22}, // С
{0x01, 0x01, 0x7f, 0x01, 0x01}, // Т
{0x07, 0x48, 0x48, 0x48, 0x7F}, // У
{0x1C, 0x22, 0x7F, 0x22, 0x1C}, // Ф
{0x63, 0x14, 0x08, 0x14, 0x63}, // Х
{0x7F, 0x40, 0x40, 0x7F, 0xC0}, // Ц
{0x07, 0x08, 0x08, 0x08, 0x7F}, // Ч
{0x7F, 0x40, 0x7F, 0x40, 0x7F}, // Ш
{0x7F, 0x40, 0x7F, 0x40, 0xFF}, // Щ
{0x01, 0x7F, 0x48, 0x48, 0x70}, // Ъ
{0x7F, 0x48, 0x70, 0x00, 0x7F}, // Ы
{0x00, 0x7F, 0x48, 0x48, 0x70}, // Ь
{0x22, 0x41, 0x49, 0x49, 0x3E}, // Э
{0x7F, 0x08, 0x3E, 0x41, 0x3E}, // Ю
{0x46, 0x29, 0x19, 0x09, 0x7F}, // Я 223
{0x20, 0x54, 0x54, 0x54, 0x78}, //a 224
{0x3c, 0x4a, 0x4a, 0x49, 0x31}, //б
{0x7c, 0x54, 0x54, 0x28, 0x00}, //в
{0x7c, 0x04, 0x04, 0x04, 0x0c}, //г
{0xe0, 0x54, 0x4c, 0x44, 0xfc}, //д
{0x38, 0x54, 0x54, 0x54, 0x18}, //e
{0x6c, 0x10, 0x7c, 0x10, 0x6c}, //ж
{0x44, 0x44, 0x54, 0x54, 0x28}, //з
{0x7c, 0x20, 0x10, 0x08, 0x7c}, //и
{0x7c, 0x41, 0x22, 0x11, 0x7c}, //й
{0x7c, 0x10, 0x28, 0x44, 0x00}, //к
{0x20, 0x44, 0x3c, 0x04, 0x7c}, //л
{0x7c, 0x08, 0x10, 0x08, 0x7c}, //м
{0x7c, 0x10, 0x10, 0x10, 0x7c}, //н
{0x38, 0x44, 0x44, 0x44, 0x38}, //o
{0x7c, 0x04, 0x04, 0x04, 0x7c}, //п
{0x7C, 0x14, 0x14, 0x14, 0x08}, //p
{0x38, 0x44, 0x44, 0x44, 0x20}, //c
{0x04, 0x04, 0x7c, 0x04, 0x04}, //т
{0x0C, 0x50, 0x50, 0x50, 0x3C}, //у
{0x30, 0x48, 0xfc, 0x48, 0x30}, //ф
{0x44, 0x28, 0x10, 0x28, 0x44}, //x
{0x7c, 0x40, 0x40, 0x40, 0xfc}, //ц
{0x0c, 0x10, 0x10, 0x10, 0x7c}, //ч
{0x7c, 0x40, 0x7c, 0x40, 0x7c}, //ш
{0x7c, 0x40, 0x7c, 0x40, 0xfc}, //щ
{0x04, 0x7c, 0x50, 0x50, 0x20}, //ъ
{0x7c, 0x50, 0x50, 0x20, 0x7c}, //ы
{0x7c, 0x50, 0x50, 0x20, 0x00}, //ь
{0x28, 0x44, 0x54, 0x54, 0x38}, //э
{0x7c, 0x10, 0x38, 0x44, 0x38}, //ю
{0x08, 0x54, 0x34, 0x14, 0x7c}, //я 255
*/
};
Я думал что вставлю нужные буквы и все заработает, но потом понял что вот еще этот код отвечает за вывод букв и тут уже полная неразбериха.
// работа с бегущим текстом
// **************** НАСТРОЙКИ ****************
#define TEXT_DIRECTION 1 // 1 - по горизонтали, 0 - по вертикали
#define MIRR_V 0 // отразить текст по вертикали (0 / 1)
#define MIRR_H 1 // отразить текст по горизонтали (0 / 1)
#define TEXT_HEIGHT 0 // высота, на которой бежит текст (от низа матрицы)
#define LET_WIDTH 5 // ширина буквы шрифта
#define LET_HEIGHT 8 // высота буквы шрифта
#define SPACE 1 // пробел
// --------------------- ДЛЯ РАЗРАБОТЧИКОВ ----------------------
int offset = WIDTH;
void fillString(String text, byte color) {
if (loadingFlag) {
offset = WIDTH; // перемотка в правый край
loadingFlag = false;
fullTextFlag = false;
}
if (scrollTimer.isReady()) {
if (showText) {
matrix.fillScreen(LOW);
byte i = 0, j = 0;
while (text[i] != '\0') {
if ((byte)text[i] > 191) { // работаем с русскими буквами!
i++;
} else {
drawLetter(j, text[i], offset + j * (LET_WIDTH + SPACE), color);
i++;
j++;
}
}
offset--;
if (offset < -j * (LET_WIDTH + SPACE)) { // строка убежала
offset = WIDTH + 3;
if (!autoFlag) showText = false;
}
matrix.write();
}
}
}
void drawLetter(uint8_t index, uint8_t letter, int16_t offset, byte color) {
int8_t start_pos = 0, finish_pos = LET_WIDTH;
if (offset < -LET_WIDTH || offset > WIDTH) return;
if (offset < 0) start_pos = -offset;
if (offset > (WIDTH - LET_WIDTH)) finish_pos = WIDTH - offset;
for (byte i = start_pos; i < finish_pos; i++) {
int thisByte;
if (MIRR_V) thisByte = getFont((byte)letter, LET_WIDTH - 1 - i);
else thisByte = getFont((byte)letter, i);
for (byte j = 0; j < LET_HEIGHT; j++) {
boolean thisBit;
if (MIRR_H) thisBit = thisByte & (1 << j);
else thisBit = thisByte & (1 << (LET_HEIGHT - 1 - j));
// рисуем столбец (i - горизонтальная позиция, j - вертикальная)
if (TEXT_DIRECTION) {
if (thisBit) matrix.drawPixel(offset + i, TEXT_HEIGHT + j, 1);
else matrix.drawPixel(offset + i, TEXT_HEIGHT + j, 0);
} else {
if (thisBit) matrix.drawPixel(i, offset + TEXT_HEIGHT + j, 1);
else matrix.drawPixel(i, offset + TEXT_HEIGHT + j, 0);
}
}
}
}
// ------------- СЛУЖЕБНЫЕ ФУНКЦИИ --------------
// интерпретатор кода символа в массиве fontHEX (для Arduino IDE 1.8.* и выше)
uint8_t getFont(uint8_t font, uint8_t row) {
font = font - '0' + 16; // перевод код символа из таблицы ASCII в номер согласно нумерации массива
if (font <= 90) return pgm_read_byte(&(fontHEX[font][row])); // для английских букв и символов
else if (font >= 112 && font <= 159) { // и пизд*ц ждя русских
return pgm_read_byte(&(fontHEX[font - 17][row]));
} else if (font >= 96 && font <= 111) {
return pgm_read_byte(&(fontHEX[font + 47][row]));
}
}
/*
// интерпретатор кода символа по ASCII в его номер в массиве fontHEX (для Arduino IDE до 1.6.*)
uint8_t getFontOld(uint8_t font, uint8_t row) {
font = font - '0' + 16; // перевод код символа из таблицы ASCII в номер согласно нумерации массива
if (font < 126) return pgm_read_byte(&(fontHEX[font][row])); // для английских букв и символов
else return pgm_read_byte(&(fontHEX[font - 65][row])); // для русских букв и символов (смещение -65 по массиву)
}
*/
Помогите настроить пожалуйста.
Ответы (1 шт):
Автор решения: Евгений Хохлов
→ Ссылка
смотри
text.replace("Ґ", "[");
text.replace("ґ", "\\");
text.replace("Є", "]");
text.replace("є", "^");
text.replace("І", "{");
text.replace("і", "|");
text.replace("Ї", "}");
text.replace("ї", "~");
меняй просто те буквы на эти перед выводом