Cyrillic support (Sample)

From SEGGER Wiki
Revision as of 14:55, 29 July 2021 by Florian (talk | contribs) (Created page with "{| class="wikitable" style="float:right; margin-left: 10px; background-color: #f9f9f9;" ! colspan="2" style="font-weight:bold; font-size:17px; font-family:Arial, Helvetica, sa...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
GUI_LANG_Cyrillic.c
Cyrillic string
File(s) required
  • GUI_LANG_Cyrillic.c
Runs in simulation Yes
Runs on target Yes
Download GUI_LANG_Cyrillic.c

This emWin sample shows how cyrillic letters can be displayed.

Code

/*********************************************************************
*                    SEGGER Microcontroller GmbH                     *
*        Solutions for real time microcontroller applications        *
**********************************************************************
*                                                                    *
*        (c) 1996 - 2020  SEGGER Microcontroller GmbH                *
*                                                                    *
*        Internet: www.segger.com    Support:  support@segger.com    *
*                                                                    *
**********************************************************************

** emWin V6.10 - Graphical user interface for embedded applications **
emWin is protected by international copyright laws.   Knowledge of the
source code may not be used to write a similar product.  This file may
only  be used  in accordance  with  a license  and should  not be  re-
distributed in any way. We appreciate your understanding and fairness.
----------------------------------------------------------------------
File        : GUI_LANG_Cyrillic.c
Purpose     : Sample that demonstrates how cyrillic strings can be
              displayed with emWin.
Requirements: WindowManager - ( )
              MemoryDevices - ( )
              AntiAliasing  - ( )
              VNC-Server    - ( )
              PNG-Library   - ( )
              TrueTypeFonts - ( )
---------------------------END-OF-HEADER------------------------------
*/

#include "GUI.h"

/*********************************************************************
*
*       Defines
*
**********************************************************************
*/
#define STR_RUSSIAN "\xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82\x21\x20\xd0\x9a\xd0\xb0\xd0\xba\x20\xd1" \
                    "\x83\x20\xd1\x82\xd0\xb5\xd0\xb1\xd1\x8f\x20\xd1\x81\xd0\xb5\xd0\xb3\xd0\xbe\xd0\xb4\xd0" \
                    "\xbd\xd1\x8f\x20\xd0\xb4\xd0\xb5\xd0\xbb\xd0\xb0\x3f\x20"

/*********************************************************************
*
*       Static data
*
**********************************************************************
*/


/* Start of unicode area <Basic Latin> */
static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_0020[  1] = { /* code 0020, SPACE */
  0x00
};

static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_0021[ 28] = { /* code 0021, EXCLAMATION MARK */
  0x6F, 0x70,
  0x6F, 0x70,
  0x6F, 0x70,
  0x6F, 0x70,
  0x4F, 0x70,
  0x4F, 0x70,
  0x4F, 0x70,
  0x4F, 0x60,
  0x4F, 0x60,
  0x4F, 0x60,
  0x00, 0x00,
  0x00, 0x00,
  0x4F, 0x80,
  0x4F, 0x80
};

static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_003F[ 70] = { /* code 003F, QUESTION MARK */
  0x00, 0x7D, 0xFE, 0xB3, 0x00,
  0x09, 0xFF, 0xFF, 0xFE, 0x20,
  0x2F, 0xE4, 0x01, 0xAF, 0x80,
  0x27, 0x40, 0x00, 0x3F, 0x90,
  0x00, 0x00, 0x00, 0x4F, 0x80,
  0x00, 0x00, 0x01, 0xDF, 0x20,
  0x00, 0x00, 0x1D, 0xF6, 0x00,
  0x00, 0x00, 0xCF, 0x50, 0x00,
  0x00, 0x05, 0xF9, 0x00, 0x00,
  0x00, 0x07, 0xF5, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x06, 0xF5, 0x00, 0x00,
  0x00, 0x06, 0xF5, 0x00, 0x00
};

/* Start of unicode area <Cyrillic> */
static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_041A[ 84] = { /* code 041A, CYRILLIC CAPITAL LETTER KA */
  0x4F, 0x90, 0x00, 0x00, 0x6F, 0xE1,
  0x4F, 0x90, 0x00, 0x03, 0xFF, 0x30,
  0x4F, 0x90, 0x00, 0x2E, 0xF6, 0x00,
  0x4F, 0x90, 0x01, 0xCF, 0x90, 0x00,
  0x4F, 0x90, 0x0A, 0xFC, 0x00, 0x00,
  0x4F, 0x90, 0x7F, 0xE1, 0x00, 0x00,
  0x4F, 0xFF, 0xFF, 0x30, 0x00, 0x00,
  0x4F, 0xFF, 0xFF, 0x80, 0x00, 0x00,
  0x4F, 0x90, 0x4F, 0xF5, 0x00, 0x00,
  0x4F, 0x90, 0x06, 0xFE, 0x30, 0x00,
  0x4F, 0x90, 0x00, 0x8F, 0xD1, 0x00,
  0x4F, 0x90, 0x00, 0x0A, 0xFB, 0x00,
  0x4F, 0x90, 0x00, 0x00, 0xBF, 0x90,
  0x4F, 0x90, 0x00, 0x00, 0x1D, 0xF6
};

static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_041F[ 84] = { /* code 041F, CYRILLIC CAPITAL LETTER PE */
  0x4F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7,
  0x4F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7,
  0x4F, 0x90, 0x00, 0x00, 0x06, 0xF7,
  0x4F, 0x90, 0x00, 0x00, 0x06, 0xF7,
  0x4F, 0x90, 0x00, 0x00, 0x06, 0xF7,
  0x4F, 0x90, 0x00, 0x00, 0x06, 0xF7,
  0x4F, 0x90, 0x00, 0x00, 0x06, 0xF7,
  0x4F, 0x90, 0x00, 0x00, 0x06, 0xF7,
  0x4F, 0x90, 0x00, 0x00, 0x06, 0xF7,
  0x4F, 0x90, 0x00, 0x00, 0x06, 0xF7,
  0x4F, 0x90, 0x00, 0x00, 0x06, 0xF7,
  0x4F, 0x90, 0x00, 0x00, 0x06, 0xF7,
  0x4F, 0x90, 0x00, 0x00, 0x06, 0xF7,
  0x4F, 0x90, 0x00, 0x00, 0x06, 0xF7
};

static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_0430[ 55] = { /* code 0430, CYRILLIC SMALL LETTER A */
  0x02, 0x9E, 0xFE, 0x91, 0x00,
  0x2E, 0xFF, 0xFF, 0xFD, 0x00,
  0x8D, 0x71, 0x02, 0xBF, 0x50,
  0x00, 0x00, 0x00, 0x6F, 0x70,
  0x02, 0x9D, 0xFF, 0xFF, 0x70,
  0x3E, 0xFF, 0xFF, 0xFF, 0x70,
  0xAF, 0x93, 0x00, 0x6F, 0x70,
  0xDF, 0x00, 0x00, 0x6F, 0x70,
  0xCF, 0x60, 0x15, 0xEF, 0x70,
  0x5F, 0xFF, 0xFF, 0xEF, 0x80,
  0x05, 0xCF, 0xE8, 0x3F, 0xB0
};

static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_0431[ 90] = { /* code 0431, CYRILLIC SMALL LETTER BE */
  0x00, 0x00, 0x00, 0x01, 0xE9, 0x00,
  0x00, 0x00, 0x27, 0xAE, 0xF4, 0x00,
  0x00, 0x09, 0xFF, 0xEA, 0x40, 0x00,
  0x00, 0x9F, 0x93, 0x00, 0x00, 0x00,
  0x03, 0xF5, 0x00, 0x00, 0x00, 0x00,
  0x09, 0xC4, 0xBF, 0xFB, 0x40, 0x00,
  0x0D, 0xDF, 0xFF, 0xFF, 0xF4, 0x00,
  0x0F, 0xFB, 0x30, 0x18, 0xFE, 0x00,
  0x1F, 0xE1, 0x00, 0x00, 0xBF, 0x30,
  0x2F, 0xB0, 0x00, 0x00, 0x7F, 0x60,
  0x1F, 0xC0, 0x00, 0x00, 0x8F, 0x50,
  0x0D, 0xF2, 0x00, 0x00, 0xCF, 0x30,
  0x08, 0xFC, 0x30, 0x29, 0xFC, 0x00,
  0x01, 0xCF, 0xFF, 0xFF, 0xE3, 0x00,
  0x00, 0x18, 0xDF, 0xEA, 0x20, 0x00
};

static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_0432[ 55] = { /* code 0432, CYRILLIC SMALL LETTER VE */
  0x9F, 0xFF, 0xFE, 0xC6, 0x00,
  0x9F, 0xFF, 0xFF, 0xFF, 0x70,
  0x9F, 0x20, 0x01, 0x5F, 0xB0,
  0x9F, 0x20, 0x01, 0x5F, 0xA0,
  0x9F, 0xFF, 0xFF, 0xFB, 0x10,
  0x9F, 0xFF, 0xFF, 0xFE, 0x40,
  0x9F, 0x20, 0x00, 0x4E, 0xE0,
  0x9F, 0x20, 0x00, 0x0A, 0xF3,
  0x9F, 0x20, 0x00, 0x4E, 0xF1,
  0x9F, 0xFF, 0xFF, 0xFF, 0xB0,
  0x9F, 0xFF, 0xFF, 0xD8, 0x10
};

static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_0433[ 44] = { /* code 0433, CYRILLIC SMALL LETTER GHE */
  0x7F, 0xFF, 0xFF, 0xF4,
  0x7F, 0xFF, 0xFF, 0xF4,
  0x7F, 0x60, 0x00, 0x00,
  0x7F, 0x60, 0x00, 0x00,
  0x7F, 0x60, 0x00, 0x00,
  0x7F, 0x60, 0x00, 0x00,
  0x7F, 0x60, 0x00, 0x00,
  0x7F, 0x60, 0x00, 0x00,
  0x7F, 0x60, 0x00, 0x00,
  0x7F, 0x60, 0x00, 0x00,
  0x7F, 0x60, 0x00, 0x00
};

static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_0434[ 84] = { /* code 0434, CYRILLIC SMALL LETTER DE */
  0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0x00,
  0x00, 0x0D, 0xFF, 0xFF, 0xFF, 0x00,
  0x00, 0x0D, 0xF0, 0x00, 0xBF, 0x00,
  0x00, 0x0D, 0xD0, 0x00, 0xBF, 0x00,
  0x00, 0x0E, 0xD0, 0x00, 0xBF, 0x00,
  0x00, 0x1F, 0xB0, 0x00, 0xBF, 0x00,
  0x00, 0x4F, 0x80, 0x00, 0xBF, 0x00,
  0x00, 0xAF, 0x30, 0x00, 0xBF, 0x00,
  0x05, 0xFB, 0x00, 0x00, 0xBF, 0x00,
  0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6,
  0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6,
  0x9F, 0x40, 0x00, 0x00, 0x06, 0xF6,
  0x9F, 0x40, 0x00, 0x00, 0x06, 0xF6,
  0x9F, 0x40, 0x00, 0x00, 0x06, 0xF6
};

static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_0435[ 55] = { /* code 0435, CYRILLIC SMALL LETTER IE */
  0x00, 0x5C, 0xFE, 0xA2, 0x00,
  0x08, 0xFF, 0xFF, 0xFE, 0x20,
  0x3F, 0xD3, 0x01, 0x8F, 0x90,
  0x9F, 0x20, 0x00, 0x0C, 0xE0,
  0xCF, 0xFF, 0xFF, 0xFF, 0xF1,
  0xDF, 0xFF, 0xFF, 0xFF, 0xF2,
  0xDF, 0x00, 0x00, 0x00, 0x00,
  0xAF, 0x50, 0x00, 0x00, 0x00,
  0x4F, 0xE6, 0x10, 0x3A, 0x60,
  0x09, 0xFF, 0xFF, 0xFF, 0x80,
  0x00, 0x6C, 0xFF, 0xC5, 0x00
};

static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_0438[ 55] = { /* code 0438, CYRILLIC SMALL LETTER I */
  0x7F, 0x60, 0x00, 0x2F, 0xF0,
  0x7F, 0x60, 0x00, 0xBF, 0xF0,
  0x7F, 0x60, 0x05, 0xFF, 0xF0,
  0x7F, 0x60, 0x0D, 0xDC, 0xF0,
  0x7F, 0x60, 0x8F, 0x4B, 0xF0,
  0x7F, 0x62, 0xFA, 0x0B, 0xF0,
  0x7F, 0x6B, 0xE2, 0x0B, 0xF0,
  0x7F, 0xBF, 0x70, 0x0B, 0xF0,
  0x7F, 0xFC, 0x00, 0x0B, 0xF0,
  0x7F, 0xF3, 0x00, 0x0B, 0xF0,
  0x7F, 0xA0, 0x00, 0x0B, 0xF0
};

static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_043A[ 55] = { /* code 043A, CYRILLIC SMALL LETTER KA */
  0x7F, 0x60, 0x00, 0x5F, 0xC1,
  0x7F, 0x60, 0x04, 0xFD, 0x10,
  0x7F, 0x60, 0x3E, 0xE2, 0x00,
  0x7F, 0x62, 0xEE, 0x30, 0x00,
  0x7F, 0xFF, 0xF6, 0x00, 0x00,
  0x7F, 0xFF, 0xF9, 0x00, 0x00,
  0x7F, 0x61, 0xDF, 0x50, 0x00,
  0x7F, 0x60, 0x4F, 0xE2, 0x00,
  0x7F, 0x60, 0x07, 0xFC, 0x00,
  0x7F, 0x60, 0x00, 0xBF, 0x80,
  0x7F, 0x60, 0x00, 0x2E, 0xF4
};

static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_043B[ 66] = { /* code 043B, CYRILLIC SMALL LETTER EL */
  0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0x40,
  0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0x40,
  0x00, 0x0F, 0xB0, 0x00, 0x9F, 0x40,
  0x00, 0x2F, 0xB0, 0x00, 0x9F, 0x40,
  0x00, 0x2F, 0x90, 0x00, 0x9F, 0x40,
  0x00, 0x3F, 0x90, 0x00, 0x9F, 0x40,
  0x00, 0x4F, 0x80, 0x00, 0x9F, 0x40,
  0x00, 0x7F, 0x60, 0x00, 0x9F, 0x40,
  0x02, 0xDF, 0x30, 0x00, 0x9F, 0x40,
  0x6F, 0xFC, 0x00, 0x00, 0x9F, 0x40,
  0x6F, 0xB2, 0x00, 0x00, 0x9F, 0x40
};

static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_043D[ 55] = { /* code 043D, CYRILLIC SMALL LETTER EN */
  0x7F, 0x60, 0x00, 0x0D, 0xF0,
  0x7F, 0x60, 0x00, 0x0D, 0xF0,
  0x7F, 0x60, 0x00, 0x0D, 0xF0,
  0x7F, 0x60, 0x00, 0x0D, 0xF0,
  0x7F, 0xFF, 0xFF, 0xFF, 0xF0,
  0x7F, 0xFF, 0xFF, 0xFF, 0xF0,
  0x7F, 0x60, 0x00, 0x0D, 0xF0,
  0x7F, 0x60, 0x00, 0x0D, 0xF0,
  0x7F, 0x60, 0x00, 0x0D, 0xF0,
  0x7F, 0x60, 0x00, 0x0D, 0xF0,
  0x7F, 0x60, 0x00, 0x0D, 0xF0
};

static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_043E[ 66] = { /* code 043E, CYRILLIC SMALL LETTER O */
  0x00, 0x19, 0xEF, 0xE9, 0x10, 0x00,
  0x01, 0xDF, 0xFF, 0xFF, 0xD1, 0x00,
  0x09, 0xFB, 0x30, 0x3B, 0xFA, 0x00,
  0x1F, 0xE1, 0x00, 0x01, 0xEF, 0x10,
  0x4F, 0x90, 0x00, 0x00, 0x9F, 0x40,
  0x4F, 0x70, 0x00, 0x00, 0x7F, 0x40,
  0x4F, 0x90, 0x00, 0x00, 0x9F, 0x40,
  0x1F, 0xE1, 0x00, 0x01, 0xEF, 0x10,
  0x0A, 0xFB, 0x30, 0x3B, 0xFA, 0x00,
  0x01, 0xDF, 0xFF, 0xFF, 0xD1, 0x00,
  0x00, 0x19, 0xEF, 0xE9, 0x10, 0x00
};

static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_0440[ 75] = { /* code 0440, CYRILLIC SMALL LETTER ER */
  0xBE, 0x3B, 0xFF, 0xB3, 0x00,
  0xBF, 0xEF, 0xFF, 0xFE, 0x20,
  0xBF, 0xB3, 0x03, 0xBF, 0xA0,
  0xBF, 0x20, 0x00, 0x1E, 0xF0,
  0xBF, 0x20, 0x00, 0x0A, 0xF2,
  0xBF, 0x20, 0x00, 0x09, 0xF2,
  0xBF, 0x20, 0x00, 0x0B, 0xF2,
  0xBF, 0x20, 0x00, 0x1E, 0xF0,
  0xBF, 0xB3, 0x02, 0xBF, 0xA0,
  0xBF, 0xFF, 0xFF, 0xFE, 0x20,
  0xBF, 0x5B, 0xFF, 0xB3, 0x00,
  0xBF, 0x20, 0x00, 0x00, 0x00,
  0xBF, 0x20, 0x00, 0x00, 0x00,
  0xBF, 0x20, 0x00, 0x00, 0x00,
  0xBF, 0x20, 0x00, 0x00, 0x00
};

static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_0441[ 55] = { /* code 0441, CYRILLIC SMALL LETTER ES */
  0x00, 0x2A, 0xEF, 0xD7, 0x00,
  0x03, 0xEF, 0xFF, 0xFF, 0xA0,
  0x0B, 0xF9, 0x20, 0x3D, 0xF4,
  0x2F, 0xC0, 0x00, 0x03, 0xD7,
  0x4F, 0x80, 0x00, 0x00, 0x00,
  0x6F, 0x70, 0x00, 0x00, 0x00,
  0x4F, 0x80, 0x00, 0x00, 0x00,
  0x2F, 0xC0, 0x00, 0x02, 0x74,
  0x0B, 0xF9, 0x20, 0x3C, 0xF4,
  0x03, 0xEF, 0xFF, 0xFF, 0xA0,
  0x00, 0x2A, 0xEF, 0xD6, 0x00
};

static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_0442[ 55] = { /* code 0442, CYRILLIC SMALL LETTER TE */
  0x9F, 0xFF, 0xFF, 0xFF, 0xF4,
  0x9F, 0xFF, 0xFF, 0xFF, 0xF4,
  0x00, 0x02, 0xF9, 0x00, 0x00,
  0x00, 0x02, 0xF9, 0x00, 0x00,
  0x00, 0x02, 0xF9, 0x00, 0x00,
  0x00, 0x02, 0xF9, 0x00, 0x00,
  0x00, 0x02, 0xF9, 0x00, 0x00,
  0x00, 0x02, 0xF9, 0x00, 0x00,
  0x00, 0x02, 0xF9, 0x00, 0x00,
  0x00, 0x02, 0xF9, 0x00, 0x00,
  0x00, 0x02, 0xF9, 0x00, 0x00
};

static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_0443[ 75] = { /* code 0443, CYRILLIC SMALL LETTER U */
  0xDF, 0x20, 0x00, 0x2F, 0xC0,
  0x7F, 0x70, 0x00, 0x6F, 0x70,
  0x2F, 0xB0, 0x00, 0xBF, 0x20,
  0x0B, 0xF2, 0x01, 0xFB, 0x00,
  0x06, 0xF7, 0x05, 0xF7, 0x00,
  0x01, 0xFB, 0x0A, 0xF2, 0x00,
  0x00, 0xAF, 0x2E, 0xB0, 0x00,
  0x00, 0x5F, 0xAF, 0x60, 0x00,
  0x00, 0x0E, 0xFF, 0x10, 0x00,
  0x00, 0x09, 0xFB, 0x00, 0x00,
  0x00, 0x05, 0xF5, 0x00, 0x00,
  0x00, 0x0A, 0xF1, 0x00, 0x00,
  0x00, 0x6F, 0xA0, 0x00, 0x00,
  0x6F, 0xFF, 0x30, 0x00, 0x00,
  0x5F, 0xD4, 0x00, 0x00, 0x00
};

static GUI_CONST_STORAGE unsigned char acGUI_FontRoboto24_044F[ 55] = { /* code 044F, CYRILLIC SMALL LETTER YA */
  0x00, 0x5C, 0xFF, 0xFF, 0xF7,
  0x05, 0xFF, 0xFF, 0xFF, 0xF7,
  0x0C, 0xF6, 0x10, 0x06, 0xF7,
  0x0F, 0xD0, 0x00, 0x06, 0xF7,
  0x0C, 0xF6, 0x00, 0x06, 0xF7,
  0x06, 0xFF, 0xFF, 0xFF, 0xF7,
  0x00, 0x5F, 0xFF, 0xFF, 0xF7,
  0x00, 0x5F, 0x90, 0x06, 0xF7,
  0x01, 0xEE, 0x10, 0x06, 0xF7,
  0x09, 0xF5, 0x00, 0x06, 0xF7,
  0x3F, 0xB0, 0x00, 0x06, 0xF7
};

static GUI_CONST_STORAGE GUI_CHARINFO_EXT GUI_FontRoboto24_CharInfo[21] = {
   {   1,   1,   0,  19,   5, acGUI_FontRoboto24_0020 } /* code 0020, SPACE */
  ,{   3,  14,   1,   5,   5, acGUI_FontRoboto24_0021 } /* code 0021, EXCLAMATION MARK */
  ,{   9,  14,   0,   5,   9, acGUI_FontRoboto24_003F } /* code 003F, QUESTION MARK */
  ,{  12,  14,   1,   5,  13, acGUI_FontRoboto24_041A } /* code 041A, CYRILLIC CAPITAL LETTER KA */
  ,{  12,  14,   1,   5,  14, acGUI_FontRoboto24_041F } /* code 041F, CYRILLIC CAPITAL LETTER PE */
  ,{   9,  11,   1,   8,  11, acGUI_FontRoboto24_0430 } /* code 0430, CYRILLIC SMALL LETTER A */
  ,{  11,  15,   0,   4,  11, acGUI_FontRoboto24_0431 } /* code 0431, CYRILLIC SMALL LETTER BE */
  ,{  10,  11,   1,   8,  11, acGUI_FontRoboto24_0432 } /* code 0432, CYRILLIC SMALL LETTER VE */
  ,{   8,  11,   1,   8,   8, acGUI_FontRoboto24_0433 } /* code 0433, CYRILLIC SMALL LETTER GHE */
  ,{  12,  14,   0,   8,  12, acGUI_FontRoboto24_0434 } /* code 0434, CYRILLIC SMALL LETTER DE */
  ,{  10,  11,   1,   8,  11, acGUI_FontRoboto24_0435 } /* code 0435, CYRILLIC SMALL LETTER IE */
  ,{   9,  11,   1,   8,  12, acGUI_FontRoboto24_0438 } /* code 0438, CYRILLIC SMALL LETTER I */
  ,{  10,  11,   1,   8,  11, acGUI_FontRoboto24_043A } /* code 043A, CYRILLIC SMALL LETTER KA */
  ,{  11,  11,   0,   8,  12, acGUI_FontRoboto24_043B } /* code 043B, CYRILLIC SMALL LETTER EL */
  ,{   9,  11,   1,   8,  12, acGUI_FontRoboto24_043D } /* code 043D, CYRILLIC SMALL LETTER EN */
  ,{  11,  11,   0,   8,  11, acGUI_FontRoboto24_043E } /* code 043E, CYRILLIC SMALL LETTER O */
  ,{  10,  15,   1,   8,  11, acGUI_FontRoboto24_0440 } /* code 0440, CYRILLIC SMALL LETTER ER */
  ,{  10,  11,   0,   8,  10, acGUI_FontRoboto24_0441 } /* code 0441, CYRILLIC SMALL LETTER ES */
  ,{  10,  11,   0,   8,  10, acGUI_FontRoboto24_0442 } /* code 0442, CYRILLIC SMALL LETTER TE */
  ,{   9,  15,   0,   8,   9, acGUI_FontRoboto24_0443 } /* code 0443, CYRILLIC SMALL LETTER U */
  ,{  10,  11,   0,   8,  11, acGUI_FontRoboto24_044F } /* code 044F, CYRILLIC SMALL LETTER YA */
};

static GUI_CONST_STORAGE GUI_FONT_PROP_EXT GUI_FontRoboto24_Prop10 = {
   0x044F /* first character */
  ,0x044F /* last character  */
  ,&GUI_FontRoboto24_CharInfo[ 20] /* address of first character */
  ,(GUI_CONST_STORAGE GUI_FONT_PROP_EXT *)0 /* pointer to next GUI_FONT_PROP_EXT */
};

static GUI_CONST_STORAGE GUI_FONT_PROP_EXT GUI_FontRoboto24_Prop9 = {
   0x0440 /* first character */
  ,0x0443 /* last character  */
  ,&GUI_FontRoboto24_CharInfo[ 16] /* address of first character */
  ,&GUI_FontRoboto24_Prop10 /* pointer to next GUI_FONT_PROP_EXT */
};

static GUI_CONST_STORAGE GUI_FONT_PROP_EXT GUI_FontRoboto24_Prop8 = {
   0x043D /* first character */
  ,0x043E /* last character  */
  ,&GUI_FontRoboto24_CharInfo[ 14] /* address of first character */
  ,&GUI_FontRoboto24_Prop9 /* pointer to next GUI_FONT_PROP_EXT */
};

static GUI_CONST_STORAGE GUI_FONT_PROP_EXT GUI_FontRoboto24_Prop7 = {
   0x043A /* first character */
  ,0x043B /* last character  */
  ,&GUI_FontRoboto24_CharInfo[ 12] /* address of first character */
  ,&GUI_FontRoboto24_Prop8 /* pointer to next GUI_FONT_PROP_EXT */
};

static GUI_CONST_STORAGE GUI_FONT_PROP_EXT GUI_FontRoboto24_Prop6 = {
   0x0438 /* first character */
  ,0x0438 /* last character  */
  ,&GUI_FontRoboto24_CharInfo[ 11] /* address of first character */
  ,&GUI_FontRoboto24_Prop7 /* pointer to next GUI_FONT_PROP_EXT */
};

static GUI_CONST_STORAGE GUI_FONT_PROP_EXT GUI_FontRoboto24_Prop5 = {
   0x0430 /* first character */
  ,0x0435 /* last character  */
  ,&GUI_FontRoboto24_CharInfo[  5] /* address of first character */
  ,&GUI_FontRoboto24_Prop6 /* pointer to next GUI_FONT_PROP_EXT */
};

static GUI_CONST_STORAGE GUI_FONT_PROP_EXT GUI_FontRoboto24_Prop4 = {
   0x041F /* first character */
  ,0x041F /* last character  */
  ,&GUI_FontRoboto24_CharInfo[  4] /* address of first character */
  ,&GUI_FontRoboto24_Prop5 /* pointer to next GUI_FONT_PROP_EXT */
};

static GUI_CONST_STORAGE GUI_FONT_PROP_EXT GUI_FontRoboto24_Prop3 = {
   0x041A /* first character */
  ,0x041A /* last character  */
  ,&GUI_FontRoboto24_CharInfo[  3] /* address of first character */
  ,&GUI_FontRoboto24_Prop4 /* pointer to next GUI_FONT_PROP_EXT */
};

static GUI_CONST_STORAGE GUI_FONT_PROP_EXT GUI_FontRoboto24_Prop2 = {
   0x003F /* first character */
  ,0x003F /* last character  */
  ,&GUI_FontRoboto24_CharInfo[  2] /* address of first character */
  ,&GUI_FontRoboto24_Prop3 /* pointer to next GUI_FONT_PROP_EXT */
};

static GUI_CONST_STORAGE GUI_FONT_PROP_EXT GUI_FontRoboto24_Prop1 = {
   0x0020 /* first character */
  ,0x0021 /* last character  */
  ,&GUI_FontRoboto24_CharInfo[  0] /* address of first character */
  ,&GUI_FontRoboto24_Prop2 /* pointer to next GUI_FONT_PROP_EXT */
};

GUI_CONST_STORAGE GUI_FONT GUI_FontRoboto24 = {
   GUI_FONTTYPE_PROP_AA4_EXT /* type of font    */
  ,24 /* height of font  */
  ,24 /* space of font y */
  ,1 /* magnification x */
  ,1 /* magnification y */
  ,{&GUI_FontRoboto24_Prop1}
  ,19 /* Baseline */
  ,11 /* Height of lowercase characters */
  ,14 /* Height of capital characters */
};



/*********************************************************************
*
*       Static code
*
**********************************************************************
*/

/*********************************************************************
*
*       Public code
*
**********************************************************************
*/
/*********************************************************************
*
*       MainTask
*/
void MainTask(void) {
  //
  // Init emWin.
  //
  GUI_Init();
  GUI_SetBkColor(GUI_WHITE);
  GUI_Clear();
  //
  // Enable UTF-8 encoding and set font
  // that contains Cyrillic characters
  //
  GUI_UC_SetEncodeUTF8();
  GUI_SetFont(&GUI_FontRoboto24);
  GUI_SetColor(GUI_BLACK);
  GUI_DispString(STR_RUSSIAN);

  while (1) {
    GUI_Delay(100);
  }
}

/*************************** End of file ****************************/