Как запрограмировать украинский язык в бегущую строку?

У меня есть прошивка для ардуино "бегущая строка" там есть русский, английский, но я хочу туда еще записать украинский язык. Как это сделать не понятно. Нашел в интернете одну библиотеку, там есть украинский язык, но там указано вроде что она для других дислеев написана.

    #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("ї", "~");

меняй просто те буквы на эти перед выводом

→ Ссылка