Ok, I will try at the evening ( about 6PM on GMT), now it is time to go to work
okay , thank you we will see at that time
Could you please to explain, how it possible that your font use only 127 glyphs to display more than 700 chars of the TTF font?
hi its good ,
can you print using matrix panel hub 75 library for esp32??
No, this code can run on stm32 or rp2040 only
what is the difference there , is it problem with ESP32 or library ?
cam u please share the code for STM32 for hindi fonts?
The library I am using is not supports esp32
Surely, but it will take some time
Could you tell me, what are the names of the highlighted parts below and above the letters?
Is the part in the bottom in the right place? It was not in the text in Google Translate, but when I printed it with your font, it suddenly appeared
yes it is right , its another form of representation
Do these signs have any special name?
no special name for them
once send me the code here which will workout for STM32 for chained displays , and for as it does not has wifi support , any other option?
actually in the word u printed there is line under the third letter that means letter is half just u can compare it with the word i sent рдирдорд╕реНрддреЗ
It should be noted that the font you posted does not print these parts correctlyтАж
He allocates a separate place for each between the other letters:
In order to print correctly, all such letters in the font must be edited.
The example : running text рдирдорд╕реНрддреЗ right to left with three colors.
/*--------------------------------------------------------------------------------------
Demo for RGB panels
DMD_STM32a example code for STM32 and RP2040 boards
using Hindi letters font
DMD_STM32a - the library for driving LED Matrix panels on STM32 and RP2040 boards
https://github.com/board707/DMD_STM32
HUB75 RGB and HUB12 Monochrome panels are supported
See this example on YouTube: https://www.youtube.com/watch?v=Ltrcb_mpjvs
------------------------------------------------------------------------------------- */
#include "DMD_RGB.h"
// Fonts includes
#pragma GCC diagnostic ignored "-Wnarrowing"
#pragma GCC diagnostic ignored "-Woverflow"
#include "gfx_fonts/GlametrixLight12pt7b.h"
#include "gfx_fonts/GlametrixBold12pt7b.h"
#include "hindi_font.h"
#pragma GCC diagnostic warning "-Wnarrowing"
#pragma GCC diagnostic warning "-Woverflow"
//Number of panels in x and y axis
#define DISPLAYS_ACROSS 1
#define DISPLAYS_DOWN 1
// Enable of output buffering
// if true, changes only outputs to matrix after
// swapBuffers(true) command
// If dual buffer not enabled, all output draw at matrix directly
// and swapBuffers(true) cimmand do nothing
#define ENABLE_DUAL_BUFFER false
/* =================== *
* STM32F4 pins *
* =================== */
#if (defined(__STM32F1__) || defined(__STM32F4__))
// ==== DMD_RGB pins ====
// mux pins - A, B, C... all mux pins must be selected from same port!
#define DMD_PIN_A PB6
#define DMD_PIN_B PB5
#define DMD_PIN_C PB4
#define DMD_PIN_D PB3
#define DMD_PIN_E PB8
// put all mux pins at list
uint8_t mux_list[] = { DMD_PIN_A , DMD_PIN_B , DMD_PIN_C , DMD_PIN_D , DMD_PIN_E };
// pin OE must be one of PB0 PB1 PA6 PA7
#define DMD_PIN_nOE PB0
#define DMD_PIN_SCLK PB7
// Pins for R0, G0, B0, R1, G1, B1 channels and for clock.
// By default the library uses RGB color order.
// If you need to change this - reorder the R0, G0, B0, R1, G1, B1 pins.
// All this pins also must be selected from same port!
uint8_t custom_rgbpins[] = {PA6, PA0,PA1,PA2,PA3,PA4,PA5 }; // CLK, R0, G0, B0, R1, G1, B1
/* =================== *
* RP2040 pins *
* =================== */
#elif (defined(ARDUINO_ARCH_RP2040))
// ==== DMD_RGB pins ====
// mux pins - A, B, C... mux pins must be consecutive in ascending order
#define DMD_PIN_A 6
#define DMD_PIN_B 7
#define DMD_PIN_C 8
#define DMD_PIN_D 9
#define DMD_PIN_E 10
// put all mux pins at list
uint8_t mux_list[] = { DMD_PIN_A , DMD_PIN_B , DMD_PIN_C , DMD_PIN_D , DMD_PIN_E };
// pin OE must be one of PB0 PB1 PA6 PA7
#define DMD_PIN_nOE 15
#define DMD_PIN_SCLK 12
// Pins for R0, G0, B0, R1, G1, B1 channels and for clock.
// By default the library uses RGB color order.2
// If you need to change this - reorder the R0, G0, B0, R1, G1, B1 pins.
// All this pins also must be consecutive in ascending order
uint8_t custom_rgbpins[] = { 11, 0,1,2,3,4,5 }; // CLK, R0, G0, B0, R1, G1, B1
#endif
// Fire up the DMD object as dmd<MATRIX_TYPE, COLOR_DEPTH>
// We use 64x32 matrix with 16 scans and 4bit color:
DMD_RGB <RGB64x32plainS16, COLOR_4BITS> dmd(mux_list, DMD_PIN_nOE, DMD_PIN_SCLK, custom_rgbpins, DISPLAYS_ACROSS, DISPLAYS_DOWN, ENABLE_DUAL_BUFFER);
// other options are:
// <RGB32x16plainS8> - 32x16 matrix with 8scans
// <RGB80x40plainS20> - 80x40 matrix with 20scans
// <RGB64x64plainS32> - 64x64 matrix with 32scans
// Color depth - <COLOR_4BITS_Packed>(STM32 only), <COLOR_4BITS> or <COLOR_1BITS>
// --- Define fonts ----
// GFX font with sepatate parts for Latin and Hindi chars
DMD_GFX_Font Hindi((uint8_t*)&GlametrixLight12pt7b, (uint8_t*)&devhindi10pt8b, 0x80, 20);
/*--------------------------------------------------------------------------------------
UTF8 char recoding
--------------------------------------------------------------------------------------*/
int utf8_hindi(char* dest, const unsigned char* src) {
uint16_t i, j;
for (i = 0, j = 0; src[i]; i++) {
if ((src[i] == 0xe0) && src[i + 1] == 0xa4) { dest[j++] = src[i+2]; i+=2;}
else if ((src[i] == 0xe0) && src[i + 1] == 0xa5) { dest[j++] = src[i+2] + 0x40; i+=2;}
else dest[j++] = src[i];
}
dest[j] = '\0';
return j;
}
/*--------------------------------------------------------------------------------------
setup
Called by the Arduino architecture before the main loop begins
--------------------------------------------------------------------------------------*/
void setup(void)
{
// initialize DMD objects
dmd.init();
dmd.setBrightness(80);
dmd.disableFastTextShift(1);
}
/*--------------------------------------------------------------------------------------
loop
Arduino architecture main loop
--------------------------------------------------------------------------------------*/
void loop(void)
{
// create foreground colors
uint16_t col[] = {
dmd.Color888(255,0, 0), // red
dmd.Color888(0, 255, 0), // green
dmd.Color888(0, 0, 255) // blue
};
uint16_t bg = 0; // background - black
uint8_t col_cnt = 3; // color count
uint8_t col_ptr = 0;
// text
char h[] ="рдирдорд╕реНрддреЗ";
// transcode message to UTF for use with GFX fonts
char m[30];
utf8_hindi(m, (const unsigned char*)h);
// select matrix font
dmd.selectFont(&Hindi);
// set text foreground and background colors
dmd.setTextColor(col[0], bg);
//dmd.drawMarqueeX(kh, 0, 4);
// running text shift interval
uint16_t interval = 30;
long prev_step = millis();
dmd.drawMarqueeX(m, dmd.width() - 1, 0);
while (1) {
if ((millis() - prev_step) > interval) {
// marquee step
if (dmd.stepMarquee(-1, 0) & 1) { // if text is reached screen bounds
dmd.clearScreen(true);
// set next text color
col_ptr++;
if (col_ptr >= col_cnt) col_ptr = 0;
dmd.setTextColor(col[col_ptr], bg);
dmd.drawMarqueeX(m, dmd.width() - 1, 0);
}
dmd.swapBuffers(true);
prev_step = millis();
}
}
}
DMD_STM32 library
GitHub - board707/DMD_STM32: STM32Duino library for RGB, Monochrome and Two-color led matrix panels
STM32F411 тАЬBlackpillтАЭ board
Arduino 1.8.19
Edited Hindi font
const uint8_t devhindi10pt8bBitmaps[] PROGMEM = {
0x3C, 0x66, 0xCA, 0x5D, 0x08, 0x10, 0xDA, 0x53, 0x66, 0x3E, 0x5D, 0x00,
0x5D, 0x00, 0x17, 0x40, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x7F, 0x00,
0x03, 0x00, 0x02, 0x00, 0x02, 0x1E, 0x7F, 0x7E, 0x7E, 0x84, 0x30, 0x0C,
0x60, 0x38, 0xC3, 0xE1, 0x92, 0x23, 0x20, 0x7E, 0x20, 0xCC, 0x23, 0x18,
0x3E, 0x30, 0x00, 0x60, 0x00, 0x40, 0x3C, 0xFE, 0xFC, 0xFD, 0x08, 0x60,
0x18, 0xC0, 0x71, 0x87, 0xC3, 0x24, 0x46, 0x40, 0xFC, 0x41, 0x98, 0x46,
0x30, 0x7C, 0x60, 0x00, 0xC0, 0x00, 0x80, 0x3C, 0xFF, 0xF3, 0xF3, 0xFF,
0xD0, 0x86, 0x30, 0x06, 0x31, 0x80, 0x71, 0x8C, 0x1F, 0x0C, 0x62, 0x44,
0x63, 0x10, 0x3F, 0x18, 0x41, 0x98, 0xC1, 0x18, 0xC6, 0x07, 0xC6, 0x30,
0x00, 0x31, 0x80, 0x00, 0x8C, 0x00, 0xFF, 0xF7, 0xFF, 0x00, 0xC3, 0xFC,
0x30, 0x42, 0x00, 0x30, 0x01, 0xF8, 0x00, 0x41, 0x06, 0x18, 0xC1, 0xFC,
0x06, 0x00, 0x20, 0x01, 0x00, 0x18, 0x01, 0xC0, 0x1E, 0x03, 0x00, 0x30,
0x01, 0x00, 0x08, 0xFF, 0xF7, 0xFF, 0x00, 0xC0, 0x0C, 0x3F, 0xC3, 0x00,
0x30, 0x01, 0xF8, 0x00, 0x41, 0x06, 0x18, 0xC1, 0xFC, 0x0E, 0x00, 0x20,
0x03, 0x00, 0x18, 0xFF, 0xF3, 0xFF, 0xC0, 0x10, 0x00, 0x80, 0x0C, 0x03,
0xC0, 0x9F, 0x04, 0x04, 0x10, 0x20, 0x81, 0x02, 0x18, 0x0F, 0xC0, 0x3C,
0x00, 0xFF, 0xFF, 0x3F, 0xFF, 0xC0, 0x10, 0x00, 0x08, 0x00, 0x0C, 0x00,
0x3C, 0xE0, 0x99, 0xC8, 0x40, 0x46, 0x10, 0x23, 0x08, 0x11, 0x82, 0x19,
0x80, 0xFC, 0xC0, 0x3C, 0x00, 0xFF, 0xFF, 0x9F, 0xFF, 0xF0, 0x04, 0x00,
0x71, 0x38, 0x3A, 0x46, 0x08, 0x73, 0x80, 0x0F, 0xE0, 0x0F, 0x04, 0x07,
0x41, 0x03, 0x10, 0x41, 0x84, 0x30, 0x01, 0x3C, 0x00, 0x48, 0x00, 0xFF,
0xFE, 0x7F, 0xFE, 0x00, 0x20, 0x00, 0x20, 0x1E, 0xF0, 0x39, 0xC8, 0x31,
0x88, 0x33, 0x08, 0x30, 0x08, 0x10, 0x18, 0x08, 0x30, 0x0C, 0x20, 0x06,
0x62, 0x00, 0x27, 0x00, 0x3C, 0x18, 0x40, 0x43, 0x03, 0x30, 0x0F, 0x00,
0x00, 0x7F, 0xF9, 0xFF, 0xE2, 0x08, 0x10, 0x40, 0x82, 0x04, 0x10, 0x20,
0x81, 0x0C, 0x0C, 0xE0, 0x32, 0x00, 0xC0, 0x01, 0x00, 0x06, 0x00, 0x18,
0x00, 0x60, 0x06, 0x00, 0x80, 0x02, 0x00, 0x1F, 0xC0, 0x03, 0x00, 0x04,
0x00, 0x23, 0xFF, 0xCF, 0xFF, 0x10, 0x40, 0x82, 0x04, 0x10, 0x20, 0x81,
0x04, 0x08, 0x60, 0x67, 0x01, 0x10, 0x06, 0x00, 0x18, 0x00, 0x20, 0x00,
0xC0, 0x02, 0x00, 0x38, 0x00, 0x80, 0xFF, 0xF3, 0xFF, 0xC4, 0x10, 0x20,
0x81, 0x04, 0x08, 0x20, 0x41, 0x02, 0x18, 0x19, 0xC0, 0x64, 0x01, 0x80,
0x02, 0x00, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x0C, 0x3C, 0x00, 0xF0, 0x00,
0x40, 0x01, 0x00, 0x08, 0x00, 0x23, 0xFF, 0xCF, 0xFF, 0x10, 0x40, 0x82,
0x04, 0x10, 0x20, 0x81, 0x04, 0x08, 0x60, 0x67, 0x01, 0x90, 0x06, 0x00,
0x18, 0x00, 0x30, 0x00, 0xC0, 0x03, 0x00, 0x30, 0x00, 0x04, 0x18, 0x00,
0x11, 0x80, 0x00, 0xCC, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x1E, 0x7F, 0xF9,
0xF9, 0xFF, 0xE8, 0x43, 0x18, 0x03, 0x18, 0xC0, 0x38, 0xC6, 0x0F, 0x86,
0x31, 0x22, 0x31, 0x88, 0x1F, 0x8C, 0x20, 0xCC, 0x60, 0x8C, 0x63, 0x03,
0xE3, 0x18, 0x00, 0x18, 0xC0, 0x00, 0x46, 0x00, 0x01, 0x00, 0x00, 0x08,
0x00, 0x00, 0xC0, 0x00, 0x07, 0xF0, 0x00, 0x01, 0x80, 0x00, 0x08, 0x00,
0x00, 0x43, 0xCF, 0xFF, 0x7E, 0x7F, 0xF4, 0x21, 0x8C, 0x03, 0x18, 0xC0,
0x71, 0x8C, 0x3E, 0x18, 0xC9, 0x11, 0x8C, 0x81, 0xF8, 0xC4, 0x19, 0x8C,
0x23, 0x18, 0xC1, 0xF1, 0x8C, 0x00, 0x18, 0xC0, 0x00, 0x8C, 0x00, 0x3C,
0x00, 0x01, 0xE0, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x80, 0x00,
0x08, 0x3C, 0xFF, 0xF7, 0xE7, 0xFF, 0x02, 0x18, 0xC0, 0x31, 0x8C, 0x06,
0x18, 0xC3, 0xE1, 0x8C, 0x91, 0x38, 0xC8, 0x1F, 0x8C, 0x41, 0x98, 0xC2,
0x31, 0x8C, 0x1F, 0x18, 0xC0, 0x01, 0x8C, 0x00, 0x08, 0x40, 0x00, 0x3C,
0x00, 0x01, 0x20, 0x00, 0x01, 0x00, 0x02, 0x10, 0x00, 0x1E, 0x80, 0x00,
0x38, 0x00, 0x00, 0xC3, 0xCF, 0xFF, 0x7E, 0x7F, 0xF0, 0x21, 0x8C, 0x03,
0x18, 0xC0, 0x61, 0x8C, 0x3E, 0x18, 0xC9, 0x1B, 0x8C, 0x81, 0x78, 0xC4,
0x19, 0x8C, 0x23, 0x18, 0xC1, 0xF1, 0x8C, 0x00, 0x18, 0xC0, 0x00, 0x84,
0xFF, 0xFF, 0x3F, 0xFF, 0xC0, 0x30, 0x00, 0x18, 0x01, 0xED, 0xC1, 0xCF,
0x90, 0x83, 0x88, 0x43, 0x84, 0x33, 0xC6, 0x0F, 0x63, 0x00, 0x33, 0x80,
0x18, 0x80, 0x04, 0x00, 0xFF, 0xFF, 0x9F, 0xFF, 0xF0, 0x40, 0x30, 0x10,
0x0C, 0x04, 0xFB, 0x03, 0x33, 0xC3, 0xC8, 0x30, 0xE2, 0x1C, 0x18, 0xDF,
0x03, 0x1E, 0xC0, 0x60, 0x30, 0x0C, 0x0C, 0x03, 0x03, 0x00, 0xFF, 0xFB,
0xFF, 0xC3, 0x18, 0x18, 0xC0, 0xC6, 0x06, 0x30, 0xF1, 0x83, 0x8C, 0x0C,
0x60, 0x03, 0x00, 0x18, 0x00, 0xC0, 0x02, 0x00, 0xFF, 0xFD, 0xFF, 0xF3,
0x03, 0x0C, 0x0C, 0x1F, 0x30, 0x3C, 0xC0, 0x83, 0x02, 0x0C, 0x0C, 0xF0,
0x1F, 0xC0, 0x03, 0x00, 0x0C, 0x00, 0x10, 0xFF, 0xFC, 0xFF, 0xFC, 0x01,
0x00, 0x02, 0x00, 0xFC, 0x83, 0x03, 0x82, 0x02, 0x17, 0xF0, 0x27, 0x20,
0x20, 0x60, 0x60, 0xC0, 0x7F, 0x00, 0x3C, 0x00, 0xFF, 0xFE, 0xFF, 0xFC,
0x00, 0x60, 0x00, 0xC3, 0xFD, 0x81, 0xC3, 0x03, 0x06, 0x04, 0x1C, 0x04,
0x78, 0x07, 0xF0, 0x00, 0x60, 0x00, 0xC0, 0x00, 0x80, 0xFF, 0xFF, 0x3F,
0xFF, 0xC0, 0x04, 0x03, 0xCF, 0x83, 0x86, 0x41, 0x83, 0x30, 0x45, 0x98,
0x1E, 0x6C, 0x0C, 0x1E, 0x0C, 0x06, 0x02, 0x06, 0x00, 0xFE, 0x00, 0x3E,
0x00, 0xFF, 0xFF, 0x7F, 0xFF, 0x00, 0x0C, 0x00, 0x0C, 0x63, 0xFC, 0x21,
0x8C, 0x20, 0xCC, 0x10, 0x4C, 0x18, 0x4C, 0x0C, 0xCC, 0x07, 0x8C, 0x00,
0x0C, 0x00, 0x04, 0xFF, 0xFF, 0x3F, 0xFF, 0xC0, 0x31, 0x07, 0xF8, 0x83,
0x04, 0x41, 0x00, 0x20, 0xC0, 0x10, 0x3F, 0xF8, 0x00, 0x44, 0x08, 0x32,
0x06, 0x31, 0x03, 0xF0, 0x80, 0x20, 0x40, 0x10, 0x00, 0x04, 0x00, 0x03,
0x00, 0xFF, 0xFF, 0xBF, 0xFF, 0xC0, 0x01, 0x80, 0xF0, 0xC0, 0x64, 0x61,
0x02, 0x30, 0x81, 0x98, 0x20, 0xFC, 0x0C, 0xE6, 0x03, 0xE3, 0x00, 0x01,
0x80, 0x00, 0xC0, 0x00, 0x20, 0xFF, 0xF7, 0xFF, 0x00, 0x80, 0x08, 0x1F,
0x83, 0x80, 0x30, 0x03, 0x00, 0x30, 0x01, 0x02, 0x08, 0xE0, 0x7C, 0xFF,
0xFB, 0xFF, 0xC0, 0x20, 0x01, 0x01, 0xF8, 0x1E, 0x20, 0xC0, 0x86, 0x06,
0x30, 0x30, 0x83, 0x06, 0x38, 0x0F, 0x80, 0xFF, 0xFB, 0xFF, 0xC0, 0x10,
0x00, 0x80, 0xFC, 0x0C, 0x00, 0x20, 0x05, 0xFC, 0x27, 0x20, 0x81, 0x86,
0x0C, 0x1F, 0xC0, 0x3C, 0x00, 0xFF, 0xF3, 0xFF, 0xC0, 0x30, 0x01, 0x81,
0xFC, 0x1C, 0x00, 0xC0, 0x06, 0x78, 0x33, 0x20, 0x91, 0x06, 0x88, 0x1F,
0xC0, 0x3C, 0x00, 0xFF, 0xFE, 0x7F, 0xFF, 0x30, 0x88, 0x30, 0x88, 0x30,
0x88, 0x30, 0x88, 0x10, 0x88, 0x19, 0x8C, 0x0F, 0x0C, 0x00, 0x0C, 0x00,
0x0C, 0x00, 0x0C, 0x00, 0x0C, 0xFF, 0xFB, 0xFF, 0xC0, 0x18, 0x00, 0xC1,
0xFE, 0x1C, 0x30, 0xC1, 0x86, 0x0C, 0x30, 0x60, 0x83, 0x02, 0x18, 0x18,
0xC0, 0x42, 0x00, 0x73, 0xF7, 0x4F, 0xF1, 0x10, 0x88, 0x82, 0xC4, 0x1E,
0x21, 0xC1, 0x04, 0x18, 0x33, 0xC0, 0xFA, 0x00, 0x10, 0x00, 0x80, 0x0C,
0x00, 0xFF, 0xF7, 0xFF, 0x00, 0x80, 0x08, 0x1F, 0x83, 0x80, 0x30, 0x03,
0x00, 0x31, 0xC1, 0x0E, 0x09, 0xC0, 0x7C, 0x00, 0x60, 0x02, 0x00, 0x30,
0x73, 0xF7, 0xCF, 0xF2, 0x11, 0x80, 0x87, 0xC4, 0x1F, 0x20, 0xC1, 0x04,
0x08, 0x20, 0xC1, 0x9E, 0x07, 0xD0, 0x00, 0x80, 0x04, 0x00, 0xFF, 0xFB,
0xFF, 0xC0, 0x18, 0x00, 0xC0, 0x06, 0x00, 0x30, 0xFF, 0x87, 0x0C, 0x18,
0x60, 0x03, 0x00, 0x18, 0x00, 0xC0, 0x02, 0x00, 0xFF, 0xFB, 0xFF, 0xC0,
0x18, 0x00, 0xC0, 0x06, 0x00, 0x30, 0xFF, 0x87, 0x0C, 0x18, 0x60, 0x03,
0x00, 0x18, 0x04, 0xC0, 0x72, 0x01, 0x00, 0xFF, 0xF3, 0xFF, 0xCC, 0x10,
0x60, 0x83, 0x04, 0x18, 0x20, 0x41, 0x03, 0x38, 0x0F, 0xC0, 0x02, 0x00,
0x10, 0x00, 0x80, 0x04, 0x00, 0xFF, 0xFF, 0xBF, 0xFF, 0xCC, 0x30, 0x06,
0x18, 0x03, 0x0D, 0xC1, 0x87, 0x90, 0x43, 0x88, 0x33, 0x86, 0x0F, 0xC2,
0x00, 0x63, 0x00, 0x31, 0x80, 0x18, 0x40, 0x04, 0x00, 0xFF, 0xF9, 0xFF,
0xF0, 0x02, 0x07, 0xC8, 0x38, 0xA0, 0xF1, 0x82, 0x46, 0x08, 0xB8, 0x11,
0xE0, 0x3E, 0x80, 0x02, 0x00, 0x08, 0x00, 0x60, 0x73, 0xFB, 0xE7, 0xFC,
0xC3, 0x13, 0x0C, 0x2C, 0x30, 0x30, 0xC0, 0xC3, 0x0F, 0xFC, 0x1C, 0x30,
0x30, 0xC0, 0x03, 0x00, 0x0C, 0x00, 0x30, 0xFF, 0xF9, 0xFF, 0xF0, 0x82,
0x02, 0x08, 0x08, 0x20, 0x20, 0x80, 0x82, 0x0F, 0xF8, 0x18, 0x20, 0x20,
0x80, 0x02, 0x00, 0x08, 0x00, 0x30, 0xFF, 0xFB, 0xFF, 0xC1, 0x18, 0x08,
0xC0, 0xC6, 0x1E, 0x30, 0xC1, 0x82, 0x0C, 0x19, 0xE0, 0x7F, 0x00, 0x18,
0x00, 0xC0, 0x02, 0x00, 0xFF, 0xBF, 0xC1, 0x00, 0x80, 0x41, 0xE0, 0xF0,
0x30, 0x18, 0x06, 0x01, 0x80, 0x60, 0x30, 0xFF, 0xBF, 0xC1, 0x00, 0x80,
0x41, 0xE0, 0xF0, 0x30, 0x18, 0x06, 0x01, 0x82, 0x63, 0xB0, 0x80, 0xFF,
0xFE, 0xFF, 0xFC, 0x00, 0x60, 0x00, 0xC1, 0xEF, 0x87, 0x7B, 0x0C, 0x66,
0x19, 0x8C, 0x30, 0x18, 0x20, 0x30, 0x20, 0x60, 0x20, 0xC0, 0x20, 0x80,
0xFF, 0xFF, 0x7F, 0xFF, 0x00, 0x30, 0x00, 0x30, 0x1E, 0x78, 0x39, 0xE4,
0x30, 0xC4, 0x20, 0xC6, 0x21, 0x86, 0x21, 0x86, 0x13, 0x4C, 0x0E, 0x38,
0xFF, 0xFF, 0x7F, 0xFF, 0x00, 0x30, 0x00, 0x30, 0x1E, 0x78, 0x39, 0xE4,
0x30, 0xC4, 0x20, 0xC6, 0x21, 0x86, 0x21, 0x86, 0x13, 0x4C, 0x0E, 0x38,
0x00, 0x80, 0x01, 0xC0, 0x00, 0x80, 0xFF, 0xF9, 0xFF, 0xF0, 0x06, 0x00,
0x18, 0x1F, 0x60, 0xE7, 0x82, 0x06, 0x08, 0x38, 0x33, 0xE0, 0x7D, 0x80,
0x06, 0x00, 0x18, 0x00, 0x20, 0xFF, 0xFE, 0x7F, 0xFF, 0x18, 0x88, 0x18,
0xC8, 0x18, 0xC8, 0x04, 0x88, 0x03, 0x88, 0x3F, 0x08, 0x1E, 0x08, 0x06,
0x08, 0x02, 0x08, 0x01, 0x08, 0x00, 0x88, 0xFF, 0xFB, 0xFF, 0xCE, 0x18,
0x68, 0xC3, 0x26, 0x18, 0xB0, 0x43, 0x82, 0x1C, 0x09, 0xE0, 0x3F, 0x00,
0x18, 0x00, 0xC0, 0x02, 0x00, 0xFF, 0xFE, 0xFF, 0xFC, 0x10, 0x60, 0x20,
0xC0, 0x41, 0x87, 0x83, 0x0F, 0x8E, 0x0C, 0xFC, 0x18, 0x18, 0x18, 0x30,
0x10, 0x60, 0x10, 0xC0, 0x31, 0x80, 0xFF, 0xF7, 0xFF, 0x00, 0xC0, 0x0C,
0x1F, 0xC3, 0x00, 0x20, 0x03, 0x7C, 0x1E, 0x41, 0x86, 0x18, 0x61, 0x8C,
0x18, 0x80, 0xC0, 0x06, 0x00, 0x1C, 0xF0, 0x10, 0x30, 0x60, 0xCF, 0xCF,
0xC6, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x5D, 0x00,
0x3E, 0x7F, 0x60, 0x60, 0x30, 0x08, 0x06, 0x02, 0x83, 0x43, 0x67, 0x3E,
0xFC, 0xFC, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x80,
0x1F, 0x80, 0x63, 0x83, 0x01, 0x0C, 0x03, 0x10, 0x07, 0xF0, 0x07, 0xE0,
0x06, 0x00, 0x18, 0x00, 0x60, 0x01, 0x80, 0x06, 0x00, 0x18, 0x00, 0x60,
0x01, 0x80, 0x06, 0x00, 0x18, 0x00, 0x60, 0x00, 0xF8, 0x33, 0x08, 0x42,
0x08, 0x82, 0x07, 0xE0, 0xFC, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03,
0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x8F, 0x26, 0x48, 0x23, 0x30,
0xF0, 0xF0, 0x8C, 0x86, 0x93, 0x79, 0x31, 0xAC, 0x13, 0x3C, 0x21, 0xE2,
0x04, 0x4F, 0x8C, 0x19, 0x9F, 0xC2, 0x43, 0x66, 0x3C, 0x80, 0x30, 0x07,
0xF0, 0x06, 0x00, 0x40, 0x10, 0xF0, 0x48, 0x04, 0x04, 0x02, 0x01, 0x70,
0x48, 0x04, 0xF4, 0x4A, 0x06, 0x03, 0xC2, 0x43, 0x66, 0x3C, 0x00, 0x7E,
0x3F, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
0x80, 0x04, 0x00, 0x10, 0x00, 0xFE, 0x00, 0x18, 0x00, 0x20, 0x01, 0x00,
0x7E, 0x01, 0xF8, 0x03, 0x00, 0x18, 0x00, 0xC0, 0x06, 0x00, 0x30, 0x01,
0x80, 0x0C, 0x00, 0x60, 0x03, 0x00, 0x18, 0x00, 0xC0, 0xE0, 0x3C, 0x00,
0x80, 0x10, 0x04, 0x00, 0x81, 0xF8, 0x3F, 0x03, 0x00, 0xC0, 0x30, 0x0C,
0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0xF0, 0x26, 0x00,
0x83, 0xD0, 0xDC, 0x01, 0x80, 0x60, 0x7E, 0x0F, 0xC0, 0xC0, 0x30, 0x0C,
0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0xE1, 0x20,
0x20, 0x20, 0x20, 0xFF, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x40, 0x10, 0x04,
0x01, 0xC0, 0x38, 0x87, 0x3F, 0x40, 0x50, 0x4C, 0x0F, 0xC3, 0xF0, 0x30,
0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x01,
0x00, 0x00, 0x60, 0x00, 0x59, 0x00, 0x10, 0xC0, 0x02, 0x70, 0x3C, 0xF8,
0x1F, 0x88, 0x02, 0x20, 0x00, 0x0C, 0x00, 0x03, 0x07, 0x83, 0x83, 0x21,
0x93, 0x86, 0x07, 0xE3, 0xC1, 0x8D, 0xD0, 0x61, 0xE3, 0x30, 0x00, 0x7C,
0x00, 0xF8, 0xFE, 0x84, 0x21, 0x10, 0x08, 0x88, 0x88, 0x00, 0xC3, 0x66,
0x3E, 0x00, 0x7E, 0x01, 0x63, 0xCF, 0x80, 0x01, 0x63, 0xDF, 0x90, 0x26,
0x39, 0xF0, 0xFF, 0xFF, 0x3F, 0xFF, 0xC0, 0x30, 0x00, 0x18, 0x01, 0xED,
0xC1, 0xCF, 0x90, 0x83, 0x88, 0x43, 0x84, 0x33, 0xC6, 0x0F, 0x63, 0x00,
0x33, 0x80, 0x98, 0x80, 0xE4, 0x00, 0x20, 0x00, 0xFF, 0xFF, 0x9F, 0xFF,
0xF0, 0x40, 0x30, 0x10, 0x0C, 0x04, 0xFB, 0x03, 0x33, 0xC3, 0xC8, 0x30,
0xE2, 0x1C, 0x18, 0xDF, 0x03, 0x1E, 0xC0, 0x60, 0x30, 0x0C, 0x0C, 0x0B,
0x03, 0x07, 0x00, 0x00, 0x80, 0x00, 0xFF, 0xFB, 0xFF, 0xC3, 0x18, 0x18,
0xC0, 0xC6, 0x06, 0x30, 0xF1, 0x83, 0x8C, 0x0C, 0x60, 0x03, 0x00, 0x18,
0x04, 0xC0, 0x72, 0x01, 0x00, 0xFF, 0xFF, 0x7F, 0xFF, 0x00, 0x0C, 0x00,
0x0C, 0x63, 0xFC, 0x21, 0x8C, 0x20, 0xCC, 0x10, 0x4C, 0x18, 0x4C, 0x0C,
0xCC, 0x07, 0x8C, 0x00, 0x0C, 0x01, 0x04, 0x03, 0x80, 0x01, 0x00, 0xFF,
0xFB, 0xFF, 0xC0, 0x10, 0x00, 0x80, 0xFC, 0x0C, 0x00, 0x20, 0x05, 0xFC,
0x27, 0x20, 0x81, 0x86, 0x0C, 0x1F, 0xC0, 0x3C, 0x00, 0x00, 0x02, 0x00,
0x38, 0x00, 0x80, 0xFF, 0xF3, 0xFF, 0xC0, 0x30, 0x01, 0x81, 0xFC, 0x1C,
0x00, 0xC0, 0x06, 0x78, 0x33, 0x20, 0x91, 0x06, 0x88, 0x1F, 0xC0, 0x3C,
0x00, 0x00, 0x02, 0x00, 0x38, 0x00, 0x80, 0xFF, 0xFF, 0xBF, 0xFF, 0xCC,
0x30, 0x06, 0x18, 0x03, 0x0D, 0xC1, 0x87, 0x90, 0x43, 0x88, 0x33, 0x86,
0x0F, 0xC2, 0x00, 0x63, 0x00, 0x31, 0x80, 0x98, 0x40, 0xE4, 0x00, 0x20,
0x00, 0xFF, 0xFB, 0xFF, 0xC1, 0x18, 0x08, 0xC0, 0xC6, 0x1E, 0x30, 0xC1,
0x82, 0x0C, 0x19, 0xE0, 0x7F, 0x00, 0x18, 0x08, 0xC0, 0xE2, 0x02, 0x00,
0xFF, 0xFF, 0xCF, 0xFF, 0xFC, 0x01, 0x00, 0x0E, 0x23, 0x03, 0xB4, 0x70,
0x43, 0x8E, 0x00, 0x3F, 0x80, 0x1E, 0x08, 0x07, 0x43, 0x81, 0x89, 0xC0,
0x61, 0x20, 0x00, 0x24, 0x40, 0x04, 0x7C, 0xFF, 0xFE, 0x7F, 0xFE, 0x00,
0x20, 0x00, 0x20, 0x1E, 0xF0, 0x39, 0xC8, 0x31, 0x88, 0x33, 0x08, 0x30,
0x18, 0x10, 0x38, 0x08, 0x70, 0x0C, 0x60, 0x06, 0x2C, 0x00, 0x3E, 0x00,
0x10, 0x00, 0x11, 0x00, 0x0F, 0xFF, 0x33, 0x49, 0x9A, 0x44, 0x43, 0x19,
0x83, 0x2C, 0x0E, 0xFF, 0x19, 0xA2, 0x66, 0x48, 0x84, 0x30, 0xCC, 0x0D,
0xB0, 0x19, 0x01, 0x60, 0x38, 0xFF, 0xF8, 0x94, 0x63, 0x18, 0xC6, 0x31,
0x8C, 0x63, 0x18, 0x80, 0x3C, 0x39, 0xB0, 0x58, 0x38, 0x1E, 0x19, 0x9C,
0x7C, 0x79, 0xFB, 0x1E, 0x14, 0x67, 0xC0, 0x81, 0x02, 0x04, 0x08, 0x30,
0x20, 0x7C, 0xFE, 0x41, 0x01, 0x01, 0x03, 0x63, 0x7E, 0x7C, 0x18, 0x08,
0x04, 0x06, 0x02, 0x03, 0x78, 0xFC, 0x82, 0x02, 0x06, 0x7C, 0x22, 0x01,
0x01, 0x43, 0x63, 0x7C, 0x38, 0x0C, 0x06, 0x80, 0x58, 0x1D, 0x87, 0x19,
0xC0, 0xF0, 0x0C, 0x03, 0x80, 0xC8, 0x11, 0x02, 0x30, 0x7C, 0x07, 0x00,
0x81, 0x86, 0x0C, 0x18, 0x30, 0x53, 0x9F, 0x06, 0x8F, 0xB7, 0xC7, 0x03,
0x02, 0x06, 0x7C, 0x18, 0x8C, 0x01, 0x00, 0x66, 0x0F, 0x87, 0x01, 0x80,
0x43, 0x18, 0xE3, 0xF8, 0x7C, 0x00, 0x80, 0x30, 0x04, 0x80, 0x21, 0xE8,
0xCA, 0x31, 0x8C, 0x61, 0x34, 0x3D, 0x01, 0x60, 0x48, 0x31, 0xF8, 0x3C,
0xFF, 0xC3, 0x00, 0xC0, 0x18, 0x02, 0x00, 0x40, 0x08, 0x00, 0x9E, 0x0F,
0xA0, 0x04, 0x01, 0x80, 0x30, 0x7C, 0x0C, 0x43, 0x00, 0x20, 0x06, 0x60,
0x7C, 0x1C, 0x03, 0x00, 0x60, 0x0C, 0x00, 0xFF, 0x0F, 0xA0, 0x06, 0x01,
0xC0, 0x30, 0x7B, 0xBC, 0x61, 0x4D, 0xE0, 0x5D, 0x00, 0x00, 0xC2, 0x00,
0x43, 0x00, 0x66, 0x00, 0x3C, 0x00, 0x00, 0x3C, 0xFE, 0x7E, 0x7E, 0x42,
0x18, 0x03, 0x18, 0x07, 0x18, 0x3E, 0x18, 0x91, 0x18, 0x81, 0xF8, 0x41,
0x98, 0x23, 0x18, 0x1F, 0x18, 0x00, 0x18, 0x00, 0x08, 0x00, 0x10, 0x00,
0x30, 0x00, 0x60, 0x00, 0xC3, 0xCF, 0xEF, 0xCF, 0xC0, 0x86, 0x01, 0x8C,
0x06, 0x18, 0x7C, 0x32, 0x44, 0xE4, 0x0F, 0xC4, 0x19, 0x84, 0x63, 0x07,
0xC6, 0x00, 0x0C, 0x00, 0x08, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00,
0x30, 0x00, 0x01, 0x83, 0xCF, 0xFF, 0x3F, 0x3F, 0xFC, 0x08, 0x63, 0x00,
0x63, 0x18, 0x06, 0x18, 0xC1, 0xF0, 0xC6, 0x24, 0x4E, 0x31, 0x03, 0xF1,
0x84, 0x19, 0x8C, 0x11, 0x8C, 0x60, 0x7C, 0x63, 0x00, 0x03, 0x18, 0x00,
0x08, 0x40, 0x3C, 0xFE, 0xFC, 0xFD, 0x08, 0x60, 0x18, 0xC0, 0x71, 0x87,
0xC3, 0x24, 0x46, 0x40, 0xFC, 0x41, 0x98, 0x46, 0x30, 0x7C, 0x60, 0x00,
0xC0, 0x00, 0x80, 0x3C, 0xFE, 0xFC, 0xFD, 0x08, 0x60, 0x18, 0xC0, 0x71,
0x87, 0xC3, 0x24, 0x46, 0x40, 0xFC, 0x41, 0x98, 0x46, 0x30, 0x7C, 0x60,
0x00, 0xC0, 0x00, 0x80, 0x00, 0x00, 0x01, 0x01, 0x8F, 0x00, 0xF8, 0x3C,
0xFE, 0xFC, 0xFD, 0x08, 0x60, 0x18, 0xC0, 0x71, 0x87, 0xC3, 0x24, 0x46,
0x40, 0xFC, 0x41, 0x98, 0x46, 0x30, 0x7C, 0x60, 0x00, 0xC0, 0x00, 0x80,
0x00, 0x00, 0x01, 0x01, 0x8F, 0x01, 0xF8, 0x04, 0x08, 0x06, 0x38, 0x07,
0xC0, 0xFF, 0xE7, 0xFF, 0x18, 0x01, 0x80, 0x18, 0x03, 0xF8, 0x38, 0xC1,
0x84, 0x08, 0x40, 0x04, 0x00, 0xC0, 0x18, 0x03, 0x00, 0xFF, 0xFF, 0x7F,
0xFF, 0x00, 0x0C, 0x00, 0x0C, 0x63, 0xFC, 0x21, 0x8C, 0x20, 0xCC, 0x10,
0x4C, 0x18, 0x4C, 0x0C, 0xCC, 0x07, 0x8C, 0x00, 0x0C, 0x0C, 0xC4, 0x0C,
0xC0, 0x03, 0x00, 0x03, 0x00, 0xFF, 0xFB, 0xFF, 0xC1, 0x18, 0x0C, 0xC0,
0xE6, 0x1E, 0xB0, 0xC7, 0x82, 0x1C, 0x19, 0xE0, 0x7F, 0x00, 0x18, 0x00,
0xC0, 0x02, 0x00, 0xFF, 0xFB, 0xFF, 0xC3, 0x18, 0x18, 0xC0, 0xC6, 0x1E,
0x30, 0xF1, 0x83, 0x8C, 0x0C, 0x60, 0x03, 0x00, 0x18, 0x3F, 0xC1, 0xFE,
0x00, 0xFF, 0xFF, 0x7F, 0xFF, 0x00, 0x0C, 0x00, 0x0C, 0x43, 0xFC, 0x21,
0x8C, 0x10, 0xCC, 0x10, 0x4C, 0x0C, 0xCC, 0x07, 0xCC, 0x00, 0x0C, 0x1F,
0xFC, 0x1F, 0xFC, 0x79, 0xF9, 0x18, 0x30, 0x63, 0x86, 0x18, 0x30, 0x60,
0xC1, 0x81, 0x00, 0xFF, 0xFB, 0xFF, 0xC0, 0x10, 0x1F, 0x81, 0x82, 0x0C,
0x00, 0x20, 0x05, 0xFC, 0x27, 0x20, 0x81, 0x86, 0x0C, 0x1F, 0xC0, 0x3C,
0x0F, 0xF8, 0xFF, 0xF9, 0xFF, 0xF0, 0x02, 0x07, 0xC8, 0x38, 0xA0, 0xD1,
0x82, 0x46, 0x08, 0xB8, 0x11, 0xE0, 0x3E, 0x80, 0x02, 0x07, 0xF8, 0x1F,
0xE0
};
const GFXglyph devhindi10pt8bGlyphs[] PROGMEM = {
{ 0, 8, 5, 0, -10, -18 }, // 0x900 'рдА'
{ 5, 8, 5, 0, -10, -18 }, // 0x901 'рдБ'
{ 10, 3, 3, -3, -7, -16 }, // 0x902 'рдВ'
{ 12, 3, 9, 3, 0, -9 }, // 0x903 'рдГ'
{ 16, 15, 20, 16, 1, -19 }, // 0x904 'рдД'
{ 54, 15, 13, 16, 1, -12 }, // 0x905 'рдЕ'
{ 79, 21, 13, 21, 0, -12 }, // 0x906 'рдЖ'
{ 114, 12, 16, 12, 0, -12 }, // 0x907 'рдЗ'
{ 138, 12, 22, 12, 0, -18 }, // 0x908 'рдИ'
{ 171, 13, 13, 13, 0, -12 }, // 0x909 'рдЙ'
{ 193, 17, 13, 17, 0, -12 }, // 0x90A 'рдК'
{ 221, 18, 13, 18, 0, -12 }, // 0x90B 'рдЛ'
{ 251, 16, 15, 16, 0, -12 }, // 0x90C 'рдМ'
{ 281, 13, 21, 13, 0, -17 }, // 0x90D 'рдН'
{ 316, 13, 23, 13, 0, -18 }, // 0x90E 'рдО'
{ 354, 13, 16, 13, 0, -12 }, // 0x90F 'рдП'
{ 380, 13, 22, 13, 0, -18 }, // 0x910 'рдР'
{ 416, 21, 18, 21, 0, -17 }, // 0x911 'рдС'
{ 464, 20, 20, 21, 1, -19 }, // 0x912 'рдТ'
{ 514, 20, 19, 21, 1, -18 }, // 0x913 'рдУ'
{ 562, 20, 20, 21, 1, -19 }, // 0x914 'рдФ'
{ 612, 17, 13, 15, -1, -12 }, // 0x915 'рдХ'
{ 640, 18, 13, 16, -1, -12 }, // 0x916 'рдЦ'
{ 670, 13, 13, 12, -1, -12 }, // 0x917 'рдЧ'
{ 692, 14, 13, 12, -1, -12 }, // 0x918 'рдШ'
{ 715, 15, 13, 13, -1, -12 }, // 0x919 'рдЩ'
{ 740, 15, 13, 14, -1, -12 }, // 0x91A 'рдЪ'
{ 765, 17, 13, 15, -1, -12 }, // 0x91B 'рдЫ'
{ 793, 16, 13, 15, -1, -12 }, // 0x91C 'рдЬ'
{ 819, 17, 16, 15, -1, -12 }, // 0x91D 'рдЭ'
{ 853, 17, 13, 16, -1, -12 }, // 0x91E 'рдЮ'
{ 881, 12, 12, 11, -1, -12 }, // 0x91F 'рдЯ'
{ 899, 13, 12, 12, -1, -12 }, // 0x920 'рда'
{ 919, 13, 13, 12, -1, -12 }, // 0x921 'рдб'
{ 941, 13, 13, 11, -1, -12 }, // 0x922 'рдв'
{ 963, 16, 13, 14, -1, -12 }, // 0x923 'рдг'
{ 989, 13, 13, 11, -1, -12 }, // 0x924 'рдд'
{ 1011, 13, 13, 13, 1, -12 }, // 0x925 'рде'
{ 1033, 12, 15, 11, -1, -12 }, // 0x926 'рдж'
{ 1056, 13, 13, 13, 1, -12 }, // 0x927 'рдз'
{ 1078, 13, 13, 11, -1, -12 }, // 0x928 'рди'
{ 1100, 13, 14, 11, -1, -12 }, // 0x929 'рдй'
{ 1123, 13, 13, 11, -1, -12 }, // 0x92A 'рдк'
{ 1145, 17, 13, 15, -1, -12 }, // 0x92B 'рдл'
{ 1173, 14, 13, 12, -1, -12 }, // 0x92C 'рдм'
{ 1196, 14, 13, 14, 1, -12 }, // 0x92D 'рдн'
{ 1219, 14, 13, 12, -1, -12 }, // 0x92E 'рдо'
{ 1242, 13, 13, 12, -1, -12 }, // 0x92F 'рдп'
{ 1264, 9, 13, 8, -1, -12 }, // 0x930 'рд░'
{ 1279, 9, 14, 8, -1, -12 }, // 0x931 'рд▒'
{ 1295, 15, 13, 14, -1, -12 }, // 0x932 'рд▓'
{ 1320, 16, 12, 15, -1, -12 }, // 0x933 'рд│'
{ 1344, 16, 15, 15, -1, -12 }, // 0x934 'рд┤'
{ 1374, 14, 13, 12, -1, -12 }, // 0x935 'рд╡'
{ 1397, 16, 13, 14, -1, -12 }, // 0x936 'рд╢'
{ 1423, 13, 13, 11, -1, -12 }, // 0x937 'рд╖'
{ 1445, 15, 13, 14, -1, -12 }, // 0x938 'рд╕'
{ 1470, 12, 16, 11, -1, -12 }, // 0x939 'рд╣'
{ 1494, 1, 4, 0, -2, -15 }, // 0x93A 'рд║'
{ 1495, 7, 17, 7, 0, -16 }, // 0x93B 'рд╗'
{ 1510, 3, 3, 0, -7, 2 }, // 0x93C 'рд╝'
{ 1512, 8, 12, 10, 1, -12 }, // 0x93D 'рд╜'
{ 1524, 7, 13, 5, -1, -12 }, // 0x93E 'рд╛'
{ 1536, 14, 18, 0, -16, -17 }, // 0x93F 'рд┐'
{ 1568, 10, 18, 7, -3, -17 }, // 0x940 'реА'
{ 1591, 9, 5, 0, -11, 2 }, // 0x941 'реБ'
{ 1597, 8, 5, 0, -10, 2 }, // 0x942 'реВ'
{ 1602, 6, 5, 0, -8, 1 }, // 0x943 'реГ'
{ 1606, 7, 8, 0, -9, 1 }, // 0x944 'реД'
{ 1613, 8, 4, 0, -10, -17 }, // 0x945 'реЕ'
{ 1617, 10, 6, 0, -12, -18 }, // 0x946 'реЖ'
{ 1625, 8, 6, 0, -10, -18 }, // 0x947 'реЗ'
{ 1631, 8, 7, 0, -10, -19 }, // 0x948 'реИ'
{ 1638, 8, 18, 8, 0, -17 }, // 0x949 'реЙ'
{ 1656, 13, 20, 7, -6, -19 }, // 0x94A 'реК'
{ 1689, 10, 19, 7, -3, -18 }, // 0x94B 'реЛ'
{ 1713, 10, 20, 7, -3, -19 }, // 0x94C 'реМ'
{ 1738, 7, 5, 0, -8, 2 }, // 0x94D 'реН'
{ 1743, 4, 13, 6, 2, -12 }, // 0x94E 'реО'
{ 1750, 10, 21, 10, 0, -20 }, // 0x94F 'реП'
{ 1777, 18, 16, 20, 1, -16 }, // 0x950 'реР'
{ 1813, 1, 5, -2, -4, -17 }, // 0x951 'реС'
{ 1814, 7, 1, 1, -7, 2 }, // 0x952 'реТ'
{ 1815, 4, 5, 0, -6, -17 }, // 0x953 'реУ'
{ 1818, 5, 5, 0, -7, -17 }, // 0x954 'реФ'
{ 1822, 8, 5, 0, -10, -18 }, // 0x955 'реХ'
{ 1827, 9, 3, 0, -11, 2 }, // 0x956 'реЦ'
{ 1831, 9, 6, 0, -11, 2 }, // 0x957 'реЧ'
{ 1838, 17, 14, 17, 0, -12 }, // 0x958 'реШ'
{ 1868, 18, 15, 18, 0, -12 }, // 0x959 'реЩ'
{ 1902, 13, 14, 12, -1, -12 }, // 0x95A 'реЪ'
{ 1925, 16, 15, 15, -1, -12 }, // 0x95B 'реЫ'
{ 1955, 13, 17, 12, -1, -12 }, // 0x95C 'реЬ'
{ 1983, 13, 17, 11, -1, -12 }, // 0x95D 'реЭ'
{ 2011, 17, 14, 15, -1, -12 }, // 0x95E 'реЮ'
{ 2041, 13, 14, 12, -1, -12 }, // 0x95F 'реЯ'
{ 2064, 19, 13, 17, -1, -12 }, // 0x960 'реа'
{ 2095, 16, 17, 14, -1, -12 }, // 0x961 'реб'
{ 2129, 10, 8, 0, -11, 2 }, // 0x962 'рев'
{ 2139, 11, 10, 0, -12, 2 }, // 0x963 'рег'
{ 2153, 1, 13, 5, 2, -12 }, // 0x964 'ред'
{ 2155, 5, 13, 9, 2, -12 }, // 0x965 'рее'
{ 2164, 9, 8, 11, 1, -9 }, // 0x966 'реж'
{ 2173, 7, 13, 10, 1, -12 }, // 0x967 'рез'
{ 2185, 8, 15, 11, 1, -12 }, // 0x968 'реи'
{ 2200, 8, 15, 11, 1, -12 }, // 0x969 'рей'
{ 2215, 11, 12, 11, 0, -11 }, // 0x96A 'рек'
{ 2232, 7, 16, 11, 2, -12 }, // 0x96B 'рел'
{ 2246, 10, 15, 11, 1, -11 }, // 0x96C 'рем'
{ 2265, 10, 12, 13, 1, -11 }, // 0x96D 'рен'
{ 2280, 11, 12, 11, 0, -9 }, // 0x96E 'рео'
{ 2297, 11, 15, 11, 1, -11 }, // 0x96F 'реп'
{ 2318, 6, 6, 8, 1, -8 }, // 0x970 'ре░'
{ 2323, 3, 3, 5, 1, -12 }, // 0x971 'ре▒'
{ 2325, 16, 18, 16, 1, -17 }, // 0x972 'ре▓'
{ 2361, 15, 17, 16, 1, -16 }, // 0x973 'ре│'
{ 2393, 21, 17, 21, 1, -16 }, // 0x974 'ре┤'
{ 2438, 15, 13, 21, 1, -12 }, // 0x975 'ре╡'
{ 2463, 15, 17, 16, 1, -12 }, // 0x976 'ре╢'
{ 2495, 15, 20, 16, 1, -12 }, // 0x977 'ре╖'
{ 2533, 12, 13, 10, -1, -12 }, // 0x978 'ре╕'
{ 2553, 16, 16, 15, -1, -12 }, // 0x979 'ре╣'
{ 2585, 13, 13, 12, -1, -12 }, // 0x97A 'ре║'
{ 2607, 13, 13, 12, -1, -12 }, // 0x97B 'ре╗'
{ 2629, 16, 13, 15, -1, -12 }, // 0x97C 'ре╝'
{ 2655, 7, 13, 8, 1, -12 }, // 0x97D 'ре╜'
{ 2667, 13, 14, 12, -1, -12 }, // 0x97E 'ре╛'
{ 2690, 14, 13, 12, -1, -12 } // 0x97F 'ре┐'
};
const GFXfont devhindi10pt8b PROGMEM = {
(uint8_t *)devhindi10pt8bBitmaps,
(GFXglyph *)devhindi10pt8bGlyphs, 0x900, 0x97F, 27 };
// Approx. 3616 bytes
edited with Adafruit-GFX-Font-Customizer (link in post#13)
these error is i think that it is taking those as seperate characters , but how u resolved it?
what things we have to edit ?
I have edited xAdvance
and xOffset
parameters for all glyphs, printed above and below normal characters.
See the example:
In your font before edit:
xAdvance was 8 and xOffset = 0
After edit
xAdvance=0 (so this symbol will be printed without shifting next char right) and xOffset = -10 (symbol will be print 10px left from starting position)
yes actually the original font was like that but its edited by me only , i have not understood at that time. now i got тАж
now i will try with stm32 and then comeback to you. My only concern is i need wifi support for this?