same like this i have other languages also different types of indian languages like telugu , kannada , tamil malayalam etc…
Sorry, I don’t understand your question
if you face with troubles, feel free to open issue in the library github
i want to use mqtt for sending messages to display , but stm32 doesnot has wifi support so any other option for wifi with stm32 ?
No, stm32 doesn’t have a inboard wifi…
then can u a suggest any other wifi module which can be interfaced with stm32
Sorry, it is beyond my knowledge
But I think any ESP8266 or ESP32 module can be interfaced with stm32
For example, this type of STM32F103 board
has special pin header for ESP01 esp8266 WiFi module:
can u please send purchase link of stm32 board.
what exactly happens here ?
Recoding UTF8 Hindi chars to upper half of ASCII table, because AdafruitGFX can works with ASCII only
how it converts here ? what are those specific values eo, a4 …
Please see this table:
https://www.utf8-chartable.de/unicode-utf8-table.pl?start=2304&number=128&utf8=string-literal&unicodeinhtml=hex
Look at the third (from left) column (UTF-8 in literal) .
I found that it is a codepage that Arduino used for Devanagari.
hi @b707
i have used same conversion code as u mentioned but its not displaying for me
can u please correct the code here
#include <WiFi.h>
#include <PubSubClient.h>
#include <Adafruit_GFX.h>
#include <AsyncTCP.h>
#include <ESPAsyncWebSrv.h>
#include <AsyncElegantOTA.h>
AsyncWebServer server(80);
const char* ssid = "CFRnD";
const char* password = "HMPL@admin99";
WiFiClient client;
PubSubClient mqttClient(client);
#define PANEL_RES_X 32 // Number of pixels wide of each INDIVIDUAL panel module.
#define PANEL_RES_Y 16 // Number of pixels tall of each INDIVIDUAL panel module.
#define NUM_ROWS 2 // Number of rows of chained INDIVIDUAL PANELS
#define NUM_COLS 8 // Number of INDIVIDUAL PANELS per ROW
#define PANEL_CHAIN NUM_ROWS*NUM_COLS // total number of panels chained one to another
#define Matrix_width NUM_COLS*PANEL_RES_X
#define SERPENT true
#define TOPDOWN true
uint8_t R;
uint8_t G;
uint8_t B;
String s;
#include <ESP32-VirtualMatrixPanel-I2S-DMA.h>
#include <Fonts/FreeMonoBold9pt7b.h>
#include <Fonts/FreeSerif12pt7b.h>
#include <Fonts/FreeSerif9pt7b.h>
#include <C:\Users\dell\Documents\Arduino\libraries\ESP32-HUB75-MatrixPanel-DMA-master\Fonts\telugunoto.h>
#include <C:\Users\dell\Documents\Arduino\libraries\ESP32-HUB75-MatrixPanel-DMA-master\Fonts\TiroDevanagariHindi_Regular10pt8b.h>
#include <C:\Users\dell\Documents\Arduino\libraries\ESP32-HUB75-MatrixPanel-DMA-master\Fonts\dilip.h>
//#include <SystemFont5x7.h>
MatrixPanel_I2S_DMA *dma_display = nullptr;
VirtualMatrixPanel *virtualDisp = nullptr;
void setup_wifi()
{
WiFi.mode(WIFI_STA);
delay(10);
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
randomSeed(micros());
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
// esp_macaddress = WiFi.macAddress();
Serial.println("MAC address: ");
Serial.println(WiFi.macAddress());
}
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;
}
void setup() //Setup!
{
Serial.begin(115200);
Serial.println("In setup");
setup_wifi();
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request) {
request->send(200, "text/plain", "Hi! This is a sample response.");
});
AsyncElegantOTA.begin(&server); // Start AsyncElegantOTA
server.begin();
Serial.println("HTTP server started");
HUB75_I2S_CFG mxconfig
(
PANEL_RES_X, // module width
PANEL_RES_Y, // module height
PANEL_CHAIN // chain length
);
if (NUM_ROWS <= 1)
{
Serial.println(F("There is no reason to use the VirtualDisplay class for a single horizontal chain and row!"));
}
dma_display = new MatrixPanel_I2S_DMA(mxconfig);
dma_display->setBrightness8(192); // range is 0-255, 0 - 0%, 255 - 100%
if( not dma_display->begin() )
Serial.println("****** I2S memory allocation failed ***********");
virtualDisp = new VirtualMatrixPanel((*dma_display), NUM_ROWS, NUM_COLS, PANEL_RES_X, PANEL_RES_Y, SERPENT, TOPDOWN);
virtualDisp->fillScreen(virtualDisp->color444(0, 0, 0));
delay(2000);
}
void loop()
{
AsyncElegantOTA.loop();
if ((WiFi.status() != WL_CONNECTED))
{
setup_wifi();
}
// transcode message to UTF for use with GFX fonts
char h[] = "नमस्ते";
char m[30];
utf8_hindi(m, (const unsigned char*)h);
for(int i=0;i<strlen(m);i++)
{
s += m[i];
}
virtualDisp->clearScreen();
virtualDisp->setFont(&TiroDevanagariHindi_Regular10pt8b);
virtualDisp->setTextColor(virtualDisp->color565(255,0,0));
virtualDisp->setCursor(6, virtualDisp->height()-10);
virtualDisp->setTextSize(1);
virtualDisp->print(s);
}
Please show last section of the font file, where the main font structure is defined
// Font structures for newer Adafruit_GFX (1.1 and later).
// Example fonts are included in 'Fonts' directory.
// To use a font in your Arduino sketch, #include the corresponding .h
// file and pass address of GFXfont struct to setFont(). Pass NULL to
// revert to 'classic' fixed-space bitmap font.
#ifndef _GFXFONT_H_
#define _GFXFONT_H_
/// Font data stored PER GLYPH
typedef struct {
uint16_t bitmapOffset; ///< Pointer into GFXfont->bitmap
uint8_t width; ///< Bitmap dimensions in pixels
uint8_t height; ///< Bitmap dimensions in pixels
uint8_t xAdvance; ///< Distance to advance cursor (x axis)
int8_t xOffset; ///< X dist from cursor pos to UL corner
int8_t yOffset; ///< Y dist from cursor pos to UL corner
} GFXglyph;
/// Data stored for FONT AS A WHOLE
typedef struct {
uint8_t *bitmap; ///< Glyph bitmaps, concatenated
GFXglyph *glyph; ///< Glyph array
uint16_t first; ///< ASCII extents (first char)
uint16_t last; ///< ASCII extents (last char)
uint8_t yAdvance; ///< Newline distance (y axis)
} GFXfont;
#endif // _GFXFONT_H_
No, that you showed structure typedef definition. But I asked you to show the last structure of your real font TiroDevanagariHindi_Regular10pt8b
, like this:
const GFXfont TiroDevanagariHindi_Regular10pt8b PROGMEM = {
(uint8_t *)TiroDevanagariHindi_Regular10pt8bBitmaps,
(GFXglyph *)TiroDevanagariHindi_Regular10pt8bGlyphs, 0x900, 0x97F, 27 };
// Approx. 3616 bytes
const uint8_t TiroDevanagariHindi_Regular10pt8bBitmaps[] 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 TiroDevanagariHindi_Regular10pt8bGlyphs[] PROGMEM = {
{ 0, 8, 5, 0, -7, -18 }, // 0x900 'ऀ'
{ 5, 8, 5, 0, -7, -18 }, // 0x901 'ँ'
{ 10, 3, 3, 0, -4, -16 }, // 0x902 'ं'
{ 12, 3, 9, 0, 1, -9 }, // 0x903 'ः'
{ 16, 15, 20, 16, 1, -19 }, // 0x904 'ऄ'
{ 54, 15, 13, 16, 1, -12 }, // 0x905 'अ'
{ 79, 21, 13, 21, 1, -12 }, // 0x906 'आ'
{ 114, 12, 16, 11, -1, -12 }, // 0x907 'इ'
{ 138, 12, 22, 11, -1, -18 }, // 0x908 'ई'
{ 171, 13, 13, 11, -1, -12 }, // 0x909 'उ'
{ 193, 17, 13, 15, -1, -12 }, // 0x90A 'ऊ'
{ 221, 18, 13, 16, -1, -12 }, // 0x90B 'ऋ'
{ 251, 16, 15, 14, -1, -12 }, // 0x90C 'ऌ'
{ 281, 13, 21, 11, -1, -17 }, // 0x90D 'ऍ'
{ 316, 13, 23, 11, -1, -18 }, // 0x90E 'ऎ'
{ 354, 13, 16, 11, -1, -12 }, // 0x90F 'ए'
{ 380, 13, 22, 11, -1, -18 }, // 0x910 'ऐ'
{ 416, 21, 18, 21, 1, -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, -3, -15 }, // 0x93A 'ऺ'
{ 1495, 7, 17, 5, -1, -16 }, // 0x93B 'ऻ'
{ 1510, 3, 3, 0, -4, 2 }, // 0x93C '़'
{ 1512, 8, 12, 10, 1, -12 }, // 0x93D 'ऽ'
{ 1524, 7, 13, 5, -1, -12 }, // 0x93E 'ा'
{ 1536, 14, 18, 5, -1, -17 }, // 0x93F 'ि'
{ 1568, 10, 18, 5, -4, -17 }, // 0x940 'ी'
{ 1591, 9, 5, 0, -9, 2 }, // 0x941 'ु'
{ 1597, 8, 5, 0, -5, 2 }, // 0x942 'ू'
{ 1602, 6, 5, 0, -6, 1 }, // 0x943 'ृ'
{ 1606, 7, 8, 0, -5, 1 }, // 0x944 'ॄ'
{ 1613, 8, 4, 0, -7, -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, 5, -2, -17 }, // 0x949 'ॉ'
{ 1656, 13, 20, 5, -7, -19 }, // 0x94A 'ॊ'
{ 1689, 10, 19, 5, -4, -18 }, // 0x94B 'ो'
{ 1713, 10, 20, 5, -4, -19 }, // 0x94C 'ौ'
{ 1738, 7, 5, 0, -4, 2 }, // 0x94D '्'
{ 1743, 4, 13, 6, 2, -12 }, // 0x94E 'ॎ'
{ 1750, 10, 21, 5, -4, -20 }, // 0x94F 'ॏ'
{ 1777, 18, 16, 20, 1, -16 }, // 0x950 'ॐ'
{ 1813, 1, 5, 0, -3, -17 }, // 0x951 '॑'
{ 1814, 7, 1, 0, -8, 2 }, // 0x952 '॒'
{ 1815, 4, 5, 0, -5, -17 }, // 0x953 '॓'
{ 1818, 5, 5, 0, -5, -17 }, // 0x954 '॔'
{ 1822, 8, 5, 0, -7, -18 }, // 0x955 'ॕ'
{ 1827, 9, 3, 0, -9, 2 }, // 0x956 'ॖ'
{ 1831, 9, 6, 0, -9, 2 }, // 0x957 'ॗ'
{ 1838, 17, 14, 15, -1, -12 }, // 0x958 'क़'
{ 1868, 18, 15, 16, -1, -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, -9, 2 }, // 0x962 'ॢ'
{ 2139, 11, 10, 0, -9, 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 TiroDevanagariHindi_Regular10pt8b PROGMEM = {
(uint8_t *)TiroDevanagariHindi_Regular10pt8bBitmaps,
(GFXglyph *)TiroDevanagariHindi_Regular10pt8bGlyphs, 0x900, 0x97F, 27 };
// Approx. 3616 bytes
try to edit this as:
const GFXfont TiroDevanagariHindi_Regular10pt8b PROGMEM = {
(uint8_t *)TiroDevanagariHindi_Regular10pt8bBitmaps,
(GFXglyph *)TiroDevanagariHindi_Regular10pt8bGlyphs, 0x80, 0xFF, 27 };
yes its coming
can u say whats the reason to change as 0X80 0xFF ?
to move non-latin chars to upper half of standard ASCII table, so the hindi will not interfere with latin