First cut - beautiful new font handling by PetteriAimonen
This commit is contained in:
parent
f84bc2a3f6
commit
3977ee687f
1
.gitignore
vendored
1
.gitignore
vendored
@ -8,3 +8,4 @@ build
|
||||
*.lst
|
||||
*.o
|
||||
*.map
|
||||
src/gdisp/fonts/*.dat
|
||||
|
@ -57,11 +57,8 @@
|
||||
#define GDISP_NEED_MSGAPI FALSE
|
||||
|
||||
/* Builtin Fonts */
|
||||
#define GDISP_INCLUDE_FONT_SMALL FALSE
|
||||
#define GDISP_INCLUDE_FONT_LARGER FALSE
|
||||
#define GDISP_INCLUDE_FONT_UI1 FALSE
|
||||
#define GDISP_INCLUDE_FONT_UI2 TRUE
|
||||
#define GDISP_INCLUDE_FONT_LARGENUMBERS TRUE
|
||||
#define GDISP_INCLUDE_FONT_DEJAVUSANS12 TRUE
|
||||
#define GDISP_INCLUDE_FONT_DEJAVUSANS24 TRUE
|
||||
|
||||
/* Features for the GINPUT sub-system. */
|
||||
#define GINPUT_NEED_MOUSE TRUE
|
||||
|
@ -46,8 +46,8 @@ void drawScreen(void) {
|
||||
char *msg = "ChibiOS/GFX";
|
||||
font_t font1, font2;
|
||||
|
||||
font1 = gdispOpenFont("UI2 Double");
|
||||
font2 = gdispOpenFont("LargeNumbers");
|
||||
font1 = gdispOpenFont("DejaVuSans24");
|
||||
font2 = gdispOpenFont("DejaVuSans12");
|
||||
|
||||
gdispClear(White);
|
||||
gdispDrawString(gdispGetWidth()-gdispGetStringWidth(msg, font1)-3, 3, msg, font1, Black);
|
||||
@ -61,12 +61,12 @@ void drawScreen(void) {
|
||||
gdispDrawBox (5 * COLOR_SIZE + 3, 3, COLOR_SIZE, COLOR_SIZE, Black); /* White */
|
||||
|
||||
/* pens */
|
||||
gdispDrawString(OFFSET * 2, DRAW_PEN(1), "1", font2, Black);
|
||||
gdispDrawString(OFFSET * 2, DRAW_PEN(2), "2", font2, Black);
|
||||
gdispDrawString(OFFSET * 2, DRAW_PEN(3), "3", font2, Black);
|
||||
gdispDrawString(OFFSET * 2, DRAW_PEN(4), "4", font2, Black);
|
||||
gdispDrawString(OFFSET * 2, DRAW_PEN(5), "5", font2, Black);
|
||||
|
||||
gdispFillStringBox(OFFSET * 2, DRAW_PEN(1), PEN_SIZE, PEN_SIZE, "1", font2, White, Black, justifyCenter);
|
||||
gdispFillStringBox(OFFSET * 2, DRAW_PEN(2), PEN_SIZE, PEN_SIZE, "2", font2, White, Black, justifyCenter);
|
||||
gdispFillStringBox(OFFSET * 2, DRAW_PEN(3), PEN_SIZE, PEN_SIZE, "3", font2, White, Black, justifyCenter);
|
||||
gdispFillStringBox(OFFSET * 2, DRAW_PEN(4), PEN_SIZE, PEN_SIZE, "4", font2, White, Black, justifyCenter);
|
||||
gdispFillStringBox(OFFSET * 2, DRAW_PEN(5), PEN_SIZE, PEN_SIZE, "5", font2, White, Black, justifyCenter);
|
||||
|
||||
gdispCloseFont(font1);
|
||||
gdispCloseFont(font2);
|
||||
}
|
||||
|
@ -50,12 +50,17 @@
|
||||
#define GDISP_NEED_ASYNC FALSE
|
||||
#define GDISP_NEED_MSGAPI FALSE
|
||||
|
||||
/* GDISP - builtin fonts */
|
||||
#define GDISP_INCLUDE_FONT_SMALL FALSE
|
||||
#define GDISP_INCLUDE_FONT_LARGER FALSE
|
||||
#define GDISP_INCLUDE_FONT_UI1 FALSE
|
||||
#define GDISP_INCLUDE_FONT_UI2 TRUE
|
||||
#define GDISP_INCLUDE_FONT_LARGENUMBERS FALSE
|
||||
/* GDISP - fonts to include */
|
||||
#define GDISP_INCLUDE_FONT_DEJAVUSANS10 FALSE
|
||||
#define GDISP_INCLUDE_FONT_DEJAVUSANS12 TRUE
|
||||
#define GDISP_INCLUDE_FONT_DEJAVUSANS16 FALSE
|
||||
#define GDISP_INCLUDE_FONT_DEJAVUSANS24 FALSE
|
||||
#define GDISP_INCLUDE_FONT_DEJAVUSANS32 FALSE
|
||||
#define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12 FALSE
|
||||
#define GDISP_INCLUDE_FONT_FIXED_10x20 FALSE
|
||||
#define GDISP_INCLUDE_FONT_FIXED_7x14 FALSE
|
||||
#define GDISP_INCLUDE_FONT_FIXED_5x8 FALSE
|
||||
#define GDISP_INCLUDE_FONT_LARGENUMBERS FALSE
|
||||
|
||||
/* GDISP image decoders */
|
||||
#define GDISP_NEED_IMAGE_NATIVE FALSE
|
||||
@ -124,7 +129,9 @@
|
||||
|
||||
/* Optional Parameters for various subsystems */
|
||||
/*
|
||||
#define GDISP_MAX_FONT_HEIGHT 16
|
||||
#define GDISP_NEED_UTF8 FALSE
|
||||
#define GDISP_NEED_TEXT_KERNING FALSE
|
||||
#define GDISP_NEED_ANTIALIAS FALSE
|
||||
#define GEVENT_MAXIMUM_SIZE 32
|
||||
#define GEVENT_MAX_SOURCE_LISTENERS 32
|
||||
#define GTIMER_THREAD_WORKAREA_SIZE 512
|
||||
|
@ -1,67 +0,0 @@
|
||||
/*
|
||||
* This file is subject to the terms of the GFX License. If a copy of
|
||||
* the license was not distributed with this file, you can obtain one at:
|
||||
*
|
||||
* http://ugfx.org/license.html
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file include/gdisp/fonts.h
|
||||
* @brief GDISP internal font definitions.
|
||||
* @details This is not generally needed by an application. It is used
|
||||
* by the low level drivers that need to understand a font.
|
||||
*
|
||||
* @addtogroup GDISP
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef _GDISP_FONTS_H
|
||||
#define _GDISP_FONTS_H
|
||||
|
||||
/* Don't test against GFX_USE_GDISP as we may want to use this in other non-GDISP utilities. */
|
||||
|
||||
/**
|
||||
* @brief The type of a font column.
|
||||
* @note Set by defining @p GDISP_MAX_FNT_HEIGHT appropriately.
|
||||
*/
|
||||
#if GDISP_MAX_FONT_HEIGHT == 16
|
||||
typedef uint16_t fontcolumn_t;
|
||||
#elif GDISP_MAX_FONT_HEIGHT == 32
|
||||
typedef uint32_t fontcolumn_t;
|
||||
#else
|
||||
#error "GDISP: GDISP_MAX_FONT_HEIGHT must be either 16 or 32"
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Internal font structure.
|
||||
* @note This structure is followed by:
|
||||
* 1. An array of character widths (uint8_t)
|
||||
* 2. An array of column data offsets (relative to the font structure)
|
||||
* 3. Each characters array of column data (fontcolumn_t)
|
||||
* Each sub-structure must be padded to a multiple of 8 bytes
|
||||
* to allow the tables to work across many different compilers.
|
||||
*/
|
||||
struct font {
|
||||
const char * name;
|
||||
uint8_t height;
|
||||
uint8_t charPadding;
|
||||
uint8_t lineSpacing;
|
||||
uint8_t descenderHeight;
|
||||
uint8_t minWidth;
|
||||
uint8_t maxWidth;
|
||||
char minChar;
|
||||
char maxChar;
|
||||
uint8_t xscale;
|
||||
uint8_t yscale;
|
||||
const uint8_t *widthTable;
|
||||
const uint16_t *offsetTable;
|
||||
const fontcolumn_t *dataTable;
|
||||
};
|
||||
|
||||
#define _getCharWidth(f,c) (((c) < (f)->minChar || (c) > (f)->maxChar) ? 0 : (f)->widthTable[(c) - (f)->minChar])
|
||||
#define _getCharOffset(f,c) ((f)->offsetTable[(c) - (f)->minChar])
|
||||
#define _getCharData(f,c) (&(f)->dataTable[_getCharOffset(f, c)])
|
||||
|
||||
#endif /* _GDISP_FONTS_H */
|
||||
/** @} */
|
||||
|
@ -55,7 +55,11 @@ typedef struct point_t {
|
||||
/**
|
||||
* @brief Type for the text justification.
|
||||
*/
|
||||
typedef enum justify {justifyLeft, justifyCenter, justifyRight} justify_t;
|
||||
typedef enum justify {
|
||||
justifyLeft = 0,
|
||||
justifyCenter = 1,
|
||||
justifyRight = 2
|
||||
} justify_t;
|
||||
/**
|
||||
* @brief Type for the font metric.
|
||||
*/
|
||||
@ -63,7 +67,7 @@ typedef enum fontmetric {fontHeight, fontDescendersHeight, fontLineSpacing, font
|
||||
/**
|
||||
* @brief The type of a font.
|
||||
*/
|
||||
typedef const struct font *font_t;
|
||||
typedef const struct mf_font_s* font_t;
|
||||
/**
|
||||
* @brief Type for the screen orientation.
|
||||
*/
|
||||
@ -489,7 +493,7 @@ extern "C" {
|
||||
*
|
||||
* @api
|
||||
*/
|
||||
void gdispDrawChar(coord_t x, coord_t y, char c, font_t font, color_t color);
|
||||
void gdispDrawChar(coord_t x, coord_t y, uint16_t c, font_t font, color_t color);
|
||||
|
||||
/**
|
||||
* @brief Draw a text character with a filled background.
|
||||
@ -502,7 +506,7 @@ extern "C" {
|
||||
*
|
||||
* @api
|
||||
*/
|
||||
void gdispFillChar(coord_t x, coord_t y, char c, font_t font, color_t color, color_t bgcolor);
|
||||
void gdispFillChar(coord_t x, coord_t y, uint16_t c, font_t font, color_t color, color_t bgcolor);
|
||||
#endif
|
||||
|
||||
/* Read a pixel Function */
|
||||
@ -761,6 +765,17 @@ void gdispDrawBox(coord_t x, coord_t y, coord_t cx, coord_t cy, color_t color);
|
||||
*/
|
||||
void gdispCloseFont(font_t font);
|
||||
|
||||
/**
|
||||
* @brief Make a scaled copy of an existing font.
|
||||
* @details Allocates memory for new font metadata using gfxAlloc, remember to close font after use!
|
||||
* @return A new font or NULL if out of memory.
|
||||
*
|
||||
* @param[in] font The base font to use.
|
||||
* @param[in] scale_x The scale factor in horizontal direction.
|
||||
* @param[in] scale_y The scale factor in vertical direction.
|
||||
*/
|
||||
font_t gdispScaleFont(font_t font, uint8_t scale_x, uint8_t scale_y);
|
||||
|
||||
/**
|
||||
* @brief Get the name of the specified font.
|
||||
* @returns The name of the font.
|
||||
@ -772,6 +787,18 @@ void gdispDrawBox(coord_t x, coord_t y, coord_t cx, coord_t cy, color_t color);
|
||||
const char *gdispGetFontName(font_t font);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Blend two colors together according to opacity/alpha.
|
||||
* @return The blended color.
|
||||
*
|
||||
* @param[in] fg Foreground color
|
||||
* @param[in] bg Background color
|
||||
* @param[in] alpha Opacity of the foreground color (0-255)
|
||||
*
|
||||
* @api
|
||||
*/
|
||||
color_t gdispBlendColor(color_t fg, color_t bg, uint8_t alpha);
|
||||
|
||||
/* Extra Arc Functions */
|
||||
|
||||
#if GDISP_NEED_ARC || defined(__DOXYGEN__)
|
||||
|
@ -462,180 +462,130 @@ GDISPDriver GDISP;
|
||||
#endif
|
||||
|
||||
#if GDISP_NEED_TEXT && !GDISP_HARDWARE_TEXT
|
||||
#include "gdisp/fonts.h"
|
||||
#include "mcufont.h"
|
||||
#endif
|
||||
|
||||
#if GDISP_NEED_TEXT && !GDISP_HARDWARE_TEXT
|
||||
void gdisp_lld_draw_char(coord_t x, coord_t y, char c, font_t font, color_t color) {
|
||||
const fontcolumn_t *ptr;
|
||||
fontcolumn_t column;
|
||||
coord_t width, height, xscale, yscale;
|
||||
coord_t i, j, xs, ys;
|
||||
|
||||
/* Check we actually have something to print */
|
||||
width = _getCharWidth(font, c);
|
||||
if (!width) return;
|
||||
|
||||
xscale = font->xscale;
|
||||
yscale = font->yscale;
|
||||
height = font->height * yscale;
|
||||
width *= xscale;
|
||||
|
||||
ptr = _getCharData(font, c);
|
||||
|
||||
/* Loop through the data and display. The font data is LSBit first, down the column */
|
||||
for(i=0; i < width; i+=xscale) {
|
||||
/* Get the font bitmap data for the column */
|
||||
column = *ptr++;
|
||||
|
||||
/* Draw each pixel */
|
||||
for(j=0; j < height; j+=yscale, column >>= 1) {
|
||||
if (column & 0x01) {
|
||||
for(xs=0; xs < xscale; xs++)
|
||||
for(ys=0; ys < yscale; ys++)
|
||||
gdisp_lld_draw_pixel(x+i+xs, y+j+ys, color);
|
||||
}
|
||||
static void gdisp_lld_draw_char_callback(int16_t x, int16_t y, uint8_t count, uint8_t alpha, void *state) {
|
||||
color_t color = *(color_t*)state;
|
||||
if (alpha == 255)
|
||||
{
|
||||
if (count == 1)
|
||||
gdisp_lld_draw_pixel(x, y, color);
|
||||
else
|
||||
gdisp_lld_fill_area(x, y, count, 1, color);
|
||||
}
|
||||
#if GDISP_NEED_ANTIALIAS
|
||||
else
|
||||
{
|
||||
while (count--)
|
||||
{
|
||||
color_t oldColor;
|
||||
|
||||
oldColor = gdisp_lld_get_pixel_color(x, y);
|
||||
oldColor = gdispBlendColor(color, oldColor, alpha);
|
||||
gdisp_lld_draw_pixel(x, y, oldColor);
|
||||
|
||||
x++;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void gdisp_lld_draw_char(coord_t x, coord_t y, uint16_t c, font_t font, color_t color) {
|
||||
mf_render_character(font, x, y, c, gdisp_lld_draw_char_callback, &color);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if GDISP_NEED_TEXT && !GDISP_HARDWARE_TEXTFILLS
|
||||
void gdisp_lld_fill_char(coord_t x, coord_t y, char c, font_t font, color_t color, color_t bgcolor) {
|
||||
coord_t width, height;
|
||||
coord_t xscale, yscale;
|
||||
typedef struct {
|
||||
int16_t x0;
|
||||
int16_t y0;
|
||||
int16_t x1;
|
||||
int16_t y1;
|
||||
int16_t x;
|
||||
int16_t y;
|
||||
color_t fg;
|
||||
color_t bg;
|
||||
} gdisp_lld_fill_char_state_t;
|
||||
|
||||
static void gdisp_lld_fill_char_callback(int16_t x, int16_t y, uint8_t count, uint8_t alpha, void *state) {
|
||||
gdisp_lld_fill_char_state_t *s = state;
|
||||
|
||||
/* Check we actually have something to print */
|
||||
width = _getCharWidth(font, c);
|
||||
if (!width) return;
|
||||
|
||||
xscale = font->xscale;
|
||||
yscale = font->yscale;
|
||||
height = font->height * yscale;
|
||||
width *= xscale;
|
||||
|
||||
/* Method 1: Use background fill and then draw the text */
|
||||
#if GDISP_HARDWARE_TEXT || GDISP_SOFTWARE_TEXTFILLDRAW
|
||||
|
||||
/* Fill the area */
|
||||
gdisp_lld_fill_area(x, y, width, height, bgcolor);
|
||||
|
||||
/* Draw the text */
|
||||
gdisp_lld_draw_char(x, y, c, font, color);
|
||||
|
||||
/* Method 2: Create a single column bitmap and then blit it */
|
||||
#elif GDISP_HARDWARE_BITFILLS && GDISP_SOFTWARE_TEXTBLITCOLUMN
|
||||
if (y > s->y && s->x != s->x0)
|
||||
{
|
||||
const fontcolumn_t *ptr;
|
||||
fontcolumn_t column;
|
||||
coord_t i, j, xs, ys;
|
||||
|
||||
/* Working buffer for fast non-transparent text rendering [patch by Badger]
|
||||
This needs to be larger than the largest character we can print.
|
||||
Assume the max is double sized by one column.
|
||||
*/
|
||||
static pixel_t buf[sizeof(fontcolumn_t)*8*2];
|
||||
|
||||
#if GDISP_NEED_VALIDATION
|
||||
/* Check our buffer is big enough */
|
||||
if ((unsigned)height > sizeof(buf)/sizeof(buf[0])) return;
|
||||
#endif
|
||||
|
||||
ptr = _getCharData(font, c);
|
||||
|
||||
/* Loop through the data and display. The font data is LSBit first, down the column */
|
||||
for(i = 0; i < width; i+=xscale) {
|
||||
/* Get the font bitmap data for the column */
|
||||
column = *ptr++;
|
||||
|
||||
/* Draw each pixel */
|
||||
for(j = 0; j < height; j+=yscale, column >>= 1) {
|
||||
if (column & 0x01) {
|
||||
for(ys=0; ys < yscale; ys++)
|
||||
gdispPackPixels(buf, 1, j+ys, 0, color);
|
||||
} else {
|
||||
for(ys=0; ys < yscale; ys++)
|
||||
gdispPackPixels(buf, 1, j+ys, 0, bgcolor);
|
||||
}
|
||||
}
|
||||
|
||||
for(xs=0; xs < xscale; xs++)
|
||||
gdisp_lld_blit_area_ex(x+i+xs, y, 1, height, 0, 0, 1, buf);
|
||||
/* Fill background to the end of current line */
|
||||
gdisp_lld_fill_area(s->x, s->y, s->x1 - s->x, 1, s->bg);
|
||||
s->y++;
|
||||
s->x = s->x0;
|
||||
}
|
||||
|
||||
if (y > s->y)
|
||||
{
|
||||
/* Fill background for given number of full lines */
|
||||
gdisp_lld_fill_area(s->x0, s->y, s->x1 - s->x0, y - s->y, s->bg);
|
||||
s->y = y;
|
||||
}
|
||||
|
||||
if (x > s->x)
|
||||
{
|
||||
/* Fill background from previous X position */
|
||||
gdisp_lld_fill_area(s->x, s->y, x - s->x, 1, s->bg);
|
||||
s->x = x;
|
||||
}
|
||||
|
||||
if (!count)
|
||||
return;
|
||||
|
||||
if (y == s->y)
|
||||
{
|
||||
s->x += count;
|
||||
|
||||
if (s->x == s->x1)
|
||||
{
|
||||
s->x = s->x0;
|
||||
s->y++;
|
||||
}
|
||||
}
|
||||
|
||||
/* Method 3: Create a character bitmap and then blit it */
|
||||
#elif GDISP_HARDWARE_BITFILLS
|
||||
|
||||
/* Draw the foreground */
|
||||
if (alpha == 255 || alpha == 0)
|
||||
{
|
||||
const fontcolumn_t *ptr;
|
||||
fontcolumn_t column;
|
||||
coord_t i, j, xs, ys;
|
||||
|
||||
/* Working buffer for fast non-transparent text rendering [patch by Badger]
|
||||
This needs to be larger than the largest character we can print.
|
||||
Assume the max is double sized.
|
||||
*/
|
||||
static pixel_t buf[20*(sizeof(fontcolumn_t)*8)*2];
|
||||
|
||||
#if GDISP_NEED_VALIDATION
|
||||
/* Check our buffer is big enough */
|
||||
if ((unsigned)(width * height) > sizeof(buf)/sizeof(buf[0])) return;
|
||||
#endif
|
||||
|
||||
ptr = _getCharData(font, c);
|
||||
|
||||
/* Loop through the data and display. The font data is LSBit first, down the column */
|
||||
for(i = 0; i < width; i+=xscale) {
|
||||
/* Get the font bitmap data for the column */
|
||||
column = *ptr++;
|
||||
|
||||
/* Draw each pixel */
|
||||
for(j = 0; j < height; j+=yscale, column >>= 1) {
|
||||
if (column & 0x01) {
|
||||
for(xs=0; xs < xscale; xs++)
|
||||
for(ys=0; ys < yscale; ys++)
|
||||
gdispPackPixels(buf, width, i+xs, j+ys, color);
|
||||
} else {
|
||||
for(xs=0; xs < xscale; xs++)
|
||||
for(ys=0; ys < yscale; ys++)
|
||||
gdispPackPixels(buf, width, i+xs, j+ys, bgcolor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* [Patch by Badger] Write all in one stroke */
|
||||
gdisp_lld_blit_area_ex(x, y, width, height, 0, 0, width, buf);
|
||||
if (count == 1)
|
||||
gdisp_lld_draw_pixel(x, y, alpha ? s->fg : s->bg);
|
||||
else
|
||||
gdisp_lld_fill_area(x, y, count, 1, alpha ? s->fg : s->bg);
|
||||
}
|
||||
|
||||
/* Method 4: Draw pixel by pixel */
|
||||
#else
|
||||
#if GDISP_NEED_ANTIALIAS
|
||||
else
|
||||
{
|
||||
const fontcolumn_t *ptr;
|
||||
fontcolumn_t column;
|
||||
coord_t i, j, xs, ys;
|
||||
|
||||
ptr = _getCharData(font, c);
|
||||
|
||||
/* Loop through the data and display. The font data is LSBit first, down the column */
|
||||
for(i = 0; i < width; i+=xscale) {
|
||||
/* Get the font bitmap data for the column */
|
||||
column = *ptr++;
|
||||
while (count--)
|
||||
{
|
||||
color_t color;
|
||||
color = gdispBlendColor(s->fg, s->bg, alpha);
|
||||
gdisp_lld_draw_pixel(x, y, color);
|
||||
|
||||
/* Draw each pixel */
|
||||
for(j = 0; j < height; j+=yscale, column >>= 1) {
|
||||
if (column & 0x01) {
|
||||
for(xs=0; xs < xscale; xs++)
|
||||
for(ys=0; ys < yscale; ys++)
|
||||
gdisp_lld_draw_pixel(x+i+xs, y+j+ys, color);
|
||||
} else {
|
||||
for(xs=0; xs < xscale; xs++)
|
||||
for(ys=0; ys < yscale; ys++)
|
||||
gdisp_lld_draw_pixel(x+i+xs, y+j+ys, bgcolor);
|
||||
}
|
||||
}
|
||||
x++;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
void gdisp_lld_fill_char(coord_t x, coord_t y, uint16_t c, font_t font, color_t color, color_t bgcolor) {
|
||||
gdisp_lld_fill_char_state_t state;
|
||||
|
||||
state.x0 = x;
|
||||
state.y0 = y;
|
||||
state.x1 = x + mf_character_width(font, c) + font->baseline_x;
|
||||
state.y1 = y + font->height;
|
||||
state.x = x;
|
||||
state.y = y;
|
||||
state.fg = color;
|
||||
state.bg = bgcolor;
|
||||
|
||||
mf_render_character(font, x, y, c, gdisp_lld_fill_char_callback, &state);
|
||||
|
||||
gdisp_lld_fill_char_callback(state.x0, state.y1, 0, 0, &state);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -281,8 +281,8 @@ extern "C" {
|
||||
|
||||
/* Text Rendering Functions */
|
||||
#if GDISP_NEED_TEXT
|
||||
extern void gdisp_lld_draw_char(coord_t x, coord_t y, char c, font_t font, color_t color);
|
||||
extern void gdisp_lld_fill_char(coord_t x, coord_t y, char c, font_t font, color_t color, color_t bgcolor);
|
||||
extern void gdisp_lld_draw_char(coord_t x, coord_t y, uint16_t c, font_t font, color_t color);
|
||||
extern void gdisp_lld_fill_char(coord_t x, coord_t y, uint16_t c, font_t font, color_t color, color_t bgcolor);
|
||||
#endif
|
||||
|
||||
/* Pixel readback */
|
||||
|
@ -155,7 +155,7 @@ typedef union gdisp_lld_msg {
|
||||
gfxQueueItem qi;
|
||||
gdisp_msgaction_t action; // GDISP_LLD_MSG_DRAWCHAR
|
||||
coord_t x, y;
|
||||
char c;
|
||||
uint16_t c;
|
||||
font_t font;
|
||||
color_t color;
|
||||
} drawchar;
|
||||
@ -163,7 +163,7 @@ typedef union gdisp_lld_msg {
|
||||
gfxQueueItem qi;
|
||||
gdisp_msgaction_t action; // GDISP_LLD_MSG_FILLCHAR
|
||||
coord_t x, y;
|
||||
char c;
|
||||
uint16_t c;
|
||||
font_t font;
|
||||
color_t color;
|
||||
color_t bgcolor;
|
||||
|
@ -180,6 +180,36 @@
|
||||
#ifndef GDISP_NEED_IMAGE_ACCOUNTING
|
||||
#define GDISP_NEED_IMAGE_ACCOUNTING FALSE
|
||||
#endif
|
||||
/**
|
||||
* @}
|
||||
*
|
||||
* @name GDISP Text Rendering Options
|
||||
* @{
|
||||
*/
|
||||
/**
|
||||
* @brief Enable UTF-8 support for text rendering.
|
||||
* @details Defaults to FALSE
|
||||
*/
|
||||
#ifndef GDISP_NEED_UTF8
|
||||
#define GDISP_NEED_UTF8 FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enable kerning for font rendering (improves character placement).
|
||||
* @details Defaults to FALSE
|
||||
*/
|
||||
#ifndef GDISP_NEED_TEXT_KERNING
|
||||
#define GDISP_NEED_TEXT_KERNING FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enable antialiased font support
|
||||
* @details Defaults to FALSE
|
||||
*/
|
||||
#ifndef GDISP_NEED_ANTIALIAS
|
||||
#define GDISP_NEED_ANTIALIAS FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @}
|
||||
*
|
||||
@ -220,21 +250,6 @@
|
||||
* @brief Predefined built in fonts
|
||||
* @note Turning off the ones you are not using can save program size.
|
||||
*/
|
||||
#ifndef GDISP_INCLUDE_FONT_SMALL
|
||||
#define GDISP_INCLUDE_FONT_SMALL TRUE
|
||||
#endif
|
||||
#ifndef GDISP_INCLUDE_FONT_LARGER
|
||||
#define GDISP_INCLUDE_FONT_LARGER TRUE
|
||||
#endif
|
||||
#ifndef GDISP_INCLUDE_FONT_UI1
|
||||
#define GDISP_INCLUDE_FONT_UI1 TRUE
|
||||
#endif
|
||||
#ifndef GDISP_INCLUDE_FONT_UI2
|
||||
#define GDISP_INCLUDE_FONT_UI2 TRUE
|
||||
#endif
|
||||
#ifndef GDISP_INCLUDE_FONT_LARGENUMBERS
|
||||
#define GDISP_INCLUDE_FONT_LARGENUMBERS TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @}
|
||||
@ -242,16 +257,6 @@
|
||||
* @name GDISP Optional Sizing Parameters
|
||||
* @{
|
||||
*/
|
||||
/**
|
||||
* @brief The maximum height of a font.
|
||||
* @details Either 16 or 32. Defaults to 16
|
||||
* @note Setting this to 32 causes the font tables to take
|
||||
* twice the internal program memory. Don't do it unless
|
||||
* you realy must define an unscaled font larger than 16 bits high.
|
||||
*/
|
||||
#ifndef GDISP_MAX_FONT_HEIGHT
|
||||
#define GDISP_MAX_FONT_HEIGHT 16
|
||||
#endif
|
||||
/**
|
||||
* @}
|
||||
*
|
||||
|
@ -17,673 +17,10 @@
|
||||
|
||||
#if GFX_USE_GDISP && GDISP_NEED_TEXT
|
||||
|
||||
#include "gdisp/fonts.h"
|
||||
#include "mcufont.h"
|
||||
|
||||
/* fontSmall - for side buttons */
|
||||
#if GDISP_INCLUDE_FONT_SMALL
|
||||
/* Forward Declarations of internal arrays */
|
||||
static const uint8_t fontSmall_Widths[];
|
||||
static const uint16_t fontSmall_Offsets[];
|
||||
static const fontcolumn_t fontSmall_Data[];
|
||||
|
||||
static const struct font fontSmall = {
|
||||
"Small",
|
||||
11, 0, 14, 2, 2, 12, ' ', '~', 1, 1,
|
||||
fontSmall_Widths,
|
||||
fontSmall_Offsets,
|
||||
fontSmall_Data};
|
||||
static const struct font fontSmallDouble = {
|
||||
"Small Double",
|
||||
11, 0, 14, 2, 2, 12, ' ', '~', 2, 2,
|
||||
fontSmall_Widths,
|
||||
fontSmall_Offsets,
|
||||
fontSmall_Data};
|
||||
static const struct font fontSmallNarrow = {
|
||||
"Small Narrow",
|
||||
11, 0, 14, 2, 2, 12, ' ', '~', 1, 2,
|
||||
fontSmall_Widths,
|
||||
fontSmall_Offsets,
|
||||
fontSmall_Data};
|
||||
|
||||
static const uint8_t fontSmall_Widths[] = {
|
||||
2, 3, 6, 8, 7, 9, 7, 3, 4, 4, 5, 7, 4, 4, 3, 6,
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 4, 6, 7, 6, 7,
|
||||
12, 8, 7, 8, 8, 7, 7, 8, 8, 3, 5, 8, 7, 9, 8, 8,
|
||||
8, 8, 8, 7, 7, 8, 8, 12, 8, 8, 8, 4, 6, 4, 7, 7,
|
||||
4, 7, 7, 7, 7, 7, 4, 7, 7, 3, 3, 7, 3, 9, 7, 7,
|
||||
7, 7, 4, 6, 4, 7, 7, 9, 6, 6, 6, 5, 3, 5, 8, 0
|
||||
};
|
||||
static const uint16_t fontSmall_Offsets[] = {
|
||||
0, 2, 5, 11, 19, 26, 35, 42,
|
||||
45, 49, 53, 58, 65, 69, 73, 76,
|
||||
82, 89, 96, 103, 110, 117, 124, 131,
|
||||
138, 145, 152, 155, 159, 165, 172, 178,
|
||||
185, 197, 205, 212, 220, 228, 235, 242,
|
||||
250, 258, 261, 266, 274, 281, 290, 298,
|
||||
306, 314, 322, 330, 337, 344, 352, 360,
|
||||
372, 380, 388, 396, 400, 406, 410, 417,
|
||||
424, 428, 435, 442, 449, 456, 463, 467,
|
||||
474, 481, 484, 487, 494, 497, 506, 513,
|
||||
520, 527, 534, 538, 544, 548, 555, 562,
|
||||
571, 577, 583, 589, 594, 597, 602, 0
|
||||
};
|
||||
static const fontcolumn_t fontSmall_Data[] = {
|
||||
/* */ 0x0000, 0x0000,
|
||||
/* ! */ 0x0000, 0x017F, 0x017F,
|
||||
/* " */ 0x0000, 0x0007, 0x0007, 0x0000, 0x0007, 0x0007,
|
||||
/* # */ 0x0000, 0x0044, 0x01FF, 0x01FF, 0x0044, 0x01FF, 0x01FF, 0x0044,
|
||||
/* $ */ 0x0000, 0x008C, 0x019E, 0x03FF, 0x03FF, 0x01E6, 0x00C4,
|
||||
/* % */ 0x0000, 0x0082, 0x00C7, 0x0065, 0x00B7, 0x01DA, 0x014C, 0x01C6, 0x0082,
|
||||
/* & */ 0x0000, 0x00E6, 0x01FF, 0x013F, 0x01E6, 0x01E0, 0x0120,
|
||||
/* ' */ 0x0000, 0x0007, 0x0007,
|
||||
/* ( */ 0x0000, 0x03FE, 0x07FF, 0x0401,
|
||||
/* ) */ 0x0000, 0x0401, 0x07FF, 0x03FE,
|
||||
/* * */ 0x0000, 0x000A, 0x000E, 0x000E, 0x000A,
|
||||
/* + */ 0x0000, 0x0020, 0x0020, 0x00F8, 0x00F8, 0x0020, 0x0020,
|
||||
/* , */ 0x0000, 0x0200, 0x0300, 0x0100,
|
||||
/* - */ 0x0000, 0x0020, 0x0020, 0x0020,
|
||||
/* . */ 0x0000, 0x0100, 0x0100,
|
||||
/* / */ 0x0000, 0x0180, 0x01E0, 0x0078, 0x001F, 0x0007,
|
||||
/* 0 */ 0x0000, 0x00FE, 0x01FF, 0x0101, 0x0101, 0x01FF, 0x00FE,
|
||||
/* 1 */ 0x0000, 0x0002, 0x0002, 0x01FF, 0x01FF, 0x0000, 0x0000,
|
||||
/* 2 */ 0x0000, 0x0182, 0x01C3, 0x0161, 0x0131, 0x011F, 0x010E,
|
||||
/* 3 */ 0x0000, 0x0082, 0x0183, 0x0111, 0x0111, 0x01FF, 0x00EE,
|
||||
/* 4 */ 0x0000, 0x0060, 0x0078, 0x005E, 0x01FF, 0x01FF, 0x0040,
|
||||
/* 5 */ 0x0000, 0x009F, 0x019F, 0x0109, 0x0109, 0x01F9, 0x00F1,
|
||||
/* 6 */ 0x0000, 0x00FE, 0x01FF, 0x0111, 0x0111, 0x01F3, 0x00E2,
|
||||
/* 7 */ 0x0000, 0x0001, 0x01C1, 0x01F1, 0x003D, 0x000F, 0x0003,
|
||||
/* 8 */ 0x0000, 0x00EE, 0x01FF, 0x0111, 0x0111, 0x01FF, 0x00EE,
|
||||
/* 9 */ 0x0000, 0x008E, 0x019F, 0x0111, 0x0111, 0x01FF, 0x00FE,
|
||||
/* : */ 0x0000, 0x0108, 0x0108,
|
||||
/* ; */ 0x0000, 0x0200, 0x0308, 0x0108,
|
||||
/* < */ 0x0000, 0x0020, 0x0070, 0x00D8, 0x018C, 0x0104,
|
||||
/* = */ 0x0000, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050,
|
||||
/* > */ 0x0000, 0x0104, 0x018C, 0x00D8, 0x0070, 0x0020,
|
||||
/* ? */ 0x0000, 0x0002, 0x0003, 0x0161, 0x0171, 0x001F, 0x000E,
|
||||
/* @ */ 0x0000, 0x0078, 0x01FE, 0x0186, 0x0333, 0x0279, 0x0249, 0x0279, 0x027B, 0x0246, 0x007E, 0x0078,
|
||||
/* A */ 0x0180, 0x01F0, 0x007C, 0x004F, 0x004F, 0x007C, 0x01F0, 0x0180,
|
||||
/* B */ 0x0000, 0x01FF, 0x01FF, 0x0111, 0x0111, 0x01FF, 0x00EE,
|
||||
/* C */ 0x0000, 0x00FE, 0x01FF, 0x0101, 0x0101, 0x0101, 0x0183, 0x0082,
|
||||
/* D */ 0x0000, 0x01FF, 0x01FF, 0x0101, 0x0101, 0x0183, 0x00FE, 0x007C,
|
||||
/* E */ 0x0000, 0x01FF, 0x01FF, 0x0111, 0x0111, 0x0111, 0x0101,
|
||||
/* F */ 0x0000, 0x01FF, 0x01FF, 0x0011, 0x0011, 0x0011, 0x0001,
|
||||
/* G */ 0x0000, 0x00FE, 0x01FF, 0x0101, 0x0111, 0x0191, 0x01F3, 0x01F2,
|
||||
/* H */ 0x0000, 0x01FF, 0x01FF, 0x0010, 0x0010, 0x0010, 0x01FF, 0x01FF,
|
||||
/* I */ 0x0000, 0x01FF, 0x01FF,
|
||||
/* J */ 0x00C0, 0x01C0, 0x0100, 0x01FF, 0x00FF,
|
||||
/* K */ 0x0000, 0x01FF, 0x01FF, 0x003C, 0x0066, 0x00C3, 0x0181, 0x0100,
|
||||
/* L */ 0x0000, 0x01FF, 0x01FF, 0x0100, 0x0100, 0x0100, 0x0100,
|
||||
/* M */ 0x0000, 0x01FF, 0x01FF, 0x003C, 0x00F0, 0x00F0, 0x003C, 0x01FF, 0x01FF,
|
||||
/* N */ 0x0000, 0x01FF, 0x01FF, 0x001E, 0x0038, 0x00E0, 0x01FF, 0x01FF,
|
||||
/* O */ 0x0000, 0x00FE, 0x01FF, 0x0101, 0x0101, 0x0101, 0x01FF, 0x00FE,
|
||||
/* P */ 0x0000, 0x01FF, 0x01FF, 0x0011, 0x0011, 0x0011, 0x001F, 0x000E,
|
||||
/* Q */ 0x0000, 0x00FE, 0x01FF, 0x0101, 0x0141, 0x01C1, 0x03FF, 0x02FE,
|
||||
/* R */ 0x0000, 0x01FF, 0x01FF, 0x0011, 0x0011, 0x0011, 0x01FF, 0x01EE,
|
||||
/* S */ 0x0000, 0x008E, 0x019F, 0x0111, 0x0111, 0x01F3, 0x00E2,
|
||||
/* T */ 0x0000, 0x0001, 0x0001, 0x01FF, 0x01FF, 0x0001, 0x0001,
|
||||
/* U */ 0x0000, 0x00FF, 0x01FF, 0x0100, 0x0100, 0x0100, 0x01FF, 0x00FF,
|
||||
/* V */ 0x0003, 0x001F, 0x007C, 0x01E0, 0x01E0, 0x007C, 0x001F, 0x0003,
|
||||
/* W */ 0x0003, 0x001F, 0x007C, 0x01E0, 0x01E0, 0x007C, 0x007C, 0x01E0, 0x01E0, 0x007C, 0x001F, 0x0003,
|
||||
/* X */ 0x0183, 0x01C7, 0x006C, 0x0038, 0x0038, 0x006C, 0x01C7, 0x0183,
|
||||
/* Y */ 0x0003, 0x0007, 0x000C, 0x01F8, 0x01F8, 0x000C, 0x0007, 0x0003,
|
||||
/* Z */ 0x0181, 0x01C1, 0x0161, 0x0131, 0x0119, 0x010D, 0x0107, 0x0103,
|
||||
/* [ */ 0x0000, 0x07FF, 0x07FF, 0x0401,
|
||||
/* \ */ 0x0000, 0x0007, 0x001F, 0x0078, 0x01E0, 0x0180,
|
||||
/* ] */ 0x0000, 0x0401, 0x07FF, 0x07FF,
|
||||
/* ^ */ 0x0000, 0x0002, 0x0003, 0x0001, 0x0001, 0x0003, 0x0002,
|
||||
/* _ */ 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400,
|
||||
/* ` */ 0x0000, 0x0001, 0x0003, 0x0002,
|
||||
/* a */ 0x0000, 0x00C0, 0x01E8, 0x0128, 0x0128, 0x01F8, 0x01F0,
|
||||
/* b */ 0x0000, 0x01FF, 0x01FF, 0x0108, 0x0108, 0x01F8, 0x00F0,
|
||||
/* c */ 0x0000, 0x00F0, 0x01F8, 0x0108, 0x0108, 0x0198, 0x0090,
|
||||
/* d */ 0x0000, 0x00F0, 0x01F8, 0x0108, 0x0108, 0x01FF, 0x01FF,
|
||||
/* e */ 0x0000, 0x00F0, 0x01F8, 0x0128, 0x0128, 0x01B8, 0x00B0,
|
||||
/* f */ 0x0000, 0x01FE, 0x01FF, 0x0009,
|
||||
/* g */ 0x0000, 0x04F0, 0x05F8, 0x0508, 0x0508, 0x07F8, 0x03F8,
|
||||
/* h */ 0x0000, 0x01FF, 0x01FF, 0x0018, 0x0008, 0x01F8, 0x01F0,
|
||||
/* i */ 0x0000, 0x01F9, 0x01F9,
|
||||
/* j */ 0x0000, 0x07F9, 0x07F9,
|
||||
/* k */ 0x0000, 0x01FF, 0x01FF, 0x0070, 0x00D8, 0x0188, 0x0100,
|
||||
/* l */ 0x0000, 0x01FF, 0x01FF,
|
||||
/* m */ 0x0000, 0x01F8, 0x01F8, 0x0008, 0x01F8, 0x01F8, 0x0008, 0x01F8, 0x01F0,
|
||||
/* n */ 0x0000, 0x01F8, 0x01F8, 0x0018, 0x0008, 0x01F8, 0x01F0,
|
||||
/* o */ 0x0000, 0x00F0, 0x01F8, 0x0108, 0x0108, 0x01F8, 0x00F0,
|
||||
/* p */ 0x0000, 0x07F8, 0x07F8, 0x0108, 0x0108, 0x01F8, 0x00F0,
|
||||
/* q */ 0x0000, 0x00F0, 0x01F8, 0x0108, 0x0108, 0x07F8, 0x07F8,
|
||||
/* r */ 0x0000, 0x01F8, 0x01F8, 0x0008,
|
||||
/* s */ 0x0000, 0x0090, 0x01B8, 0x0168, 0x01D8, 0x0090,
|
||||
/* t */ 0x0000, 0x00FE, 0x01FE, 0x0108,
|
||||
/* u */ 0x0000, 0x00F8, 0x01F8, 0x0100, 0x0180, 0x01F8, 0x01F8,
|
||||
/* v */ 0x0000, 0x0018, 0x0078, 0x01E0, 0x01E0, 0x0078, 0x0018,
|
||||
/* w */ 0x0000, 0x0078, 0x01F8, 0x01E0, 0x0078, 0x0078, 0x01E0, 0x01F8, 0x0078,
|
||||
/* x */ 0x0000, 0x0198, 0x01F8, 0x0060, 0x01F8, 0x0198,
|
||||
/* y */ 0x0400, 0x0478, 0x07F8, 0x0380, 0x00F8, 0x0078,
|
||||
/* z */ 0x0000, 0x0188, 0x01C8, 0x0168, 0x0138, 0x0118,
|
||||
/* { */ 0x0000, 0x0010, 0x01FF, 0x03EF, 0x0200,
|
||||
/* | */ 0x0000, 0x03FF, 0x03FF,
|
||||
/* } */ 0x0000, 0x0200, 0x03EF, 0x01FF, 0x0010,
|
||||
/* ~ */ 0x0000, 0x0004, 0x0006, 0x0002, 0x0006, 0x0004, 0x0006, 0x0002
|
||||
};
|
||||
#endif
|
||||
|
||||
/* fontLarger - Tahoma, 11, Bold */
|
||||
#if GDISP_INCLUDE_FONT_LARGER
|
||||
/* Forward Declarations of internal arrays */
|
||||
static const uint8_t fontLarger_Widths[];
|
||||
static const uint16_t fontLarger_Offsets[];
|
||||
static const fontcolumn_t fontLarger_Data[];
|
||||
|
||||
static const struct font fontLarger = {
|
||||
"Larger",
|
||||
12, 1, 13, 2, 2, 13, ' ', '~', 1, 1,
|
||||
fontLarger_Widths,
|
||||
fontLarger_Offsets,
|
||||
fontLarger_Data};
|
||||
static const struct font fontLargerDouble = {
|
||||
"Larger Double",
|
||||
12, 1, 13, 2, 2, 13, ' ', '~', 2, 2,
|
||||
fontLarger_Widths,
|
||||
fontLarger_Offsets,
|
||||
fontLarger_Data};
|
||||
static const struct font fontLargerNarrow = {
|
||||
"Larger Narrow",
|
||||
12, 1, 13, 2, 2, 13, ' ', '~', 1, 2,
|
||||
fontLarger_Widths,
|
||||
fontLarger_Offsets,
|
||||
fontLarger_Data};
|
||||
static const uint8_t fontLarger_Widths[] = {
|
||||
2, 3, 5, 8, 7, 13, 8, 2, 4, 4, 7, 8, 3, 4, 3, 5,
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 9, 8, 9, 6,
|
||||
9, 8, 7, 7, 8, 6, 5, 7, 8, 4, 5, 7, 6, 10, 7, 8,
|
||||
7, 8, 8, 7, 6, 7, 7, 11, 7, 6, 6, 4, 5, 4, 9, 8,
|
||||
5, 6, 7, 5, 7, 6, 5, 7, 7, 2, 3, 6, 2, 10, 7, 7,
|
||||
7, 7, 4, 5, 5, 7, 6, 10, 6, 6, 5, 6, 4, 6, 9, 0
|
||||
};
|
||||
static const uint16_t fontLarger_Offsets[] = {
|
||||
0, 2, 5, 10, 18, 25, 38, 46,
|
||||
48, 52, 56, 63, 71, 74, 78, 81,
|
||||
86, 93, 100, 107, 114, 121, 128, 135,
|
||||
142, 149, 156, 159, 162, 171, 179, 188,
|
||||
194, 203, 211, 218, 225, 233, 239, 244,
|
||||
251, 259, 263, 268, 275, 281, 291, 298,
|
||||
306, 313, 321, 329, 336, 342, 349, 356,
|
||||
367, 374, 380, 386, 390, 395, 399, 408,
|
||||
416, 421, 427, 434, 439, 446, 452, 457,
|
||||
464, 471, 473, 476, 482, 484, 494, 501,
|
||||
508, 515, 522, 526, 531, 536, 543, 549,
|
||||
559, 565, 571, 576, 582, 586, 592, 0
|
||||
};
|
||||
static const fontcolumn_t fontLarger_Data[] = {
|
||||
/* */ 0x0000, 0x0000,
|
||||
/* ! */ 0x0000, 0x037E, 0x037E,
|
||||
/* " */ 0x0007, 0x0007, 0x0000, 0x0007, 0x0007,
|
||||
/* # */ 0x00C0, 0x03D8, 0x00F8, 0x00DE, 0x03D8, 0x00F8, 0x00DE, 0x0018,
|
||||
/* $ */ 0x0118, 0x023C, 0x0264, 0x0FFF, 0x0264, 0x03C4, 0x0188,
|
||||
/* % */ 0x001C, 0x003E, 0x0022, 0x023E, 0x011C, 0x00C0, 0x0020, 0x0018, 0x01C4, 0x03E2, 0x0220, 0x03E0,
|
||||
0x01C0,
|
||||
/* & */ 0x01CC, 0x03FE, 0x0232, 0x0272, 0x03DE, 0x018C, 0x03E0, 0x0260,
|
||||
/* ' */ 0x0007, 0x0007,
|
||||
/* ( */ 0x01F8, 0x07FE, 0x0E07, 0x0801,
|
||||
/* ) */ 0x0801, 0x0E07, 0x07FE, 0x01F8,
|
||||
/* * */ 0x0000, 0x000A, 0x0004, 0x001F, 0x001F, 0x0004, 0x000A,
|
||||
/* + */ 0x0000, 0x0020, 0x0020, 0x0020, 0x01FC, 0x0020, 0x0020, 0x0020,
|
||||
/* , */ 0x0000, 0x0F00, 0x0700,
|
||||
/* - */ 0x0020, 0x0020, 0x0020, 0x0020,
|
||||
/* . */ 0x0000, 0x0300, 0x0300,
|
||||
/* / */ 0x0C00, 0x0380, 0x0060, 0x001C, 0x0003,
|
||||
/* 0 */ 0x01FC, 0x03FE, 0x0202, 0x0202, 0x0202, 0x03FE, 0x01FC,
|
||||
/* 1 */ 0x0000, 0x0204, 0x0204, 0x03FE, 0x03FE, 0x0200, 0x0200,
|
||||
/* 2 */ 0x0204, 0x0302, 0x0382, 0x02C2, 0x0262, 0x023E, 0x021C,
|
||||
/* 3 */ 0x0104, 0x0202, 0x0222, 0x0222, 0x0222, 0x03FE, 0x01DC,
|
||||
/* 4 */ 0x0060, 0x0050, 0x0048, 0x0044, 0x03FE, 0x03FE, 0x0040,
|
||||
/* 5 */ 0x0100, 0x021E, 0x021E, 0x0212, 0x0212, 0x03F2, 0x01E2,
|
||||
/* 6 */ 0x01F8, 0x03FC, 0x0216, 0x0212, 0x0212, 0x03F2, 0x01E0,
|
||||
/* 7 */ 0x0002, 0x0002, 0x0382, 0x03E2, 0x007A, 0x001E, 0x0006,
|
||||
/* 8 */ 0x01DC, 0x03FE, 0x0222, 0x0222, 0x0222, 0x03FE, 0x01DC,
|
||||
/* 9 */ 0x003C, 0x027E, 0x0242, 0x0242, 0x0342, 0x01FE, 0x00FC,
|
||||
/* : */ 0x0000, 0x0318, 0x0318,
|
||||
/* ; */ 0x0000, 0x0F18, 0x0718,
|
||||
/* < */ 0x0000, 0x0060, 0x0060, 0x0090, 0x0090, 0x0108, 0x0108, 0x0204, 0x0204,
|
||||
/* = */ 0x0000, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090,
|
||||
/* > */ 0x0000, 0x0204, 0x0204, 0x0108, 0x0108, 0x0090, 0x0090, 0x0060, 0x0060,
|
||||
/* ? */ 0x0004, 0x0002, 0x0362, 0x0372, 0x001E, 0x000C,
|
||||
/* @ */ 0x01F8, 0x0204, 0x04F2, 0x05FA, 0x050A, 0x04FA, 0x05FA, 0x0104, 0x00F8,
|
||||
/* A */ 0x0380, 0x03F0, 0x00FC, 0x008E, 0x008E, 0x00FC, 0x03F0, 0x0380,
|
||||
/* B */ 0x03FE, 0x03FE, 0x0222, 0x0222, 0x0222, 0x03FE, 0x01DC,
|
||||
/* C */ 0x01FC, 0x03FE, 0x0202, 0x0202, 0x0202, 0x0202, 0x018C,
|
||||
/* D */ 0x03FE, 0x03FE, 0x0202, 0x0202, 0x0202, 0x0306, 0x01FC, 0x00F8,
|
||||
/* E */ 0x03FE, 0x03FE, 0x0222, 0x0222, 0x0222, 0x0222,
|
||||
/* F */ 0x03FE, 0x03FE, 0x0022, 0x0022, 0x0022,
|
||||
/* G */ 0x01FC, 0x03FE, 0x0202, 0x0202, 0x0222, 0x03E2, 0x03EC,
|
||||
/* H */ 0x03FE, 0x03FE, 0x0020, 0x0020, 0x0020, 0x0020, 0x03FE, 0x03FE,
|
||||
/* I */ 0x0202, 0x03FE, 0x03FE, 0x0202,
|
||||
/* J */ 0x0200, 0x0202, 0x0202, 0x03FE, 0x01FE,
|
||||
/* K */ 0x03FE, 0x03FE, 0x0070, 0x00D8, 0x018C, 0x0306, 0x0202,
|
||||
/* L */ 0x03FE, 0x03FE, 0x0200, 0x0200, 0x0200, 0x0200,
|
||||
/* M */ 0x03FE, 0x000E, 0x001C, 0x0038, 0x0070, 0x0030, 0x0018, 0x000C, 0x03FE, 0x03FE,
|
||||
/* N */ 0x03FE, 0x000E, 0x001C, 0x0070, 0x01E0, 0x0380, 0x03FE,
|
||||
/* O */ 0x01FC, 0x03FE, 0x0202, 0x0202, 0x0202, 0x0202, 0x03FE, 0x01FC,
|
||||
/* P */ 0x03FE, 0x03FE, 0x0042, 0x0042, 0x0042, 0x007E, 0x003C,
|
||||
/* Q */ 0x01FC, 0x03FE, 0x0202, 0x0202, 0x0602, 0x0E02, 0x0BFE, 0x09FC,
|
||||
/* R */ 0x03FE, 0x03FE, 0x0022, 0x0062, 0x00E2, 0x01BE, 0x031C, 0x0200,
|
||||
/* S */ 0x019C, 0x023E, 0x0222, 0x0222, 0x0222, 0x03E2, 0x01CC,
|
||||
/* T */ 0x0002, 0x0002, 0x03FE, 0x03FE, 0x0002, 0x0002,
|
||||
/* U */ 0x01FE, 0x03FE, 0x0200, 0x0200, 0x0200, 0x03FE, 0x01FE,
|
||||
/* V */ 0x000E, 0x007E, 0x03F0, 0x0380, 0x03F0, 0x007E, 0x000E,
|
||||
/* W */ 0x001E, 0x00FE, 0x03E0, 0x03E0, 0x00FC, 0x000E, 0x00FC, 0x03E0, 0x03E0, 0x00FE, 0x001E,
|
||||
/* X */ 0x0306, 0x038E, 0x00F8, 0x0070, 0x00F8, 0x038E, 0x0306,
|
||||
/* Y */ 0x000E, 0x003E, 0x03F0, 0x03F0, 0x003E, 0x000E,
|
||||
/* Z */ 0x0382, 0x03C2, 0x0262, 0x0232, 0x021E, 0x020E,
|
||||
/* [ */ 0x0FFF, 0x0FFF, 0x0801, 0x0801,
|
||||
/* \ */ 0x0003, 0x001C, 0x0060, 0x0380, 0x0C00,
|
||||
/* ] */ 0x0801, 0x0801, 0x0FFF, 0x0FFF,
|
||||
/* ^ */ 0x0000, 0x0010, 0x0008, 0x0004, 0x0002, 0x0002, 0x0004, 0x0008, 0x0010,
|
||||
/* _ */ 0x0800, 0x0800, 0x0800, 0x0800, 0x0800, 0x0800, 0x0800, 0x0800,
|
||||
/* ` */ 0x0000, 0x0000, 0x0001, 0x0003, 0x0002,
|
||||
/* a */ 0x0180, 0x03D0, 0x0248, 0x0248, 0x03F8, 0x03F0,
|
||||
/* b */ 0x03FF, 0x03FF, 0x0210, 0x0208, 0x0208, 0x03F8, 0x01F0,
|
||||
/* c */ 0x01F0, 0x03F8, 0x0208, 0x0208, 0x0208,
|
||||
/* d */ 0x01F0, 0x03F8, 0x0208, 0x0208, 0x0108, 0x03FF, 0x03FF,
|
||||
/* e */ 0x01F0, 0x03F8, 0x0248, 0x0248, 0x0278, 0x0170,
|
||||
/* f */ 0x0008, 0x03FE, 0x03FF, 0x0009, 0x0001,
|
||||
/* g */ 0x01F0, 0x0BF8, 0x0A08, 0x0A08, 0x0908, 0x0FF8, 0x07F8,
|
||||
/* h */ 0x03FF, 0x03FF, 0x0010, 0x0008, 0x0008, 0x03F8, 0x03F0,
|
||||
/* i */ 0x03FA, 0x03FA,
|
||||
/* j */ 0x0808, 0x0FFA, 0x07FA,
|
||||
/* k */ 0x03FF, 0x03FF, 0x00E0, 0x01B0, 0x0318, 0x0208,
|
||||
/* l */ 0x03FF, 0x03FF,
|
||||
/* m */ 0x03F8, 0x03F8, 0x0008, 0x0008, 0x03F8, 0x03F0, 0x0008, 0x0008, 0x03F8, 0x03F0,
|
||||
/* n */ 0x03F8, 0x03F8, 0x0010, 0x0008, 0x0008, 0x03F8, 0x03F0,
|
||||
/* o */ 0x01F0, 0x03F8, 0x0208, 0x0208, 0x0208, 0x03F8, 0x01F0,
|
||||
/* p */ 0x0FF8, 0x0FF8, 0x0210, 0x0208, 0x0208, 0x03F8, 0x01F0,
|
||||
/* q */ 0x01F0, 0x03F8, 0x0208, 0x0208, 0x0108, 0x0FF8, 0x0FF8,
|
||||
/* r */ 0x03F8, 0x03F8, 0x0010, 0x0018,
|
||||
/* s */ 0x0130, 0x0278, 0x0248, 0x03C8, 0x0190,
|
||||
/* t */ 0x0008, 0x01FE, 0x03FE, 0x0208, 0x0208,
|
||||
/* u */ 0x01F8, 0x03F8, 0x0200, 0x0200, 0x0100, 0x03F8, 0x03F8,
|
||||
/* v */ 0x0038, 0x00F8, 0x03C0, 0x03C0, 0x00F8, 0x0038,
|
||||
/* w */ 0x0018, 0x00F8, 0x03E0, 0x0380, 0x00F8, 0x00F8, 0x0380, 0x03E0, 0x00F8, 0x0018,
|
||||
/* x */ 0x0318, 0x03B8, 0x00E0, 0x00E0, 0x03B8, 0x0318,
|
||||
/* y */ 0x0038, 0x0CF8, 0x0FC0, 0x03C0, 0x00F8, 0x0038,
|
||||
/* z */ 0x0388, 0x03C8, 0x0268, 0x0238, 0x0218,
|
||||
/* { */ 0x0020, 0x0020, 0x07FE, 0x0FDF, 0x0801, 0x0801,
|
||||
/* | */ 0x0000, 0x0000, 0x0FFF, 0x0FFF,
|
||||
/* } */ 0x0801, 0x0801, 0x0FDF, 0x07FE, 0x0020, 0x0020,
|
||||
/* ~ */ 0x00E0, 0x0030, 0x0030, 0x0030, 0x0060, 0x00C0, 0x00C0, 0x00C0, 0x0070
|
||||
};
|
||||
#endif
|
||||
|
||||
/* fontUI1 - UI Font 1 Medium Bold */
|
||||
#if GDISP_INCLUDE_FONT_UI1
|
||||
/* Forward Declarations of internal arrays */
|
||||
static const uint8_t fontUI1_Widths[];
|
||||
static const uint16_t fontUI1_Offsets[];
|
||||
static const fontcolumn_t fontUI1_Data[];
|
||||
|
||||
static const struct font fontUI1 = {
|
||||
"UI1",
|
||||
13, 0, 15, 2, 3, 13, ' ', '~', 1, 1,
|
||||
fontUI1_Widths,
|
||||
fontUI1_Offsets,
|
||||
fontUI1_Data};
|
||||
static const struct font fontUI1Double = {
|
||||
"UI1 Double",
|
||||
13, 0, 15, 2, 3, 13, ' ', '~', 2, 2,
|
||||
fontUI1_Widths,
|
||||
fontUI1_Offsets,
|
||||
fontUI1_Data};
|
||||
static const struct font fontUI1Narrow = {
|
||||
"UI1 Narrow",
|
||||
13, 0, 15, 2, 3, 13, ' ', '~', 1, 2,
|
||||
fontUI1_Widths,
|
||||
fontUI1_Offsets,
|
||||
fontUI1_Data};
|
||||
|
||||
static const uint8_t fontUI1_Widths[] = {
|
||||
3, 3, 6, 8, 7, 13, 9, 3, 5, 5, 6, 8, 3, 5, 3, 7,
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 8, 8, 8, 6,
|
||||
10, 8, 7, 7, 8, 7, 7, 8, 8, 5, 5, 7, 7, 9, 8, 8,
|
||||
7, 8, 8, 7, 8, 8, 7, 11, 7, 7, 7, 5, 7, 5, 9, 8,
|
||||
5, 7, 7, 6, 7, 7, 5, 7, 7, 3, 4, 7, 3, 11, 7, 7,
|
||||
7, 7, 6, 6, 5, 7, 7, 9, 7, 7, 6, 7, 4, 7, 8, 0
|
||||
};
|
||||
static const uint16_t fontUI1_Offsets[] = {
|
||||
0, 3, 6, 12, 20, 27, 40, 49,
|
||||
52, 57, 62, 68, 76, 79, 84, 87,
|
||||
94, 101, 108, 115, 122, 129, 136, 143,
|
||||
150, 157, 164, 167, 170, 178, 186, 194,
|
||||
200, 210, 218, 225, 232, 240, 247, 254,
|
||||
262, 270, 275, 280, 287, 294, 303, 311,
|
||||
319, 326, 334, 342, 349, 357, 365, 372,
|
||||
383, 390, 397, 404, 409, 416, 421, 430,
|
||||
438, 443, 450, 457, 463, 470, 477, 482,
|
||||
489, 496, 499, 503, 510, 513, 524, 531,
|
||||
538, 545, 552, 558, 564, 569, 576, 583,
|
||||
592, 599, 606, 612, 619, 623, 630, 0
|
||||
};
|
||||
static const fontcolumn_t fontUI1_Data[] = {
|
||||
/* */ 0x0000, 0x0000, 0x0000,
|
||||
/* ! */ 0x0000, 0x02FC, 0x02FC,
|
||||
/* " */ 0x0000, 0x000E, 0x000E, 0x0000, 0x000E, 0x000E,
|
||||
/* # */ 0x0000, 0x0080, 0x0390, 0x00F0, 0x039C, 0x00F0, 0x009C, 0x0010,
|
||||
/* $ */ 0x0000, 0x0130, 0x0278, 0x0FC8, 0x027E, 0x03C8, 0x0190,
|
||||
/* % */ 0x0000, 0x0038, 0x007C, 0x0044, 0x007C, 0x0338, 0x00C0, 0x0030, 0x01CC, 0x03E0, 0x0220, 0x03E0,
|
||||
0x01C0,
|
||||
/* & */ 0x0000, 0x01D8, 0x03FC, 0x0224, 0x027C, 0x02D8, 0x0180, 0x0360, 0x0220,
|
||||
/* ' */ 0x0000, 0x000E, 0x000E,
|
||||
/* ( */ 0x0000, 0x01F0, 0x07FC, 0x0E0E, 0x0802,
|
||||
/* ) */ 0x0000, 0x0802, 0x0E0E, 0x07FC, 0x01F0,
|
||||
/* * */ 0x0000, 0x0014, 0x0008, 0x003E, 0x0008, 0x0014,
|
||||
/* + */ 0x0000, 0x0040, 0x0040, 0x0040, 0x03F8, 0x0040, 0x0040, 0x0040,
|
||||
/* , */ 0x0000, 0x0F00, 0x0700,
|
||||
/* - */ 0x0000, 0x0040, 0x0040, 0x0040, 0x0040,
|
||||
/* . */ 0x0000, 0x0300, 0x0300,
|
||||
/* / */ 0x0000, 0x0C00, 0x0F00, 0x03E0, 0x00F8, 0x001E, 0x0006,
|
||||
/* 0 */ 0x0000, 0x01F8, 0x03FC, 0x0204, 0x0204, 0x03FC, 0x01F8,
|
||||
/* 1 */ 0x0000, 0x0000, 0x0208, 0x03FC, 0x03FC, 0x0200, 0x0000,
|
||||
/* 2 */ 0x0000, 0x0308, 0x038C, 0x02C4, 0x0264, 0x023C, 0x0218,
|
||||
/* 3 */ 0x0000, 0x0108, 0x030C, 0x0224, 0x0224, 0x03FC, 0x01D8,
|
||||
/* 4 */ 0x0000, 0x00C0, 0x00A0, 0x0090, 0x03F8, 0x03FC, 0x0080,
|
||||
/* 5 */ 0x0000, 0x0100, 0x033C, 0x023C, 0x0224, 0x03E4, 0x01C4,
|
||||
/* 6 */ 0x0000, 0x01F0, 0x03F8, 0x022C, 0x0224, 0x03E4, 0x01C0,
|
||||
/* 7 */ 0x0000, 0x0004, 0x0304, 0x03C4, 0x00F4, 0x003C, 0x000C,
|
||||
/* 8 */ 0x0000, 0x01D8, 0x03FC, 0x0224, 0x0224, 0x03FC, 0x01D8,
|
||||
/* 9 */ 0x0000, 0x0038, 0x027C, 0x0244, 0x0344, 0x01FC, 0x00F8,
|
||||
/* : */ 0x0000, 0x0330, 0x0330,
|
||||
/* ; */ 0x0000, 0x0F30, 0x0730,
|
||||
/* < */ 0x0000, 0x0040, 0x00A0, 0x00A0, 0x0110, 0x0110, 0x0208, 0x0208,
|
||||
/* = */ 0x0000, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090,
|
||||
/* > */ 0x0000, 0x0208, 0x0208, 0x0110, 0x0110, 0x00A0, 0x00A0, 0x0040,
|
||||
/* ? */ 0x0000, 0x0008, 0x02C4, 0x02E4, 0x003C, 0x0018,
|
||||
/* @ */ 0x0000, 0x01F0, 0x0208, 0x04E4, 0x05F4, 0x0514, 0x05F4, 0x05F4, 0x0104, 0x00F8,
|
||||
/* A */ 0x0000, 0x0380, 0x03F0, 0x00FC, 0x008C, 0x00FC, 0x03F0, 0x0380,
|
||||
/* B */ 0x0000, 0x03FC, 0x03FC, 0x0224, 0x0224, 0x03FC, 0x01D8,
|
||||
/* C */ 0x0000, 0x01F8, 0x03FC, 0x0204, 0x0204, 0x0204, 0x0108,
|
||||
/* D */ 0x0000, 0x03FC, 0x03FC, 0x0204, 0x0204, 0x030C, 0x01F8, 0x00F0,
|
||||
/* E */ 0x0000, 0x03FC, 0x03FC, 0x0224, 0x0224, 0x0224, 0x0224,
|
||||
/* F */ 0x0000, 0x03FC, 0x03FC, 0x0024, 0x0024, 0x0024, 0x0024,
|
||||
/* G */ 0x0000, 0x01F8, 0x03FC, 0x0204, 0x0204, 0x0244, 0x03C4, 0x03C8,
|
||||
/* H */ 0x0000, 0x03FC, 0x03FC, 0x0020, 0x0020, 0x0020, 0x03FC, 0x03FC,
|
||||
/* I */ 0x0000, 0x0204, 0x03FC, 0x03FC, 0x0204,
|
||||
/* J */ 0x0200, 0x0204, 0x0204, 0x03FC, 0x01FC,
|
||||
/* K */ 0x0000, 0x03FC, 0x03FC, 0x00F0, 0x0198, 0x030C, 0x0204,
|
||||
/* L */ 0x0000, 0x03FC, 0x03FC, 0x0200, 0x0200, 0x0200, 0x0200,
|
||||
/* M */ 0x0000, 0x03FC, 0x001C, 0x0038, 0x0070, 0x0020, 0x0010, 0x03F8, 0x03FC,
|
||||
/* N */ 0x0000, 0x03FC, 0x0018, 0x0030, 0x0060, 0x00C0, 0x0180, 0x03FC,
|
||||
/* O */ 0x0000, 0x01F8, 0x03FC, 0x0204, 0x0204, 0x0204, 0x03FC, 0x01F8,
|
||||
/* P */ 0x0000, 0x03FC, 0x03FC, 0x0044, 0x0044, 0x007C, 0x0038,
|
||||
/* Q */ 0x0000, 0x01F8, 0x03FC, 0x0204, 0x0604, 0x0E04, 0x0BFC, 0x09F8,
|
||||
/* R */ 0x0000, 0x03FC, 0x03FC, 0x0044, 0x00C4, 0x01FC, 0x0338, 0x0200,
|
||||
/* S */ 0x0000, 0x0138, 0x027C, 0x0264, 0x0264, 0x03E4, 0x01C8,
|
||||
/* T */ 0x0004, 0x0004, 0x0004, 0x03FC, 0x03FC, 0x0004, 0x0004, 0x0004,
|
||||
/* U */ 0x0000, 0x01FC, 0x03FC, 0x0200, 0x0200, 0x0200, 0x03FC, 0x01FC,
|
||||
/* V */ 0x0000, 0x001C, 0x00FC, 0x03E0, 0x03E0, 0x00FC, 0x001C,
|
||||
/* W */ 0x0000, 0x001C, 0x00FC, 0x03E0, 0x03C0, 0x007C, 0x007C, 0x03C0, 0x03E0, 0x00FC, 0x001C,
|
||||
/* X */ 0x0000, 0x030C, 0x039C, 0x00F0, 0x00F0, 0x039C, 0x030C,
|
||||
/* Y */ 0x0000, 0x000C, 0x003C, 0x03F0, 0x03F0, 0x003C, 0x000C,
|
||||
/* Z */ 0x0000, 0x0384, 0x03C4, 0x02E4, 0x0274, 0x023C, 0x021C,
|
||||
/* [ */ 0x0000, 0x0FFE, 0x0FFE, 0x0802, 0x0802,
|
||||
/* \ */ 0x0000, 0x0006, 0x001E, 0x00F8, 0x03E0, 0x0F00, 0x0C00,
|
||||
/* ] */ 0x0000, 0x0802, 0x0802, 0x0FFE, 0x0FFE,
|
||||
/* ^ */ 0x0000, 0x0020, 0x0030, 0x0018, 0x000C, 0x000C, 0x0018, 0x0030, 0x0020,
|
||||
/* _ */ 0x0800, 0x0800, 0x0800, 0x0800, 0x0800, 0x0800, 0x0800, 0x0800,
|
||||
/* ` */ 0x0000, 0x0000, 0x0002, 0x0006, 0x0004,
|
||||
/* a */ 0x0000, 0x0180, 0x03D0, 0x0250, 0x0250, 0x03F0, 0x03E0,
|
||||
/* b */ 0x0000, 0x03FE, 0x03FE, 0x0210, 0x0210, 0x03F0, 0x01E0,
|
||||
/* c */ 0x0000, 0x01E0, 0x03F0, 0x0210, 0x0210, 0x0210,
|
||||
/* d */ 0x0000, 0x01E0, 0x03F0, 0x0210, 0x0210, 0x03FE, 0x03FE,
|
||||
/* e */ 0x0000, 0x01E0, 0x03F0, 0x0250, 0x0250, 0x0270, 0x0160,
|
||||
/* f */ 0x0010, 0x03FC, 0x03FE, 0x0012, 0x0012,
|
||||
/* g */ 0x0000, 0x01E0, 0x0BF0, 0x0A10, 0x0A10, 0x0FF0, 0x07F0,
|
||||
/* h */ 0x0000, 0x03FE, 0x03FE, 0x0010, 0x0010, 0x03F0, 0x03E0,
|
||||
/* i */ 0x0000, 0x03F4, 0x03F4,
|
||||
/* j */ 0x0800, 0x0810, 0x0FF4, 0x07F4,
|
||||
/* k */ 0x0000, 0x03FE, 0x03FE, 0x00C0, 0x01E0, 0x0330, 0x0210,
|
||||
/* l */ 0x0000, 0x03FE, 0x03FE,
|
||||
/* m */ 0x0000, 0x03F0, 0x03F0, 0x0010, 0x0010, 0x03F0, 0x03E0, 0x0010, 0x0010, 0x03F0, 0x03E0,
|
||||
/* n */ 0x0000, 0x03F0, 0x03F0, 0x0010, 0x0010, 0x03F0, 0x03E0,
|
||||
/* o */ 0x0000, 0x01E0, 0x03F0, 0x0210, 0x0210, 0x03F0, 0x01E0,
|
||||
/* p */ 0x0000, 0x0FF0, 0x0FF0, 0x0210, 0x0210, 0x03F0, 0x01E0,
|
||||
/* q */ 0x0000, 0x01E0, 0x03F0, 0x0210, 0x0210, 0x0FF0, 0x0FF0,
|
||||
/* r */ 0x0000, 0x03F0, 0x03F0, 0x0020, 0x0030, 0x0030,
|
||||
/* s */ 0x0000, 0x0260, 0x02F0, 0x02D0, 0x03D0, 0x0190,
|
||||
/* t */ 0x0010, 0x01FC, 0x03FC, 0x0210, 0x0210,
|
||||
/* u */ 0x0000, 0x01F0, 0x03F0, 0x0200, 0x0200, 0x03F0, 0x03F0,
|
||||
/* v */ 0x0000, 0x0070, 0x01F0, 0x0380, 0x0380, 0x01F0, 0x0070,
|
||||
/* w */ 0x0000, 0x00F0, 0x03F0, 0x0300, 0x00F0, 0x00F0, 0x0300, 0x03F0, 0x00F0,
|
||||
/* x */ 0x0000, 0x0330, 0x03F0, 0x00C0, 0x00C0, 0x03F0, 0x0330,
|
||||
/* y */ 0x0000, 0x0030, 0x0CF0, 0x0FC0, 0x03C0, 0x00F0, 0x0030,
|
||||
/* z */ 0x0000, 0x0310, 0x0390, 0x02D0, 0x0270, 0x0230,
|
||||
/* { */ 0x0000, 0x0040, 0x0040, 0x07FC, 0x0FBE, 0x0802, 0x0802,
|
||||
/* | */ 0x0000, 0x0000, 0x0FFE, 0x0FFE,
|
||||
/* } */ 0x0000, 0x0802, 0x0802, 0x0FBE, 0x07FC, 0x0040, 0x0040,
|
||||
/* ~ */ 0x0000, 0x01C0, 0x0020, 0x0020, 0x00C0, 0x0100, 0x0100, 0x00E0
|
||||
};
|
||||
#endif
|
||||
|
||||
/* fontUI1 - UI Font 2 Medium Bold */
|
||||
#if GDISP_INCLUDE_FONT_UI2
|
||||
/* Forward Declarations of internal arrays */
|
||||
static const uint8_t fontUI2_Widths[];
|
||||
static const uint16_t fontUI2_Offsets[];
|
||||
static const fontcolumn_t fontUI2_Data[];
|
||||
|
||||
static const struct font fontUI2 = {
|
||||
"UI2",
|
||||
11, 1, 13, 2, 2, 12, ' ', '~', 1, 1,
|
||||
fontUI2_Widths,
|
||||
fontUI2_Offsets,
|
||||
fontUI2_Data};
|
||||
static const struct font fontUI2Double = {
|
||||
"UI2 Double",
|
||||
11, 1, 13, 2, 2, 12, ' ', '~', 2, 2,
|
||||
fontUI2_Widths,
|
||||
fontUI2_Offsets,
|
||||
fontUI2_Data};
|
||||
static const struct font fontUI2Narrow = {
|
||||
"UI2 Narrow",
|
||||
11, 1, 13, 2, 2, 12, ' ', '~', 1, 2,
|
||||
fontUI2_Widths,
|
||||
fontUI2_Offsets,
|
||||
fontUI2_Data};
|
||||
|
||||
static const uint8_t fontUI2_Widths[] = {
|
||||
2, 2, 5, 8, 6, 12, 8, 2, 4, 4, 6, 8, 2, 4, 2, 5,
|
||||
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2, 2, 8, 8, 8, 5,
|
||||
9, 7, 6, 6, 7, 5, 5, 7, 7, 4, 5, 6, 5, 9, 6, 7,
|
||||
6, 7, 7, 6, 6, 7, 6, 10, 6, 6, 6, 4, 5, 4, 7, 7,
|
||||
4, 6, 6, 5, 6, 6, 4, 6, 6, 2, 3, 6, 2, 10, 6, 6,
|
||||
6, 6, 4, 5, 4, 6, 6, 8, 6, 6, 5, 6, 4, 6, 8, 0
|
||||
};
|
||||
static const uint16_t fontUI2_Offsets[] = {
|
||||
0, 2, 4, 9, 17, 23, 35, 43,
|
||||
45, 49, 53, 59, 67, 69, 73, 75,
|
||||
80, 86, 92, 98, 104, 110, 116, 122,
|
||||
128, 134, 140, 142, 144, 152, 160, 168,
|
||||
173, 182, 189, 195, 201, 208, 213, 218,
|
||||
225, 232, 236, 241, 247, 252, 261, 267,
|
||||
274, 280, 287, 294, 300, 306, 313, 319,
|
||||
329, 335, 341, 347, 351, 356, 360, 367,
|
||||
374, 378, 384, 390, 395, 401, 407, 411,
|
||||
417, 423, 425, 428, 434, 436, 446, 452,
|
||||
458, 464, 470, 474, 479, 483, 489, 495,
|
||||
503, 509, 515, 520, 526, 530, 536, 0
|
||||
};
|
||||
static const fontcolumn_t fontUI2_Data[] = {
|
||||
/* */ 0x0000, 0x0000,
|
||||
/* ! */ 0x017E, 0x017E,
|
||||
/* " */ 0x0007, 0x0007, 0x0000, 0x0007, 0x0007,
|
||||
/* # */ 0x00C0, 0x03D8, 0x00F8, 0x00DE, 0x03D8, 0x00F8, 0x00DE, 0x0018,
|
||||
/* $ */ 0x0098, 0x013C, 0x07E4, 0x013F, 0x01E4, 0x00C8,
|
||||
/* % */ 0x001C, 0x003E, 0x0022, 0x003E, 0x019C, 0x0060, 0x0018, 0x00E6, 0x01F0, 0x0110, 0x01F0, 0x00E0,
|
||||
/* & */ 0x00EC, 0x01FE, 0x0112, 0x013E, 0x016C, 0x00C0, 0x01B0, 0x0110,
|
||||
/* ' */ 0x0007, 0x0007,
|
||||
/* ( */ 0x00F8, 0x03FE, 0x0707, 0x0401,
|
||||
/* ) */ 0x0401, 0x0707, 0x03FE, 0x00F8,
|
||||
/* * */ 0x000A, 0x0004, 0x001F, 0x001F, 0x0004, 0x000A,
|
||||
/* + */ 0x0000, 0x0020, 0x0020, 0x0020, 0x01FC, 0x0020, 0x0020, 0x0020,
|
||||
/* , */ 0x0780, 0x0380,
|
||||
/* - */ 0x0020, 0x0020, 0x0020, 0x0020,
|
||||
/* . */ 0x0180, 0x0180,
|
||||
/* / */ 0x0600, 0x0180, 0x0070, 0x000C, 0x0003,
|
||||
/* 0 */ 0x00FC, 0x01FE, 0x0102, 0x0102, 0x01FE, 0x00FC,
|
||||
/* 1 */ 0x0000, 0x0104, 0x01FE, 0x01FE, 0x0100, 0x0000,
|
||||
/* 2 */ 0x0184, 0x01C6, 0x0162, 0x0132, 0x011E, 0x010C,
|
||||
/* 3 */ 0x0084, 0x0186, 0x0112, 0x0112, 0x01FE, 0x00EC,
|
||||
/* 4 */ 0x0060, 0x0050, 0x0048, 0x01FC, 0x01FE, 0x0040,
|
||||
/* 5 */ 0x0080, 0x019E, 0x011E, 0x0112, 0x01F2, 0x00E2,
|
||||
/* 6 */ 0x00FC, 0x01FE, 0x0112, 0x0112, 0x01F2, 0x00E0,
|
||||
/* 7 */ 0x0002, 0x0002, 0x01C2, 0x01FA, 0x003E, 0x0006,
|
||||
/* 8 */ 0x00EC, 0x01FE, 0x0112, 0x0112, 0x01FE, 0x00EC,
|
||||
/* 9 */ 0x001C, 0x013E, 0x0122, 0x0122, 0x01FE, 0x00FC,
|
||||
/* : */ 0x0198, 0x0198,
|
||||
/* ; */ 0x0798, 0x0398,
|
||||
/* < */ 0x0000, 0x0020, 0x0050, 0x0050, 0x0088, 0x0088, 0x0104, 0x0104,
|
||||
/* = */ 0x0000, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
|
||||
/* > */ 0x0000, 0x0104, 0x0104, 0x0088, 0x0088, 0x0050, 0x0050, 0x0020,
|
||||
/* ? */ 0x0004, 0x0162, 0x0172, 0x001E, 0x000C,
|
||||
/* @ */ 0x00F8, 0x0104, 0x0272, 0x02FA, 0x028A, 0x027A, 0x02FA, 0x0084, 0x0078,
|
||||
/* A */ 0x01C0, 0x01F8, 0x007E, 0x0046, 0x007E, 0x01F8, 0x01C0,
|
||||
/* B */ 0x01FE, 0x01FE, 0x0112, 0x0112, 0x01FE, 0x00EC,
|
||||
/* C */ 0x00FC, 0x01FE, 0x0102, 0x0102, 0x0102, 0x0102,
|
||||
/* D */ 0x01FE, 0x01FE, 0x0102, 0x0102, 0x0186, 0x00FC, 0x0078,
|
||||
/* E */ 0x01FE, 0x01FE, 0x0112, 0x0112, 0x0112,
|
||||
/* F */ 0x01FE, 0x01FE, 0x0012, 0x0012, 0x0012,
|
||||
/* G */ 0x00FC, 0x01FE, 0x0102, 0x0102, 0x0122, 0x01E2, 0x01E2,
|
||||
/* H */ 0x01FE, 0x01FE, 0x0010, 0x0010, 0x0010, 0x01FE, 0x01FE,
|
||||
/* I */ 0x0102, 0x01FE, 0x01FE, 0x0102,
|
||||
/* J */ 0x0100, 0x0102, 0x0102, 0x01FE, 0x00FE,
|
||||
/* K */ 0x01FE, 0x01FE, 0x0078, 0x00CC, 0x0186, 0x0102,
|
||||
/* L */ 0x01FE, 0x01FE, 0x0100, 0x0100, 0x0100,
|
||||
/* M */ 0x01FE, 0x000E, 0x001C, 0x0038, 0x0030, 0x0018, 0x000C, 0x01FE, 0x01FE,
|
||||
/* N */ 0x01FE, 0x000E, 0x001C, 0x0038, 0x0070, 0x01FE,
|
||||
/* O */ 0x00FC, 0x01FE, 0x0102, 0x0102, 0x0102, 0x01FE, 0x00FC,
|
||||
/* P */ 0x01FE, 0x01FE, 0x0022, 0x0022, 0x003E, 0x001C,
|
||||
/* Q */ 0x00FC, 0x01FE, 0x0102, 0x0302, 0x0702, 0x05FE, 0x04FC,
|
||||
/* R */ 0x01FE, 0x01FE, 0x0022, 0x0062, 0x00FE, 0x019C, 0x0100,
|
||||
/* S */ 0x011C, 0x013E, 0x0132, 0x0132, 0x01F2, 0x00E2,
|
||||
/* T */ 0x0002, 0x0002, 0x01FE, 0x01FE, 0x0002, 0x0002,
|
||||
/* U */ 0x00FE, 0x01FE, 0x0100, 0x0100, 0x0100, 0x01FE, 0x00FE,
|
||||
/* V */ 0x000E, 0x007E, 0x01F0, 0x01F0, 0x007E, 0x000E,
|
||||
/* W */ 0x000E, 0x007E, 0x01F0, 0x01E0, 0x003E, 0x003E, 0x01E0, 0x01F0, 0x007E, 0x000E,
|
||||
/* X */ 0x0186, 0x01CE, 0x0078, 0x0078, 0x01CE, 0x0186,
|
||||
/* Y */ 0x0006, 0x001E, 0x01F8, 0x01F8, 0x001E, 0x0006,
|
||||
/* Z */ 0x01C2, 0x01E2, 0x0172, 0x013A, 0x011E, 0x010E,
|
||||
/* [ */ 0x07FF, 0x07FF, 0x0401, 0x0401,
|
||||
/* \ */ 0x0003, 0x000C, 0x0070, 0x0180, 0x0600,
|
||||
/* ] */ 0x0401, 0x0401, 0x07FF, 0x07FF,
|
||||
/* ^ */ 0x0010, 0x0008, 0x0004, 0x0002, 0x0004, 0x0008, 0x0010,
|
||||
/* _ */ 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400,
|
||||
/* ` */ 0x0000, 0x0001, 0x0003, 0x0002,
|
||||
/* a */ 0x00C0, 0x01E8, 0x0128, 0x0128, 0x01F8, 0x01F0,
|
||||
/* b */ 0x01FF, 0x01FF, 0x0108, 0x0108, 0x01F8, 0x00F0,
|
||||
/* c */ 0x00F0, 0x01F8, 0x0108, 0x0108, 0x0108,
|
||||
/* d */ 0x00F0, 0x01F8, 0x0108, 0x0108, 0x01FF, 0x01FF,
|
||||
/* e */ 0x00F0, 0x01F8, 0x0128, 0x0128, 0x0138, 0x0130,
|
||||
/* f */ 0x01FE, 0x01FF, 0x0009, 0x0001,
|
||||
/* g */ 0x00F0, 0x05F8, 0x0508, 0x0508, 0x07F8, 0x03F8,
|
||||
/* h */ 0x01FF, 0x01FF, 0x0008, 0x0008, 0x01F8, 0x01F0,
|
||||
/* i */ 0x01FA, 0x01FA,
|
||||
/* j */ 0x0408, 0x07FA, 0x03FA,
|
||||
/* k */ 0x01FF, 0x01FF, 0x0060, 0x00F0, 0x0198, 0x0108,
|
||||
/* l */ 0x01FF, 0x01FF,
|
||||
/* m */ 0x01F8, 0x01F8, 0x0008, 0x0008, 0x01F8, 0x01F0, 0x0008, 0x0008, 0x01F8, 0x01F0,
|
||||
/* n */ 0x01F8, 0x01F8, 0x0008, 0x0008, 0x01F8, 0x01F0,
|
||||
/* o */ 0x00F0, 0x01F8, 0x0108, 0x0108, 0x01F8, 0x00F0,
|
||||
/* p */ 0x07F8, 0x07F8, 0x0108, 0x0108, 0x01F8, 0x00F0,
|
||||
/* q */ 0x00F0, 0x01F8, 0x0108, 0x0108, 0x07F8, 0x07F8,
|
||||
/* r */ 0x01F8, 0x01F8, 0x0010, 0x0018,
|
||||
/* s */ 0x0130, 0x0178, 0x0168, 0x01E8, 0x00C8,
|
||||
/* t */ 0x00FE, 0x01FE, 0x0108, 0x0108,
|
||||
/* u */ 0x00F8, 0x01F8, 0x0100, 0x0100, 0x01F8, 0x01F8,
|
||||
/* v */ 0x0018, 0x0078, 0x01E0, 0x01E0, 0x0078, 0x0018,
|
||||
/* w */ 0x0078, 0x01F8, 0x01C0, 0x0078, 0x0078, 0x01C0, 0x01F8, 0x0078,
|
||||
/* x */ 0x0198, 0x01F8, 0x0060, 0x0060, 0x01F8, 0x0198,
|
||||
/* y */ 0x0018, 0x0678, 0x07E0, 0x01E0, 0x0078, 0x0018,
|
||||
/* z */ 0x0188, 0x01C8, 0x0168, 0x0138, 0x0118,
|
||||
/* { */ 0x0020, 0x0020, 0x03FE, 0x07DF, 0x0401, 0x0401,
|
||||
/* | */ 0x0000, 0x0000, 0x07FF, 0x07FF,
|
||||
/* } */ 0x0401, 0x0401, 0x07DF, 0x03FE, 0x0020, 0x0020,
|
||||
/* ~ */ 0x0060, 0x0010, 0x0010, 0x0030, 0x0060, 0x0040, 0x0040, 0x0030
|
||||
};
|
||||
#endif
|
||||
|
||||
/*
|
||||
fontLargeNumbers:
|
||||
Large numbers font, height = 16 (including the decenders)
|
||||
Characters include: 0 - 9, -, +, ., %, :, Space, Comma
|
||||
*/
|
||||
#if GDISP_INCLUDE_FONT_LARGENUMBERS
|
||||
/* Forward Declarations of internal arrays */
|
||||
static const uint8_t fontLargeNumbers_Widths[];
|
||||
static const uint16_t fontLargeNumbers_Offsets[];
|
||||
static const fontcolumn_t fontLargeNumbers_Data[];
|
||||
|
||||
static const struct font fontLargeNumbers = {
|
||||
"LargeNumbers",
|
||||
16, 2, 21, 1, 3, 15, '%', ':', 1, 1,
|
||||
fontLargeNumbers_Widths,
|
||||
fontLargeNumbers_Offsets,
|
||||
fontLargeNumbers_Data};
|
||||
static const struct font fontLargeNumbersDouble = {
|
||||
"LargeNumbers Double",
|
||||
16, 2, 21, 1, 3, 15, '%', ':', 2, 2,
|
||||
fontLargeNumbers_Widths,
|
||||
fontLargeNumbers_Offsets,
|
||||
fontLargeNumbers_Data};
|
||||
static const struct font fontLargeNumbersNarrow = {
|
||||
"LargeNumbers Narrow", 16, 2, 21, 1, 3, 15, '%', ':', 1, 2,
|
||||
fontLargeNumbers_Widths,
|
||||
fontLargeNumbers_Offsets,
|
||||
fontLargeNumbers_Data};
|
||||
|
||||
static const uint8_t fontLargeNumbers_Widths[] = {
|
||||
15, 0, 0, 0, 0, 0, 11, 3, 6, 3, 0, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 4, 0, 0
|
||||
};
|
||||
static const uint16_t fontLargeNumbers_Offsets[] = {
|
||||
0, 0, 0, 0, 0, 0, 15, 26,
|
||||
29, 35, 0, 38, 48, 58, 68, 78,
|
||||
88, 98, 108, 118, 128, 138, 0, 0
|
||||
};
|
||||
static const fontcolumn_t fontLargeNumbers_Data[] = {
|
||||
/* % */ 0x007E, 0x00FF, 0x00C3, 0x80C3, 0xE0FF, 0x7C7E, 0x1F00, 0x07C0, 0x00F0, 0x7E3E, 0xFF0F, 0xC303,
|
||||
0xC300, 0xFF00, 0x7E00,
|
||||
/* + */ 0x01C0, 0x01C0, 0x01C0, 0x01C0, 0x1FFC, 0x1FFC, 0x1FFC, 0x01C0, 0x01C0, 0x01C0, 0x01C0,
|
||||
/* , */ 0x7000, 0x7000, 0xF000,
|
||||
/* - */ 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700,
|
||||
/* . */ 0x7000, 0x7000, 0x7000,
|
||||
/* 0 */ 0x0FF8, 0x3FFE, 0x3FFE, 0x7007, 0x6003, 0x6003, 0x7007, 0x3FFE, 0x3FFE, 0x0FF8,
|
||||
/* 1 */ 0x0000, 0x0070, 0x0038, 0x0038, 0x001C, 0x7FFF, 0x7FFF, 0x7FFF, 0x0000, 0x0000,
|
||||
/* 2 */ 0x600C, 0x700E, 0x7C0F, 0x7E07, 0x6F03, 0x6783, 0x63C7, 0x61FF, 0x60FE, 0x603C,
|
||||
/* 3 */ 0x180C, 0x380E, 0x780F, 0x70C3, 0x60C3, 0x60E3, 0x71FF, 0x3FFE, 0x3F3C, 0x0E00,
|
||||
/* 4 */ 0x0F00, 0x0DC0, 0x0CE0, 0x0C38, 0x0C1E, 0x7FFF, 0x7FFF, 0x7FFF, 0x0C00, 0x0C00,
|
||||
/* 5 */ 0x18C0, 0x38FC, 0x78FF, 0x707F, 0x6063, 0x6063, 0x70E3, 0x3FE3, 0x3FC3, 0x0F80,
|
||||
/* 6 */ 0x0FF8, 0x3FFE, 0x3FFE, 0x70C7, 0x6063, 0x6063, 0x70E7, 0x3FEF, 0x3FC6, 0x0F04,
|
||||
/* 7 */ 0x0003, 0x0003, 0x7803, 0x7F03, 0x7FC3, 0x07F3, 0x00FB, 0x003F, 0x000F, 0x0007,
|
||||
/* 8 */ 0x1E1C, 0x3F3E, 0x7FFF, 0x71E7, 0x60C3, 0x60C3, 0x71E7, 0x7FFF, 0x3F3E, 0x1E1C,
|
||||
/* 9 */ 0x1078, 0x39FE, 0x7BFE, 0x7387, 0x6303, 0x6303, 0x7187, 0x3FFE, 0x3FFE, 0x0FF8,
|
||||
/* : */ 0x0000, 0x0E38, 0x0E38, 0x0E38
|
||||
};
|
||||
#endif
|
||||
|
||||
static const struct font *BuiltinFontTable[] = {
|
||||
#if GDISP_INCLUDE_FONT_SMALL
|
||||
&fontSmall, &fontSmallDouble, &fontSmallNarrow,
|
||||
#endif
|
||||
#if GDISP_INCLUDE_FONT_LARGER
|
||||
&fontLarger, &fontLargerDouble, &fontLargerNarrow,
|
||||
#endif
|
||||
#if GDISP_INCLUDE_FONT_UI1
|
||||
&fontUI1, &fontUI1Double, &fontUI1Narrow,
|
||||
#endif
|
||||
#if GDISP_INCLUDE_FONT_UI2
|
||||
&fontUI2, &fontUI2Double, &fontUI2Narrow,
|
||||
#endif
|
||||
#if GDISP_INCLUDE_FONT_LARGENUMBERS
|
||||
&fontLargeNumbers, &fontLargeNumbersDouble, &fontLargeNumbersNarrow,
|
||||
#endif
|
||||
};
|
||||
/* Custom flag to indicate dynamically allocated font */
|
||||
#define FONT_FLAG_DYNAMIC 0x80
|
||||
|
||||
/**
|
||||
* Match a pattern against the font name.
|
||||
@ -712,21 +49,44 @@ static bool_t matchfont(const char *pattern, const char *name) {
|
||||
}
|
||||
|
||||
font_t gdispOpenFont(const char *name) {
|
||||
const struct font **p;
|
||||
|
||||
for(p = BuiltinFontTable; p < BuiltinFontTable+sizeof(BuiltinFontTable)/sizeof(BuiltinFontTable[0]); p++) {
|
||||
if (matchfont(name, p[0]->name))
|
||||
return p[0];
|
||||
const struct mf_font_list_s *fp;
|
||||
int i;
|
||||
|
||||
fp = mf_get_font_list();
|
||||
|
||||
while (fp)
|
||||
{
|
||||
if (matchfont(name, fp->font->short_name))
|
||||
return fp->font;
|
||||
fp = fp->next;
|
||||
}
|
||||
return 0;
|
||||
|
||||
/* Return default font.. better than nothing. */
|
||||
return mf_get_font_list()->font;
|
||||
}
|
||||
|
||||
void gdispCloseFont(font_t font) {
|
||||
(void) font;
|
||||
if (font->flags & FONT_FLAG_DYNAMIC)
|
||||
{
|
||||
struct mf_font_s *dfont = (struct mf_font_s *)font;
|
||||
|
||||
/* Make sure that no-one can successfully use font after closing */
|
||||
dfont->render_character = NULL;
|
||||
|
||||
/* Release the allocated memory */
|
||||
gfxFree(dfont);
|
||||
}
|
||||
}
|
||||
|
||||
font_t gdispScaleFont(font_t font, uint8_t scale_x, uint8_t scale_y)
|
||||
{
|
||||
struct mf_scaledfont_s *newfont = gfxAlloc(sizeof(struct mf_scaledfont_s));
|
||||
mf_scale_font(newfont, font, scale_x, scale_y);
|
||||
return (font_t)newfont;
|
||||
}
|
||||
|
||||
const char *gdispGetFontName(font_t font) {
|
||||
return font->name;
|
||||
return font->short_name;
|
||||
}
|
||||
|
||||
#endif /* GFX_USE_GDISP && GDISP_NEED_TEXT */
|
||||
|
BIN
src/gdisp/fonts/DejaVuSans-Bold.ttf
Normal file
BIN
src/gdisp/fonts/DejaVuSans-Bold.ttf
Normal file
Binary file not shown.
58
src/gdisp/fonts/DejaVuSans.license
Normal file
58
src/gdisp/fonts/DejaVuSans.license
Normal file
@ -0,0 +1,58 @@
|
||||
This package was debianized by Peter Cernak <pce@users.sourceforge.net> on
|
||||
Sun, 5 Sep 2004 17:10:26 +0200.
|
||||
|
||||
It was downloaded from http://dejavu.sourceforge.net/
|
||||
|
||||
Upstream Authors: Stepan Roh <src@users.sourceforge.net> (original author),
|
||||
see /usr/share/doc/ttf-dejavu/AUTHORS for full list
|
||||
|
||||
Copyright:
|
||||
|
||||
Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
|
||||
|
||||
Bitstream Vera Fonts Copyright
|
||||
------------------------------
|
||||
|
||||
Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is
|
||||
a trademark of Bitstream, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of the fonts accompanying this license ("Fonts") and associated
|
||||
documentation files (the "Font Software"), to reproduce and distribute the
|
||||
Font Software, including without limitation the rights to use, copy, merge,
|
||||
publish, distribute, and/or sell copies of the Font Software, and to permit
|
||||
persons to whom the Font Software is furnished to do so, subject to the
|
||||
following conditions:
|
||||
|
||||
The above copyright and trademark notices and this permission notice shall
|
||||
be included in all copies of one or more of the Font Software typefaces.
|
||||
|
||||
The Font Software may be modified, altered, or added to, and in particular
|
||||
the designs of glyphs or characters in the Fonts may be modified and
|
||||
additional glyphs or characters may be added to the Fonts, only if the fonts
|
||||
are renamed to names not containing either the words "Bitstream" or the word
|
||||
"Vera".
|
||||
|
||||
This License becomes null and void to the extent applicable to Fonts or Font
|
||||
Software that has been modified and is distributed under the "Bitstream
|
||||
Vera" names.
|
||||
|
||||
The Font Software may be sold as part of a larger software package but no
|
||||
copy of one or more of the Font Software typefaces may be sold by itself.
|
||||
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
|
||||
TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
|
||||
FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING
|
||||
ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
|
||||
THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE
|
||||
FONT SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the names of Gnome, the Gnome
|
||||
Foundation, and Bitstream Inc., shall not be used in advertising or
|
||||
otherwise to promote the sale, use or other dealings in this Font Software
|
||||
without prior written authorization from the Gnome Foundation or Bitstream
|
||||
Inc., respectively. For further information, contact: fonts at gnome dot
|
||||
org.
|
BIN
src/gdisp/fonts/DejaVuSans.ttf
Normal file
BIN
src/gdisp/fonts/DejaVuSans.ttf
Normal file
Binary file not shown.
166
src/gdisp/fonts/DejaVuSans10.c
Normal file
166
src/gdisp/fonts/DejaVuSans10.c
Normal file
@ -0,0 +1,166 @@
|
||||
|
||||
|
||||
/* Start of automatically generated font definition for DejaVuSans10. */
|
||||
|
||||
#ifndef MF_BWFONT_INTERNALS
|
||||
#define MF_BWFONT_INTERNALS
|
||||
#endif
|
||||
#include "mf_bwfont.h"
|
||||
|
||||
#ifndef MF_BWFONT_VERSION_4_SUPPORTED
|
||||
#error The font file is not compatible with this version of mcufont.
|
||||
#endif
|
||||
|
||||
static const uint8_t mf_bwfont_DejaVuSans10_glyph_data_0[1222] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
|
||||
0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe8, 0x00, 0x3e, 0x00, 0x28, 0x00, 0xf8, 0x00,
|
||||
0x2e, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x00, 0x94, 0x00, 0xfe, 0x01, 0xa4, 0x00,
|
||||
0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x12, 0x00, 0xde, 0x00, 0x30, 0x00, 0x18, 0x00,
|
||||
0xf6, 0x00, 0x90, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0xcc, 0x00, 0x92, 0x00,
|
||||
0x92, 0x00, 0x64, 0x00, 0x40, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xfe, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x83, 0x01, 0x7c, 0x00, 0x00, 0x00,
|
||||
0x12, 0x00, 0x0c, 0x00, 0x1e, 0x00, 0x0c, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
|
||||
0x10, 0x00, 0x10, 0x00, 0xfe, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0x80, 0x01, 0x78, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00,
|
||||
0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x82, 0x00,
|
||||
0xfe, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0xc2, 0x00, 0xa2, 0x00,
|
||||
0x92, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00,
|
||||
0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x28, 0x00, 0x24, 0x00, 0xfe, 0x00, 0x20, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x8a, 0x00, 0x8a, 0x00, 0x8a, 0x00, 0x70, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x7c, 0x00, 0x96, 0x00, 0x92, 0x00, 0x92, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x82, 0x00, 0x62, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x00,
|
||||
0x92, 0x00, 0x92, 0x00, 0x92, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x92, 0x00,
|
||||
0x92, 0x00, 0xd2, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x88, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00,
|
||||
0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x10, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0xb2, 0x00, 0x0a, 0x00, 0x06, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xf8, 0x00, 0x8c, 0x01, 0x06, 0x03, 0x72, 0x02, 0x52, 0x02, 0x72, 0x02, 0x42, 0x01,
|
||||
0x64, 0x00, 0x38, 0x00, 0x00, 0x00, 0x80, 0x00, 0x70, 0x00, 0x2c, 0x00, 0x22, 0x00, 0x2c, 0x00,
|
||||
0x70, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00,
|
||||
0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x44, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00,
|
||||
0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0xc6, 0x00,
|
||||
0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x7c, 0x00, 0xc6, 0x00, 0x82, 0x00, 0x92, 0x00, 0x92, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xfe, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xfe, 0x00, 0x00, 0x02, 0x00, 0x02, 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x10, 0x00,
|
||||
0x28, 0x00, 0x44, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x80, 0x00, 0x80, 0x00,
|
||||
0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x0c, 0x00, 0x30, 0x00, 0x40, 0x00,
|
||||
0x30, 0x00, 0x0c, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x04, 0x00, 0x18, 0x00,
|
||||
0x20, 0x00, 0x40, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0xc6, 0x00, 0x82, 0x00,
|
||||
0x82, 0x00, 0xc6, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x12, 0x00, 0x12, 0x00,
|
||||
0x12, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0xc6, 0x00, 0x82, 0x00, 0x82, 0x00,
|
||||
0x46, 0x01, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x12, 0x00, 0x12, 0x00, 0x32, 0x00,
|
||||
0x4c, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00,
|
||||
0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x7e, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x7e, 0x00, 0x00, 0x00,
|
||||
0x06, 0x00, 0x18, 0x00, 0x60, 0x00, 0x80, 0x00, 0x60, 0x00, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00,
|
||||
0x06, 0x00, 0x38, 0x00, 0xc0, 0x00, 0x38, 0x00, 0x06, 0x00, 0x38, 0x00, 0xc0, 0x00, 0x38, 0x00,
|
||||
0x06, 0x00, 0x00, 0x00, 0x82, 0x00, 0xc6, 0x00, 0x38, 0x00, 0x38, 0x00, 0xc6, 0x00, 0x82, 0x00,
|
||||
0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0xf0, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00,
|
||||
0x00, 0x00, 0x82, 0x00, 0xc2, 0x00, 0xb2, 0x00, 0x9a, 0x00, 0x86, 0x00, 0x82, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00, 0x00, 0x06, 0x00, 0x78, 0x00, 0x80, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x01, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00,
|
||||
0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02,
|
||||
0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00,
|
||||
0xa8, 0x00, 0xa8, 0x00, 0xa8, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x88, 0x00,
|
||||
0x88, 0x00, 0x88, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x88, 0x00, 0x88, 0x00,
|
||||
0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0xff, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0xa8, 0x00, 0xa8, 0x00, 0xa8, 0x00, 0xb0, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x08, 0x00, 0xff, 0x00, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00,
|
||||
0x88, 0x02, 0x88, 0x02, 0x88, 0x02, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x08, 0x00,
|
||||
0x08, 0x00, 0x08, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x02,
|
||||
0xf9, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x20, 0x00, 0x50, 0x00, 0x88, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00,
|
||||
0xf0, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00,
|
||||
0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x88, 0x00,
|
||||
0x88, 0x00, 0x88, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x03, 0x88, 0x00, 0x88, 0x00,
|
||||
0x88, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00,
|
||||
0xf8, 0x03, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x98, 0x00, 0xa8, 0x00, 0xa8, 0x00, 0xe8, 0x00, 0x00, 0x00, 0x08, 0x00, 0xfe, 0x00, 0x88, 0x00,
|
||||
0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0xf8, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x60, 0x00, 0x80, 0x00, 0x60, 0x00, 0x18, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x38, 0x00, 0xc0, 0x00, 0x30, 0x00, 0x08, 0x00, 0x30, 0x00, 0xc0, 0x00, 0x38, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x50, 0x00, 0x20, 0x00, 0x50, 0x00, 0x88, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x18, 0x02, 0x60, 0x02, 0x80, 0x01, 0x60, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x88, 0x00, 0xc8, 0x00, 0xa8, 0x00, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00,
|
||||
0xef, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
|
||||
0xef, 0x01, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x10, 0x00,
|
||||
0x20, 0x00, 0x20, 0x00, 0x10, 0x00,
|
||||
};
|
||||
|
||||
static const uint16_t mf_bwfont_DejaVuSans10_glyph_offsets_0[96] = {
|
||||
0x0000, 0x0000, 0x0004, 0x0009, 0x0012, 0x0019, 0x0023, 0x002c,
|
||||
0x002f, 0x0033, 0x0037, 0x003d, 0x0046, 0x0049, 0x004e, 0x0051,
|
||||
0x0055, 0x005c, 0x0063, 0x006a, 0x0071, 0x0078, 0x007f, 0x0086,
|
||||
0x008d, 0x0094, 0x009b, 0x009e, 0x00a1, 0x00a9, 0x00b1, 0x00b9,
|
||||
0x00bf, 0x00ca, 0x00d2, 0x00d9, 0x00e1, 0x00e9, 0x00f0, 0x00f6,
|
||||
0x00fe, 0x0106, 0x0109, 0x010c, 0x0113, 0x011a, 0x0123, 0x012b,
|
||||
0x0133, 0x013a, 0x0142, 0x014a, 0x0151, 0x0157, 0x015f, 0x0167,
|
||||
0x0171, 0x0178, 0x0180, 0x0187, 0x018b, 0x018f, 0x0193, 0x019b,
|
||||
0x01a1, 0x01a5, 0x01ac, 0x01b3, 0x01b9, 0x01c0, 0x01c7, 0x01cd,
|
||||
0x01d4, 0x01db, 0x01de, 0x01e1, 0x01e7, 0x01ea, 0x01f5, 0x01fc,
|
||||
0x0203, 0x020a, 0x0211, 0x0216, 0x021c, 0x0221, 0x0228, 0x022f,
|
||||
0x0238, 0x023f, 0x0246, 0x024c, 0x0252, 0x0255, 0x025b, 0x0263,
|
||||
};
|
||||
|
||||
static const uint8_t mf_bwfont_DejaVuSans10_glyph_widths_0[95] = {
|
||||
0x03, 0x04, 0x05, 0x08, 0x06, 0x0a, 0x09, 0x03, 0x04, 0x04, 0x05, 0x08, 0x03, 0x04, 0x03, 0x03,
|
||||
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x03, 0x03, 0x08, 0x08, 0x08, 0x05,
|
||||
0x0b, 0x07, 0x07, 0x08, 0x08, 0x07, 0x06, 0x08, 0x08, 0x03, 0x03, 0x07, 0x06, 0x09, 0x08, 0x08,
|
||||
0x07, 0x08, 0x07, 0x07, 0x05, 0x08, 0x07, 0x09, 0x06, 0x07, 0x06, 0x04, 0x03, 0x04, 0x08, 0x05,
|
||||
0x05, 0x06, 0x06, 0x05, 0x06, 0x06, 0x04, 0x06, 0x06, 0x02, 0x02, 0x05, 0x02, 0x0a, 0x06, 0x06,
|
||||
0x06, 0x06, 0x04, 0x05, 0x04, 0x06, 0x06, 0x08, 0x06, 0x06, 0x05, 0x06, 0x03, 0x06, 0x08,
|
||||
};
|
||||
|
||||
static const struct mf_bwfont_char_range_s mf_bwfont_DejaVuSans10_char_ranges[] = {
|
||||
{
|
||||
32, /* first char */
|
||||
95, /* char count */
|
||||
0, /* offset x */
|
||||
0, /* offset y */
|
||||
2, /* height in bytes */
|
||||
10, /* height in pixels */
|
||||
0, /* width */
|
||||
mf_bwfont_DejaVuSans10_glyph_widths_0, /* glyph widths */
|
||||
mf_bwfont_DejaVuSans10_glyph_offsets_0, /* glyph offsets */
|
||||
mf_bwfont_DejaVuSans10_glyph_data_0, /* glyph data */
|
||||
},
|
||||
};
|
||||
|
||||
const struct mf_bwfont_s mf_bwfont_DejaVuSans10 = {
|
||||
{
|
||||
"DejaVu Sans Book 10",
|
||||
"DejaVuSans10",
|
||||
11, /* width */
|
||||
10, /* height */
|
||||
2, /* min x advance */
|
||||
11, /* max x advance */
|
||||
1, /* baseline x */
|
||||
8, /* baseline y */
|
||||
12, /* line height */
|
||||
2, /* flags */
|
||||
63, /* fallback character */
|
||||
&mf_bwfont_character_width,
|
||||
&mf_bwfont_render_character,
|
||||
},
|
||||
4, /* version */
|
||||
1, /* char range count */
|
||||
mf_bwfont_DejaVuSans10_char_ranges,
|
||||
};
|
||||
|
||||
#ifdef MF_INCLUDED_FONTS
|
||||
/* List entry for searching fonts by name. */
|
||||
static const struct mf_font_list_s mf_bwfont_DejaVuSans10_listentry = {
|
||||
MF_INCLUDED_FONTS,
|
||||
(struct mf_font_s*)&mf_bwfont_DejaVuSans10
|
||||
};
|
||||
#undef MF_INCLUDED_FONTS
|
||||
#define MF_INCLUDED_FONTS (&mf_bwfont_DejaVuSans10_listentry)
|
||||
#endif
|
||||
|
||||
|
||||
/* End of automatically generated font definition for DejaVuSans10. */
|
||||
|
175
src/gdisp/fonts/DejaVuSans12.c
Normal file
175
src/gdisp/fonts/DejaVuSans12.c
Normal file
@ -0,0 +1,175 @@
|
||||
|
||||
|
||||
/* Start of automatically generated font definition for DejaVuSans12. */
|
||||
|
||||
#ifndef MF_BWFONT_INTERNALS
|
||||
#define MF_BWFONT_INTERNALS
|
||||
#endif
|
||||
#include "mf_bwfont.h"
|
||||
|
||||
#ifndef MF_BWFONT_VERSION_4_SUPPORTED
|
||||
#error The font file is not compatible with this version of mcufont.
|
||||
#endif
|
||||
|
||||
static const uint8_t mf_bwfont_DejaVuSans12_glyph_data_0[1372] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
|
||||
0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x90, 0x02, 0xf0, 0x01, 0x9c, 0x00, 0x90, 0x03,
|
||||
0xf8, 0x00, 0x94, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x01, 0x24, 0x02,
|
||||
0xfe, 0x0f, 0x44, 0x02, 0xc8, 0x01, 0x00, 0x00, 0x1c, 0x00, 0x22, 0x00, 0x22, 0x02, 0x9c, 0x01,
|
||||
0x60, 0x00, 0x30, 0x00, 0xcc, 0x01, 0x22, 0x02, 0x20, 0x02, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0xc0, 0x01, 0x3c, 0x03, 0x12, 0x02, 0x22, 0x02, 0x44, 0x02, 0x80, 0x01, 0x80, 0x02, 0x60, 0x02,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x07, 0x07, 0x01, 0x04,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x07, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00,
|
||||
0x18, 0x00, 0x7e, 0x00, 0x18, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00,
|
||||
0x40, 0x00, 0xf8, 0x03, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
|
||||
0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x06, 0xc0, 0x01, 0x38, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00,
|
||||
0x06, 0x03, 0x02, 0x02, 0x02, 0x02, 0x06, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02,
|
||||
0x02, 0x02, 0xfe, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x02, 0x03,
|
||||
0x82, 0x02, 0x42, 0x02, 0x26, 0x02, 0x1c, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x02, 0x02,
|
||||
0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0xdc, 0x01, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xb0, 0x00,
|
||||
0x88, 0x00, 0x86, 0x00, 0xfe, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x01, 0x12, 0x02,
|
||||
0x12, 0x02, 0x12, 0x02, 0x32, 0x03, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x24, 0x03,
|
||||
0x12, 0x02, 0x12, 0x02, 0x32, 0x03, 0xe4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x02,
|
||||
0x82, 0x01, 0x62, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x22, 0x02,
|
||||
0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0xdc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x01, 0x66, 0x02,
|
||||
0x42, 0x02, 0x42, 0x02, 0x26, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x30, 0x07, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x90, 0x00,
|
||||
0x90, 0x00, 0x90, 0x00, 0x98, 0x01, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0xa0, 0x00,
|
||||
0xa0, 0x00, 0xa0, 0x00, 0xa0, 0x00, 0xa0, 0x00, 0xa0, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x08, 0x01, 0x98, 0x01, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
|
||||
0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x62, 0x03, 0x12, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xf0, 0x01, 0x08, 0x02, 0x04, 0x04, 0xe2, 0x08, 0x12, 0x09, 0x12, 0x09, 0x12, 0x09, 0xf2, 0x09,
|
||||
0x04, 0x05, 0x8c, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x02, 0xc0, 0x01, 0xb8, 0x00, 0x86, 0x00,
|
||||
0x86, 0x00, 0xb8, 0x00, 0xc0, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x22, 0x02,
|
||||
0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0xdc, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0x01,
|
||||
0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x02, 0x02,
|
||||
0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03,
|
||||
0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03,
|
||||
0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0x01,
|
||||
0x02, 0x02, 0x02, 0x02, 0x22, 0x02, 0x22, 0x02, 0xe4, 0x01, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03,
|
||||
0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00,
|
||||
0xfe, 0x03, 0x00, 0x08, 0x00, 0x08, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x20, 0x00,
|
||||
0x50, 0x00, 0x88, 0x00, 0x04, 0x01, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x02,
|
||||
0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x0c, 0x00, 0x30, 0x00,
|
||||
0xc0, 0x00, 0xc0, 0x00, 0x30, 0x00, 0x0c, 0x00, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03,
|
||||
0x06, 0x00, 0x18, 0x00, 0x20, 0x00, 0xc0, 0x00, 0x00, 0x03, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00,
|
||||
0xf8, 0x00, 0x04, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x01, 0xf8, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xfe, 0x03, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x1c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xf8, 0x00, 0x04, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x04, 0x09, 0xf8, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x62, 0x00, 0x9c, 0x01,
|
||||
0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x01, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02,
|
||||
0xc4, 0x01, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xfe, 0x03, 0x02, 0x00, 0x02, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02,
|
||||
0x00, 0x03, 0xfe, 0x01, 0x00, 0x00, 0x06, 0x00, 0x38, 0x00, 0xc0, 0x00, 0x00, 0x03, 0x00, 0x03,
|
||||
0xc0, 0x00, 0x38, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x1c, 0x00, 0xe0, 0x00, 0x00, 0x03,
|
||||
0xf0, 0x00, 0x0e, 0x00, 0xf0, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x1c, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x02, 0x02, 0x06, 0x01, 0xd8, 0x00, 0x20, 0x00, 0xd8, 0x00, 0x06, 0x01, 0x02, 0x02, 0x00, 0x00,
|
||||
0x02, 0x00, 0x0c, 0x00, 0x30, 0x00, 0xc0, 0x03, 0x30, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x02, 0x03, 0x82, 0x02, 0x42, 0x02, 0x22, 0x02, 0x12, 0x02, 0x0a, 0x02, 0x06, 0x02,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x0f, 0x02, 0x08, 0x00, 0x00, 0x06, 0x00, 0x38, 0x00,
|
||||
0xc0, 0x01, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x02, 0x08, 0xfe, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 0x48, 0x02, 0x48, 0x02,
|
||||
0x48, 0x02, 0x48, 0x01, 0xf0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0x18, 0x03, 0x08, 0x02,
|
||||
0x08, 0x02, 0x18, 0x03, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x18, 0x03, 0x08, 0x02,
|
||||
0x08, 0x02, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x18, 0x03, 0x08, 0x02, 0x08, 0x02,
|
||||
0x18, 0x03, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x58, 0x03, 0x48, 0x02, 0x48, 0x02,
|
||||
0x58, 0x02, 0x70, 0x01, 0x00, 0x00, 0x08, 0x00, 0xfe, 0x03, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xf0, 0x01, 0x18, 0x0b, 0x08, 0x12, 0x08, 0x12, 0x18, 0x1b, 0xf8, 0x0f, 0x00, 0x00,
|
||||
0x00, 0x00, 0xff, 0x03, 0x10, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0xf0, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0xfa, 0x03, 0x00, 0x00, 0x00, 0x10, 0xfa, 0x1f, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
|
||||
0x40, 0x00, 0xa0, 0x00, 0x10, 0x01, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0xf8, 0x03, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0xf0, 0x03, 0x08, 0x00, 0x08, 0x00,
|
||||
0x08, 0x00, 0xf0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x03, 0x10, 0x00, 0x08, 0x00, 0x08, 0x00,
|
||||
0x08, 0x00, 0xf0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x18, 0x03, 0x08, 0x02, 0x08, 0x02,
|
||||
0x18, 0x03, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x18, 0x03, 0x08, 0x02, 0x08, 0x02,
|
||||
0x18, 0x03, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x18, 0x03, 0x08, 0x02, 0x08, 0x02,
|
||||
0x18, 0x03, 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x03, 0x10, 0x00, 0x08, 0x00, 0x08, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x30, 0x01, 0x48, 0x02, 0x48, 0x02, 0x48, 0x02, 0x90, 0x01, 0x00, 0x00,
|
||||
0x08, 0x00, 0xfe, 0x03, 0x08, 0x02, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x00, 0x02,
|
||||
0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0xf8, 0x03, 0x00, 0x00, 0x18, 0x00, 0xe0, 0x00, 0x00, 0x03,
|
||||
0x00, 0x03, 0xe0, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0xe0, 0x00, 0x00, 0x03, 0xe0, 0x00,
|
||||
0x18, 0x00, 0xe0, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08, 0x02, 0xb0, 0x01,
|
||||
0x40, 0x00, 0x40, 0x00, 0xb0, 0x01, 0x08, 0x02, 0x00, 0x00, 0x18, 0x10, 0x60, 0x10, 0x80, 0x09,
|
||||
0x00, 0x07, 0xe0, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08, 0x03, 0x88, 0x02, 0x48, 0x02, 0x28, 0x02,
|
||||
0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0xbe, 0x0f, 0x02, 0x08,
|
||||
0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x02, 0x08,
|
||||
0x02, 0x08, 0xbe, 0x0f, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00,
|
||||
0x20, 0x00, 0x20, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x20, 0x00,
|
||||
};
|
||||
|
||||
static const uint16_t mf_bwfont_DejaVuSans12_glyph_offsets_0[96] = {
|
||||
0x0000, 0x0000, 0x0004, 0x0009, 0x0013, 0x001b, 0x0026, 0x0030,
|
||||
0x0033, 0x0038, 0x003d, 0x0044, 0x004d, 0x0050, 0x0055, 0x0058,
|
||||
0x005d, 0x0065, 0x006c, 0x0074, 0x007c, 0x0084, 0x008c, 0x0094,
|
||||
0x009c, 0x00a4, 0x00ac, 0x00af, 0x00b2, 0x00bc, 0x00c6, 0x00d0,
|
||||
0x00d6, 0x00e3, 0x00ec, 0x00f4, 0x00fc, 0x0105, 0x010d, 0x0114,
|
||||
0x011d, 0x0126, 0x0129, 0x012c, 0x0134, 0x013b, 0x0145, 0x014e,
|
||||
0x0157, 0x015f, 0x0168, 0x0171, 0x0179, 0x0181, 0x018a, 0x0193,
|
||||
0x019f, 0x01a7, 0x01af, 0x01b8, 0x01bd, 0x01c2, 0x01c6, 0x01cf,
|
||||
0x01d6, 0x01db, 0x01e3, 0x01eb, 0x01f2, 0x01fa, 0x0202, 0x0207,
|
||||
0x020f, 0x0217, 0x021a, 0x021d, 0x0224, 0x0227, 0x0232, 0x023a,
|
||||
0x0242, 0x024a, 0x0252, 0x0258, 0x025f, 0x0264, 0x026c, 0x0273,
|
||||
0x027d, 0x0284, 0x028b, 0x0291, 0x0299, 0x029d, 0x02a4, 0x02ae,
|
||||
};
|
||||
|
||||
static const uint8_t mf_bwfont_DejaVuSans12_glyph_widths_0[95] = {
|
||||
0x04, 0x05, 0x05, 0x0a, 0x08, 0x0b, 0x0a, 0x03, 0x05, 0x05, 0x06, 0x0a, 0x04, 0x04, 0x04, 0x04,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x0a, 0x0a, 0x0a, 0x06,
|
||||
0x0d, 0x08, 0x08, 0x08, 0x09, 0x08, 0x07, 0x09, 0x09, 0x03, 0x03, 0x07, 0x06, 0x0a, 0x09, 0x09,
|
||||
0x08, 0x09, 0x08, 0x08, 0x07, 0x09, 0x08, 0x0b, 0x07, 0x07, 0x09, 0x05, 0x04, 0x05, 0x0a, 0x06,
|
||||
0x06, 0x08, 0x08, 0x07, 0x08, 0x08, 0x04, 0x08, 0x08, 0x03, 0x03, 0x07, 0x03, 0x0b, 0x08, 0x08,
|
||||
0x08, 0x08, 0x05, 0x07, 0x05, 0x08, 0x06, 0x09, 0x06, 0x06, 0x05, 0x08, 0x04, 0x08, 0x0a,
|
||||
};
|
||||
|
||||
static const struct mf_bwfont_char_range_s mf_bwfont_DejaVuSans12_char_ranges[] = {
|
||||
{
|
||||
32, /* first char */
|
||||
95, /* char count */
|
||||
0, /* offset x */
|
||||
0, /* offset y */
|
||||
2, /* height in bytes */
|
||||
13, /* height in pixels */
|
||||
0, /* width */
|
||||
mf_bwfont_DejaVuSans12_glyph_widths_0, /* glyph widths */
|
||||
mf_bwfont_DejaVuSans12_glyph_offsets_0, /* glyph offsets */
|
||||
mf_bwfont_DejaVuSans12_glyph_data_0, /* glyph data */
|
||||
},
|
||||
};
|
||||
|
||||
const struct mf_bwfont_s mf_bwfont_DejaVuSans12 = {
|
||||
{
|
||||
"DejaVu Sans Book 12",
|
||||
"DejaVuSans12",
|
||||
13, /* width */
|
||||
13, /* height */
|
||||
3, /* min x advance */
|
||||
13, /* max x advance */
|
||||
1, /* baseline x */
|
||||
10, /* baseline y */
|
||||
14, /* line height */
|
||||
2, /* flags */
|
||||
63, /* fallback character */
|
||||
&mf_bwfont_character_width,
|
||||
&mf_bwfont_render_character,
|
||||
},
|
||||
4, /* version */
|
||||
1, /* char range count */
|
||||
mf_bwfont_DejaVuSans12_char_ranges,
|
||||
};
|
||||
|
||||
#ifdef MF_INCLUDED_FONTS
|
||||
/* List entry for searching fonts by name. */
|
||||
static const struct mf_font_list_s mf_bwfont_DejaVuSans12_listentry = {
|
||||
MF_INCLUDED_FONTS,
|
||||
(struct mf_font_s*)&mf_bwfont_DejaVuSans12
|
||||
};
|
||||
#undef MF_INCLUDED_FONTS
|
||||
#define MF_INCLUDED_FONTS (&mf_bwfont_DejaVuSans12_listentry)
|
||||
#endif
|
||||
|
||||
|
||||
/* End of automatically generated font definition for DejaVuSans12. */
|
||||
|
246
src/gdisp/fonts/DejaVuSans12_aa.c
Normal file
246
src/gdisp/fonts/DejaVuSans12_aa.c
Normal file
@ -0,0 +1,246 @@
|
||||
|
||||
|
||||
/* Start of automatically generated font definition for DejaVuSans12_aa. */
|
||||
|
||||
#ifndef MF_RLEFONT_INTERNALS
|
||||
#define MF_RLEFONT_INTERNALS
|
||||
#endif
|
||||
#include "mf_rlefont.h"
|
||||
|
||||
#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
|
||||
#error The font file is not compatible with this version of mcufont.
|
||||
#endif
|
||||
|
||||
static const uint8_t mf_rlefont_DejaVuSans12_aa_dictionary_data[329] = {
|
||||
0x27, 0x02, 0x0b, 0x80, 0x01, 0x80, 0x07, 0x80, 0x04, 0x80, 0x02, 0x80, 0x06, 0x04, 0x80, 0x02,
|
||||
0x0e, 0xc9, 0xde, 0xc7, 0x0a, 0x06, 0x2a, 0x10, 0x84, 0x07, 0x80, 0x02, 0x80, 0x0c, 0x80, 0x0c,
|
||||
0x0f, 0x80, 0x08, 0xcd, 0xc3, 0x86, 0x0d, 0x0c, 0xc2, 0xca, 0x29, 0xc8, 0xcb, 0xc4, 0xcc, 0xce,
|
||||
0xc7, 0xcc, 0xc6, 0xcd, 0xc8, 0xcd, 0xc2, 0x01, 0xde, 0xc4, 0xce, 0xcd, 0xc4, 0xc3, 0xce, 0xc7,
|
||||
0xcb, 0xc5, 0xcb, 0x06, 0x80, 0x02, 0xc5, 0xcd, 0x07, 0xc6, 0xcd, 0xc5, 0xcc, 0x82, 0xc7, 0xcc,
|
||||
0xc3, 0xcd, 0x09, 0xc6, 0x0b, 0xc6, 0xca, 0xd1, 0xc1, 0xcd, 0xc8, 0xcd, 0xca, 0xc6, 0xce, 0xc2,
|
||||
0x01, 0xc3, 0x40, 0x03, 0xcc, 0xc3, 0x03, 0x80, 0xc1, 0x02, 0xc7, 0xce, 0x08, 0xca, 0xc4, 0x01,
|
||||
0xc2, 0xc7, 0xc9, 0xc2, 0xce, 0xce, 0xc9, 0x01, 0x80, 0xc9, 0xc7, 0x01, 0x80, 0xce, 0xd2, 0xcb,
|
||||
0xc4, 0xca, 0xc5, 0xc1, 0x05, 0xc9, 0xc1, 0xcc, 0xc4, 0xcc, 0xc2, 0xc7, 0xc8, 0xca, 0xc2, 0xce,
|
||||
0xc1, 0x81, 0x80, 0xc2, 0xcb, 0xc4, 0xcb, 0xc5, 0xca, 0xc7, 0x80, 0x07, 0xc4, 0xcb, 0xc2, 0xc1,
|
||||
0xc2, 0xcd, 0xce, 0xcb, 0xcb, 0xce, 0xc3, 0xcc, 0xc4, 0xcd, 0x80, 0xcc, 0xc1, 0xce, 0xcd, 0xc6,
|
||||
0x28, 0x28, 0x28, 0x28, 0x0f, 0x2e, 0x28, 0x02, 0x45, 0x2e, 0xbc, 0x6f, 0x02, 0x27, 0x01, 0x19,
|
||||
0x07, 0x0a, 0x23, 0x03, 0x45, 0x1f, 0xc6, 0xc5, 0x95, 0xc8, 0x00, 0x01, 0x19, 0x32, 0x3f, 0x0f,
|
||||
0x52, 0x58, 0x50, 0xa4, 0x0b, 0x5c, 0x07, 0x3f, 0x67, 0x19, 0x44, 0x3f, 0xc5, 0x6b, 0x67, 0x19,
|
||||
0x6e, 0x19, 0xa4, 0x0b, 0x5c, 0x08, 0x19, 0xa4, 0x23, 0xc6, 0x74, 0x27, 0x01, 0x08, 0x0c, 0x21,
|
||||
0x6b, 0x31, 0x5c, 0x6b, 0x36, 0x4d, 0x1c, 0x5f, 0x36, 0x4d, 0x6b, 0x31, 0x5c, 0x2a, 0x40, 0x0f,
|
||||
0x4f, 0x19, 0xa4, 0x0a, 0x6d, 0x43, 0x3f, 0x51, 0x74, 0x3f, 0xc5, 0x1c, 0x23, 0xa4, 0x2e, 0x3a,
|
||||
0x5e, 0x38, 0x03, 0x23, 0x4b, 0x50, 0x47, 0x23, 0x36, 0x19, 0x6e, 0x3d, 0x50, 0x1d, 0xcc, 0xa4,
|
||||
0x5f, 0x1d, 0x4b, 0x50, 0x47, 0x23, 0x3a, 0x04, 0x01, 0x38, 0x03, 0x3f, 0x0f, 0x1a, 0x72, 0x39,
|
||||
0x0f, 0x22, 0x19, 0x1c, 0x5f, 0x28, 0x28, 0x37, 0x08, 0x53, 0x2e, 0x24, 0x28, 0x22, 0x25, 0x0a,
|
||||
0x45, 0x0f, 0x45, 0x0c, 0x08, 0x48, 0x08, 0x0c, 0x3f,
|
||||
};
|
||||
|
||||
static const uint16_t mf_rlefont_DejaVuSans12_aa_dictionary_offsets[122] = {
|
||||
0x0000, 0x0001, 0x0002, 0x0003, 0x0005, 0x000b, 0x000d, 0x000e,
|
||||
0x0010, 0x0011, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019,
|
||||
0x001c, 0x0020, 0x0021, 0x0023, 0x0025, 0x0026, 0x0027, 0x0028,
|
||||
0x002a, 0x002b, 0x002d, 0x002f, 0x0031, 0x0033, 0x0035, 0x0038,
|
||||
0x0039, 0x003b, 0x003d, 0x003f, 0x0041, 0x0043, 0x0046, 0x0048,
|
||||
0x0049, 0x004b, 0x004d, 0x004e, 0x0050, 0x0052, 0x0053, 0x0055,
|
||||
0x0057, 0x0058, 0x005a, 0x005c, 0x005e, 0x0060, 0x0062, 0x0064,
|
||||
0x0066, 0x0067, 0x006a, 0x006c, 0x006d, 0x006f, 0x0071, 0x0073,
|
||||
0x0075, 0x0077, 0x0079, 0x007c, 0x007e, 0x0080, 0x0082, 0x0084,
|
||||
0x0085, 0x0087, 0x0089, 0x008b, 0x008d, 0x008f, 0x0091, 0x0092,
|
||||
0x0094, 0x0096, 0x0098, 0x009a, 0x009c, 0x009e, 0x00a0, 0x00a2,
|
||||
0x00a4, 0x00a6, 0x00a8, 0x00aa, 0x00ac, 0x00ae, 0x00b0, 0x00b4,
|
||||
0x00b7, 0x00b9, 0x00bf, 0x00c3, 0x00c5, 0x00ca, 0x00cc, 0x00cf,
|
||||
0x00e8, 0x00ef, 0x00fe, 0x010c, 0x010f, 0x011e, 0x0122, 0x012c,
|
||||
0x012e, 0x0130, 0x0132, 0x0135, 0x0137, 0x013a, 0x013f, 0x0141,
|
||||
0x0143, 0x0149,
|
||||
};
|
||||
|
||||
static const uint8_t mf_rlefont_DejaVuSans12_aa_glyph_data_0[2069] = {
|
||||
0x04, 0x00, 0x10, 0x05, 0x25, 0x8b, 0x0e, 0x2e, 0x0d, 0x20, 0x83, 0x0f, 0x10, 0x05, 0x1a, 0x94,
|
||||
0x1d, 0x94, 0x6b, 0xac, 0x10, 0x0a, 0x29, 0x25, 0x0d, 0x01, 0x5d, 0x3f, 0x55, 0x0c, 0x00, 0x08,
|
||||
0x06, 0x23, 0x05, 0xc3, 0x6b, 0x0a, 0x05, 0x49, 0x45, 0x0d, 0x01, 0x5d, 0x3f, 0x2c, 0x05, 0x23,
|
||||
0x05, 0x09, 0x00, 0x0b, 0x02, 0x53, 0x54, 0x49, 0x10, 0x08, 0x19, 0x25, 0x89, 0x72, 0x0f, 0x0d,
|
||||
0x05, 0x53, 0x39, 0x0f, 0x2f, 0x53, 0x65, 0x89, 0x09, 0x0c, 0x0f, 0x05, 0x22, 0x04, 0x0f, 0x0b,
|
||||
0x8e, 0x59, 0x74, 0x53, 0x60, 0x0f, 0x72, 0x53, 0x40, 0x0f, 0x39, 0x22, 0x28, 0x10, 0x0b, 0x20,
|
||||
0x88, 0x19, 0x72, 0x5f, 0x61, 0x41, 0x19, 0x0d, 0x05, 0x1e, 0x96, 0x06, 0x0b, 0x23, 0x39, 0x32,
|
||||
0x74, 0x03, 0x23, 0x88, 0x09, 0x09, 0x88, 0x5f, 0x4d, 0x65, 0x39, 0x32, 0x23, 0x0b, 0x06, 0xd6,
|
||||
0x5f, 0x41, 0x19, 0x39, 0x32, 0x5f, 0x39, 0x19, 0x88, 0x10, 0x0a, 0x25, 0x72, 0x33, 0x45, 0x0d,
|
||||
0x5e, 0x09, 0x45, 0x4c, 0x1a, 0x0b, 0x0b, 0x01, 0x45, 0x3b, 0x6c, 0x01, 0x00, 0x6e, 0x5f, 0x2b,
|
||||
0x00, 0x32, 0x01, 0x56, 0x5f, 0x4c, 0x19, 0x41, 0x36, 0x1e, 0x09, 0x0b, 0x6d, 0x06, 0x35, 0x5f,
|
||||
0x7d, 0x09, 0x37, 0x0a, 0x71, 0x08, 0x10, 0x03, 0x29, 0x77, 0x10, 0x05, 0x50, 0x08, 0x8e, 0x7d,
|
||||
0x4c, 0x22, 0x56, 0x1a, 0x68, 0x1a, 0x65, 0x83, 0x65, 0x1a, 0x68, 0x1a, 0x56, 0x1a, 0x74, 0x78,
|
||||
0x7a, 0x10, 0x05, 0x19, 0x6a, 0x22, 0x55, 0x65, 0x1a, 0x09, 0x46, 0x6c, 0x1a, 0x74, 0x2e, 0x87,
|
||||
0x74, 0x1a, 0x6c, 0x1a, 0x09, 0x06, 0x45, 0x55, 0x65, 0x22, 0x6a, 0x10, 0x06, 0x00, 0x25, 0x89,
|
||||
0x09, 0x02, 0x67, 0x09, 0x53, 0x2f, 0x0f, 0x64, 0x53, 0x2f, 0x0f, 0x64, 0x53, 0x09, 0x02, 0x67,
|
||||
0x09, 0x5f, 0xa4, 0x10, 0x0a, 0x19, 0x24, 0x28, 0x8f, 0xc3, 0x8f, 0x77, 0x10, 0x04, 0x18, 0x4e,
|
||||
0x77, 0x10, 0x04, 0x22, 0x4e, 0xbc, 0x10, 0x04, 0x18, 0x4e, 0x28, 0x10, 0x04, 0x25, 0x44, 0x1a,
|
||||
0x63, 0x1a, 0x61, 0x22, 0x74, 0x1a, 0x47, 0x1a, 0x0a, 0x46, 0x65, 0x22, 0x32, 0x1a, 0x08, 0x07,
|
||||
0x1a, 0x2b, 0x10, 0x08, 0x25, 0x08, 0x8c, 0x06, 0x62, 0x02, 0x34, 0x3f, 0x61, 0x7e, 0x65, 0x19,
|
||||
0x74, 0x3f, 0xc5, 0x6b, 0x65, 0x19, 0x74, 0x3f, 0x61, 0x7e, 0x06, 0x62, 0x02, 0x34, 0x53, 0x08,
|
||||
0x8c, 0x10, 0x08, 0x1a, 0xb4, 0x77, 0x8b, 0x8f, 0xc2, 0x10, 0x08, 0x29, 0x6c, 0x5b, 0x60, 0x3f,
|
||||
0x68, 0x48, 0x09, 0x0b, 0x1a, 0x74, 0x1a, 0x3c, 0x22, 0x44, 0x78, 0x72, 0x7b, 0x3e, 0x7b, 0x07,
|
||||
0x36, 0x45, 0xc3, 0x01, 0x10, 0x08, 0x29, 0x6c, 0x5b, 0x60, 0x3f, 0x69, 0x48, 0x3b, 0x1a, 0x74,
|
||||
0x45, 0x7d, 0x3b, 0x1e, 0xa4, 0x5b, 0x78, 0x7d, 0x31, 0x1a, 0x74, 0x3f, 0x64, 0x55, 0x09, 0x0b,
|
||||
0x3f, 0x41, 0x0f, 0x0d, 0x60, 0x10, 0x08, 0x19, 0x25, 0x0b, 0x89, 0x06, 0x0c, 0x8f, 0x49, 0x02,
|
||||
0x8f, 0x5a, 0x2a, 0x71, 0x19, 0x2a, 0x62, 0x19, 0x2a, 0xc3, 0x83, 0x0f, 0x10, 0x08, 0x2d, 0xc0,
|
||||
0x2a, 0x28, 0x0f, 0x37, 0x0c, 0x46, 0x71, 0x08, 0x1a, 0x57, 0x1a, 0x57, 0x3f, 0x0a, 0x03, 0x55,
|
||||
0x0b, 0x09, 0x3f, 0x41, 0x0f, 0x35, 0x10, 0x08, 0x29, 0x4d, 0x70, 0x75, 0x3f, 0x6e, 0x5e, 0x2f,
|
||||
0x3f, 0x0a, 0x46, 0x0e, 0x08, 0x37, 0x60, 0x19, 0xa4, 0x0a, 0x48, 0x0a, 0x09, 0x3f, 0x65, 0x19,
|
||||
0x74, 0x3f, 0x0b, 0x01, 0x19, 0x74, 0x3f, 0x47, 0x48, 0x0a, 0x09, 0x53, 0x08, 0x37, 0x0a, 0x01,
|
||||
0x10, 0x08, 0x2d, 0xc0, 0x5b, 0x1a, 0x05, 0x08, 0x1a, 0x62, 0x22, 0x05, 0x09, 0x1a, 0x62, 0x22,
|
||||
0x5d, 0x1a, 0x4f, 0x22, 0x32, 0x1a, 0x69, 0x10, 0x08, 0x20, 0x55, 0x70, 0x6f, 0x02, 0x3f, 0x90,
|
||||
0x65, 0x19, 0x74, 0x3f, 0x0a, 0x08, 0x48, 0x08, 0x0a, 0x3f, 0x6e, 0x66, 0x36, 0x23, 0x0b, 0x08,
|
||||
0x48, 0x31, 0x3f, 0x65, 0x19, 0x74, 0x3f, 0x90, 0x02, 0x70, 0x6f, 0x02, 0x10, 0x08, 0x20, 0x7d,
|
||||
0x09, 0x8c, 0x09, 0x0a, 0x48, 0x4b, 0x3f, 0x65, 0x00, 0x7d, 0x0b, 0x3f, 0x65, 0x19, 0x74, 0x3f,
|
||||
0x0a, 0x0a, 0x48, 0x0a, 0x1d, 0x7d, 0x0a, 0x37, 0x52, 0x1a, 0x47, 0x3f, 0x0a, 0x6d, 0x3e, 0x02,
|
||||
0x3f, 0x40, 0x6f, 0x03, 0x10, 0x04, 0x8d, 0x28, 0x10, 0x04, 0x8d, 0x77, 0x10, 0x0a, 0x50, 0x24,
|
||||
0x4d, 0x4a, 0x3f, 0x04, 0x09, 0x0d, 0x35, 0x03, 0x5f, 0x09, 0x0e, 0x0c, 0x07, 0x02, 0x53, 0x09,
|
||||
0x0e, 0x0c, 0x07, 0x02, 0x22, 0x04, 0x09, 0x0d, 0x35, 0x7b, 0x4d, 0x4a, 0x10, 0x0a, 0x4e, 0x0f,
|
||||
0x2c, 0x2d, 0xa4, 0x2c, 0x10, 0x0a, 0x30, 0x35, 0x7b, 0x4d, 0x4a, 0x35, 0x04, 0x45, 0x4d, 0x43,
|
||||
0x58, 0x3f, 0x55, 0x43, 0x58, 0x1e, 0x4d, 0x4a, 0x0d, 0x09, 0x04, 0x3f, 0x35, 0x03, 0x10, 0x06,
|
||||
0x20, 0x3e, 0x0f, 0x4f, 0x53, 0x0b, 0x03, 0x00, 0x3e, 0x1a, 0x6e, 0x22, 0x6e, 0x05, 0x22, 0x0c,
|
||||
0x05, 0x83, 0x2d, 0x28, 0x10, 0x0d, 0x25, 0x55, 0x4a, 0x5b, 0x54, 0x5f, 0x38, 0x08, 0x03, 0x48,
|
||||
0x05, 0x35, 0x50, 0x57, 0x04, 0x1e, 0x7d, 0x0c, 0x05, 0x19, 0x5a, 0x44, 0x33, 0x1b, 0x32, 0x19,
|
||||
0x36, 0x34, 0x01, 0x06, 0x0f, 0x7d, 0x0f, 0xc8, 0x65, 0x7d, 0x1b, 0x44, 0x19, 0x36, 0x34, 0x01,
|
||||
0x06, 0x67, 0x34, 0x19, 0x5a, 0x44, 0x0e, 0x52, 0x69, 0x50, 0x57, 0x03, 0x1a, 0x05, 0x33, 0x02,
|
||||
0x55, 0x07, 0x0a, 0x5f, 0x55, 0x09, 0x0d, 0x5b, 0x54, 0x10, 0x08, 0x00, 0x25, 0x0d, 0x0d, 0x22,
|
||||
0x44, 0x0d, 0x7b, 0x09, 0x07, 0x56, 0x45, 0x4c, 0x57, 0x53, 0x3c, 0x19, 0x69, 0x3f, 0x69, 0x19,
|
||||
0x3c, 0x5f, 0x7d, 0xc3, 0x01, 0x5f, 0x56, 0x1e, 0x5a, 0x1e, 0x61, 0x1e, 0x32, 0x10, 0x08, 0x79,
|
||||
0x43, 0x27, 0x7d, 0xe5, 0x94, 0x7d, 0x3b, 0x1e, 0xbc, 0x5b, 0x03, 0x27, 0x01, 0x3b, 0x23, 0xc6,
|
||||
0x74, 0x27, 0x01, 0x43, 0x50, 0xb4, 0x5b, 0x4f, 0x10, 0x08, 0x25, 0x32, 0x0f, 0x75, 0x3f, 0x3a,
|
||||
0x5e, 0x02, 0x09, 0x3f, 0x0a, 0x46, 0x0d, 0x02, 0x83, 0x36, 0x22, 0x0a, 0x46, 0x3a, 0x5e, 0x02,
|
||||
0x09, 0x53, 0x32, 0x0f, 0x75, 0x10, 0x09, 0x2e, 0xbc, 0x0d, 0x0a, 0x03, 0x27, 0x02, 0x52, 0x03,
|
||||
0x3d, 0x7a, 0xc5, 0x57, 0x5f, 0xc6, 0x7d, 0x1d, 0xc5, 0x57, 0x3d, 0x7a, 0x1b, 0x55, 0x52, 0x03,
|
||||
0x19, 0xb4, 0x5b, 0x0a, 0x03, 0x10, 0x08, 0x20, 0xc2, 0x6b, 0x77, 0x26, 0x6b, 0x77, 0xc3, 0x10,
|
||||
0x07, 0x2d, 0xc0, 0x2a, 0x77, 0xf3, 0x2a, 0x8b, 0x10, 0x09, 0x29, 0x4d, 0x70, 0x73, 0x05, 0x23,
|
||||
0x3a, 0x06, 0x02, 0x4d, 0x0a, 0x23, 0x6a, 0x1a, 0x4c, 0x1a, 0xb5, 0x1d, 0x4c, 0x1e, 0x1d, 0x6a,
|
||||
0x1e, 0x1d, 0x3a, 0x06, 0x48, 0x04, 0x1d, 0x4d, 0x0b, 0x37, 0x68, 0x10, 0x09, 0x53, 0x27, 0x85,
|
||||
0x1f, 0x85, 0x2c, 0x3d, 0x85, 0x1f, 0x85, 0x10, 0x03, 0x29, 0x76, 0x0f, 0x10, 0x03, 0x29, 0x77,
|
||||
0x8b, 0x87, 0x74, 0x1a, 0x06, 0x0b, 0x5f, 0xa4, 0x4f, 0x10, 0x07, 0x53, 0x27, 0x55, 0x39, 0x3d,
|
||||
0x03, 0x2b, 0x50, 0x94, 0x05, 0x2b, 0x50, 0xa4, 0x40, 0x78, 0x66, 0x04, 0x5f, 0xa4, 0x40, 0x78,
|
||||
0x1b, 0x06, 0x0e, 0x03, 0x00, 0x27, 0x05, 0x0e, 0x03, 0x23, 0xc6, 0x05, 0x0e, 0x04, 0x10, 0x06,
|
||||
0x29, 0x76, 0x26, 0x10, 0x0a, 0x22, 0xa4, 0x06, 0x1e, 0x04, 0x0f, 0x5f, 0x73, 0x1e, 0x0b, 0x0f,
|
||||
0xa4, 0x08, 0x05, 0x19, 0x04, 0x09, 0x0f, 0x5f, 0x67, 0x0c, 0x19, 0x62, 0x1b, 0x94, 0x0a, 0x05,
|
||||
0x3c, 0xf6, 0x94, 0x32, 0x61, 0xc6, 0xc8, 0x0d, 0x0d, 0xc8, 0x85, 0x0f, 0x10, 0x09, 0x29, 0x73,
|
||||
0x94, 0xa4, 0x69, 0xcc, 0xa4, 0x44, 0x00, 0xc8, 0x94, 0x5a, 0xe6, 0x94, 0x49, 0x01, 0x59, 0x3d,
|
||||
0x63, 0x59, 0x3d, 0x49, 0x02, 0x1d, 0xe5, 0x05, 0x0a, 0x1d, 0xc5, 0x0c, 0x0f, 0x10, 0x09, 0x25,
|
||||
0x32, 0x0f, 0x61, 0x3f, 0x84, 0x36, 0x19, 0x6e, 0x23, 0x86, 0x3e, 0x0f, 0x0d, 0x05, 0x10, 0x08,
|
||||
0x1a, 0xb4, 0x5b, 0x64, 0x27, 0x01, 0x31, 0x80, 0x1e, 0xbc, 0x6f, 0x02, 0x3f, 0x8b, 0x10, 0x09,
|
||||
0x25, 0x32, 0x73, 0x05, 0x3f, 0x84, 0x36, 0x19, 0x57, 0x23, 0x86, 0x3e, 0x66, 0x05, 0x1a, 0x6a,
|
||||
0x22, 0x55, 0x65, 0x10, 0x08, 0x79, 0x08, 0x0c, 0x80, 0x5f, 0xc0, 0x4c, 0x27, 0x02, 0x69, 0x27,
|
||||
0x55, 0x65, 0x23, 0xc5, 0x4b, 0x3d, 0x7e, 0x10, 0x08, 0x20, 0x7d, 0x0a, 0x0e, 0x0f, 0x68, 0x3f,
|
||||
0x0b, 0x08, 0x01, 0x00, 0x6c, 0x3f, 0x65, 0x1a, 0x0b, 0x09, 0x78, 0x7d, 0x09, 0x0d, 0x0e, 0x0a,
|
||||
0x78, 0x7d, 0x31, 0x1a, 0x74, 0x3f, 0x68, 0x7d, 0x31, 0x3f, 0x6c, 0x5b, 0x64, 0x10, 0x07, 0x20,
|
||||
0xc3, 0x8f, 0x76, 0x10, 0x09, 0x53, 0x27, 0x85, 0x1f, 0x85, 0x1f, 0x85, 0x2b, 0x50, 0x44, 0x23,
|
||||
0x3b, 0x03, 0x4d, 0x0b, 0x07, 0x3f, 0x07, 0x0d, 0x0f, 0x0d, 0x07, 0x10, 0x08, 0x2d, 0x47, 0x23,
|
||||
0x4b, 0x1e, 0x4c, 0x1e, 0x57, 0x5f, 0x63, 0x1e, 0x08, 0x07, 0x1e, 0x7d, 0x65, 0x00, 0x7d, 0x65,
|
||||
0x23, 0x5a, 0x00, 0x56, 0x3f, 0x6e, 0x19, 0x36, 0x3f, 0x0a, 0x05, 0x05, 0x8e, 0x71, 0x4f, 0x22,
|
||||
0x0c, 0x0c, 0x10, 0x0b, 0x20, 0x4f, 0x50, 0x0e, 0x50, 0x71, 0x19, 0x56, 0x00, 0x4d, 0x0f, 0x03,
|
||||
0x19, 0x5a, 0x00, 0x57, 0x19, 0x07, 0x0f, 0x07, 0x19, 0x4c, 0x50, 0x61, 0x00, 0x0a, 0x09, 0x0a,
|
||||
0x00, 0x6c, 0x1e, 0x47, 0x00, 0x0d, 0x6e, 0x00, 0x4b, 0x1e, 0x74, 0x71, 0x00, 0x4f, 0x65, 0x5f,
|
||||
0x0b, 0x0b, 0x08, 0x00, 0x31, 0x0a, 0x23, 0x05, 0x0f, 0x04, 0x00, 0x04, 0x0f, 0x05, 0x5f, 0x7d,
|
||||
0x65, 0x7d, 0x65, 0x10, 0x07, 0x20, 0x0a, 0x08, 0x50, 0x08, 0x0a, 0x23, 0x74, 0x03, 0x4d, 0x65,
|
||||
0x3f, 0x06, 0x0c, 0x00, 0x34, 0x45, 0x0b, 0x0c, 0x0b, 0x22, 0x04, 0x0f, 0x04, 0x22, 0x0b, 0x0b,
|
||||
0x0b, 0x45, 0x06, 0x0c, 0x00, 0x34, 0x23, 0x7d, 0x4c, 0x55, 0x65, 0x23, 0x6a, 0x00, 0x7a, 0x10,
|
||||
0x07, 0x20, 0x69, 0x50, 0x3c, 0x23, 0x71, 0x50, 0x4f, 0x3f, 0x54, 0x00, 0x5d, 0x3f, 0x4d, 0x0b,
|
||||
0x00, 0x0b, 0x7b, 0x0a, 0x08, 0x8e, 0x55, 0x67, 0x1a, 0x77, 0x10, 0x09, 0x29, 0xc3, 0x87, 0x63,
|
||||
0x22, 0x05, 0x8e, 0x4d, 0x0b, 0x45, 0x55, 0x0c, 0x01, 0x53, 0x7d, 0x62, 0x22, 0x68, 0x22, 0x09,
|
||||
0x46, 0x2c, 0x10, 0x05, 0x2e, 0xb4, 0x83, 0x76, 0x66, 0x10, 0x04, 0x20, 0x2b, 0x1a, 0x08, 0x07,
|
||||
0x1a, 0x32, 0x2e, 0x65, 0x1a, 0x0a, 0x46, 0x47, 0x1a, 0x74, 0x2e, 0x61, 0x1a, 0x63, 0x1a, 0x44,
|
||||
0x10, 0x05, 0x1a, 0xb4, 0x2e, 0x76, 0x6b, 0xb4, 0x10, 0x0a, 0x00, 0x25, 0x04, 0x37, 0x04, 0x53,
|
||||
0x05, 0x39, 0x72, 0x05, 0x23, 0x07, 0x62, 0x00, 0x55, 0x0c, 0x07, 0x10, 0x06, 0x3f, 0x25, 0x4e,
|
||||
0x4e, 0xc3, 0x10, 0x06, 0x7a, 0x23, 0x63, 0x10, 0x08, 0x30, 0x2f, 0x37, 0x0a, 0x01, 0x3f, 0x61,
|
||||
0x48, 0x09, 0x09, 0x1a, 0x49, 0x23, 0x4d, 0x70, 0x66, 0x6b, 0x75, 0x01, 0x7d, 0x6b, 0x0e, 0x05,
|
||||
0x00, 0x2f, 0x6b, 0x72, 0x0f, 0x75, 0x0f, 0x10, 0x08, 0x19, 0x77, 0x7f, 0x52, 0x58, 0x10, 0x07,
|
||||
0x24, 0x4a, 0x33, 0x53, 0x3b, 0x6d, 0x08, 0x53, 0x2b, 0x83, 0x2b, 0x1a, 0x3b, 0x6d, 0x08, 0x45,
|
||||
0x4a, 0x33, 0x10, 0x08, 0x3f, 0x28, 0x2a, 0x81, 0x21, 0x0f, 0x10, 0x08, 0x24, 0x07, 0x0d, 0x0e,
|
||||
0x60, 0x3f, 0x3b, 0x6d, 0x0a, 0x08, 0x3f, 0x36, 0x00, 0x49, 0x3f, 0x0e, 0xf3, 0x6b, 0x36, 0x22,
|
||||
0x3b, 0x02, 0x4d, 0x0a, 0x53, 0x40, 0x73, 0x05, 0x10, 0x04, 0x19, 0x3e, 0x89, 0x2b, 0x1a, 0x2a,
|
||||
0xbc, 0x89, 0x28, 0x8b, 0x10, 0x08, 0x24, 0x21, 0x6b, 0x31, 0x5c, 0x6b, 0x36, 0x55, 0x1c, 0x5f,
|
||||
0x36, 0x55, 0x6b, 0x31, 0x5c, 0x2a, 0x21, 0x87, 0x44, 0x53, 0x08, 0x01, 0x02, 0x0b, 0x08, 0x53,
|
||||
0x07, 0x0d, 0x0e, 0x60, 0x10, 0x08, 0x19, 0x77, 0x0f, 0x82, 0x5f, 0xc5, 0x1c, 0x10, 0x03, 0x29,
|
||||
0x8f, 0x25, 0x77, 0x8b, 0x10, 0x03, 0x29, 0x8f, 0x25, 0x77, 0x8b, 0x87, 0x44, 0x1a, 0x0e, 0x06,
|
||||
0x10, 0x07, 0x19, 0x77, 0x1f, 0x44, 0x07, 0x50, 0x94, 0x38, 0x05, 0x50, 0xa4, 0x40, 0x7b, 0x0f,
|
||||
0x35, 0x5f, 0xa4, 0x6e, 0x07, 0x5f, 0x94, 0x6e, 0x07, 0x00, 0x27, 0x49, 0x07, 0x10, 0x03, 0x19,
|
||||
0x28, 0x76, 0x10, 0x0b, 0x18, 0xf8, 0x07, 0x37, 0x05, 0x52, 0x39, 0xd4, 0x60, 0x06, 0x0e, 0x60,
|
||||
0x06, 0x0c, 0x1e, 0x51, 0x51, 0xc5, 0x7c, 0x19, 0x7c, 0x10, 0x08, 0x18, 0xf8, 0x82, 0x5f, 0xc5,
|
||||
0x1c, 0x10, 0x08, 0x24, 0x08, 0x8c, 0x31, 0x5c, 0x08, 0x3f, 0x36, 0x00, 0x44, 0x3f, 0xc5, 0x6b,
|
||||
0x36, 0x00, 0x44, 0x3f, 0x31, 0x5c, 0x08, 0x53, 0x09, 0x0e, 0x58, 0x10, 0x08, 0x30, 0x7f, 0x52,
|
||||
0x58, 0x53, 0x28, 0x89, 0x08, 0x24, 0x81, 0x21, 0x77, 0x0f, 0x10, 0x05, 0x18, 0xf8, 0x07, 0x0d,
|
||||
0xc5, 0xa4, 0x64, 0x22, 0x67, 0x1a, 0x8b, 0x10, 0x07, 0x30, 0x32, 0x0f, 0x75, 0x53, 0x0e, 0x05,
|
||||
0x55, 0x09, 0x53, 0x75, 0x78, 0x4d, 0x0a, 0x0e, 0x39, 0x1a, 0x38, 0x53, 0x64, 0x00, 0x72, 0x53,
|
||||
0x3e, 0x0f, 0x61, 0x10, 0x05, 0x1e, 0x83, 0x2a, 0xbc, 0x89, 0x8b, 0x4c, 0x1a, 0x52, 0x0f, 0x10,
|
||||
0x08, 0x18, 0xc8, 0x8a, 0x1f, 0x8a, 0x51, 0x01, 0x6b, 0x0c, 0x07, 0x01, 0x2f, 0x6b, 0x71, 0x0f,
|
||||
0x75, 0x0f, 0x10, 0x06, 0x18, 0x44, 0x1e, 0x2b, 0x23, 0x61, 0x7e, 0x47, 0x19, 0x4b, 0x3f, 0x74,
|
||||
0x48, 0x65, 0x53, 0x6a, 0x07, 0x8e, 0x88, 0x22, 0x0d, 0x0d, 0x10, 0x09, 0x00, 0x18, 0x36, 0x02,
|
||||
0x67, 0x00, 0x6e, 0x1e, 0x09, 0x06, 0x00, 0x06, 0x0f, 0x06, 0x00, 0x06, 0x09, 0x1e, 0x5d, 0x00,
|
||||
0x0b, 0x31, 0x00, 0x54, 0x1e, 0x49, 0x74, 0x74, 0x49, 0x23, 0x0b, 0x3b, 0x00, 0x0b, 0x3b, 0x23,
|
||||
0x06, 0x33, 0x00, 0x52, 0x06, 0x5f, 0x55, 0x0f, 0x03, 0x4d, 0x67, 0x10, 0x06, 0x00, 0x18, 0x68,
|
||||
0x19, 0x6c, 0x3f, 0x44, 0x19, 0x62, 0x53, 0x6a, 0x63, 0x45, 0x3e, 0x0d, 0x78, 0x0b, 0x06, 0x06,
|
||||
0x09, 0x53, 0x72, 0x19, 0x4f, 0x3f, 0x69, 0x19, 0x6c, 0x10, 0x06, 0x18, 0x01, 0x65, 0x50, 0x65,
|
||||
0x23, 0x5a, 0x00, 0x6c, 0x3f, 0x6e, 0x19, 0x09, 0x05, 0x53, 0x0a, 0x05, 0x00, 0x0d, 0x01, 0x3f,
|
||||
0x4d, 0x4f, 0x09, 0x22, 0x0b, 0x68, 0x22, 0x3e, 0x1a, 0x06, 0x08, 0x22, 0x49, 0x78, 0x66, 0x06,
|
||||
0x10, 0x05, 0x18, 0xe2, 0x87, 0x06, 0x09, 0x45, 0x4d, 0x0b, 0x45, 0x55, 0x62, 0x22, 0x0b, 0x03,
|
||||
0x22, 0x09, 0x46, 0x26, 0x10, 0x08, 0x19, 0x25, 0x40, 0x89, 0x0e, 0x04, 0x83, 0x87, 0x3e, 0x23,
|
||||
0xb4, 0x46, 0x3e, 0x2e, 0x28, 0x0e, 0x03, 0x1a, 0x40, 0x0f, 0x10, 0x04, 0x25, 0x77, 0x76, 0x8f,
|
||||
0x08, 0x29, 0x5b, 0x46, 0x38, 0x2e, 0x28, 0x0d, 0x05, 0x1a, 0x06, 0x0f, 0x89, 0x0d, 0x05, 0x83,
|
||||
0x87, 0x38, 0x22, 0x5b, 0x06, 0x10, 0x0a, 0x4e, 0x41, 0x6f, 0x5e, 0x02, 0x0b, 0x5f, 0x09, 0x6d,
|
||||
0x05, 0x70, 0x0c, 0x05, 0x10,
|
||||
};
|
||||
|
||||
static const uint16_t mf_rlefont_DejaVuSans12_aa_glyph_offsets_0[95] = {
|
||||
0x0000, 0x0003, 0x000d, 0x0015, 0x0039, 0x005e, 0x008a, 0x00b7,
|
||||
0x00bb, 0x00d2, 0x00ec, 0x0104, 0x010d, 0x0112, 0x0117, 0x011c,
|
||||
0x0133, 0x0152, 0x015a, 0x0175, 0x0196, 0x01ad, 0x01c7, 0x01f1,
|
||||
0x0208, 0x022d, 0x0255, 0x0259, 0x025d, 0x027d, 0x0285, 0x029f,
|
||||
0x02b5, 0x02fa, 0x031e, 0x0339, 0x0356, 0x0376, 0x0380, 0x0389,
|
||||
0x03ac, 0x03b8, 0x03bd, 0x03ca, 0x03ef, 0x03f4, 0x041d, 0x043e,
|
||||
0x044f, 0x045f, 0x0474, 0x0488, 0x04ae, 0x04b4, 0x04cc, 0x04f3,
|
||||
0x0534, 0x0560, 0x057b, 0x0593, 0x059a, 0x05b1, 0x05b9, 0x05cc,
|
||||
0x05d3, 0x05d8, 0x05f8, 0x05ff, 0x0613, 0x061b, 0x0639, 0x0645,
|
||||
0x0665, 0x066e, 0x0675, 0x0681, 0x069e, 0x06a3, 0x06ba, 0x06c2,
|
||||
0x06dc, 0x06e4, 0x06eb, 0x06f8, 0x0714, 0x0720, 0x0733, 0x074b,
|
||||
0x077c, 0x079a, 0x07c1, 0x07d5, 0x07eb, 0x07f0, 0x0806,
|
||||
};
|
||||
|
||||
static const struct mf_rlefont_char_range_s mf_rlefont_DejaVuSans12_aa_char_ranges[] = {
|
||||
{32, 95, mf_rlefont_DejaVuSans12_aa_glyph_offsets_0, mf_rlefont_DejaVuSans12_aa_glyph_data_0},
|
||||
};
|
||||
|
||||
const struct mf_rlefont_s mf_rlefont_DejaVuSans12_aa = {
|
||||
{
|
||||
"DejaVu Sans Book 12",
|
||||
"DejaVuSans12_aa",
|
||||
13, /* width */
|
||||
13, /* height */
|
||||
3, /* min x advance */
|
||||
13, /* max x advance */
|
||||
1, /* baseline x */
|
||||
10, /* baseline y */
|
||||
14, /* line height */
|
||||
0, /* flags */
|
||||
63, /* fallback character */
|
||||
&mf_rlefont_character_width,
|
||||
&mf_rlefont_render_character,
|
||||
},
|
||||
4, /* version */
|
||||
mf_rlefont_DejaVuSans12_aa_dictionary_data,
|
||||
mf_rlefont_DejaVuSans12_aa_dictionary_offsets,
|
||||
94, /* rle dict count */
|
||||
121, /* total dict count */
|
||||
1, /* char range count */
|
||||
mf_rlefont_DejaVuSans12_aa_char_ranges,
|
||||
};
|
||||
|
||||
#ifdef MF_INCLUDED_FONTS
|
||||
/* List entry for searching fonts by name. */
|
||||
static const struct mf_font_list_s mf_rlefont_DejaVuSans12_aa_listentry = {
|
||||
MF_INCLUDED_FONTS,
|
||||
(struct mf_font_s*)&mf_rlefont_DejaVuSans12_aa
|
||||
};
|
||||
#undef MF_INCLUDED_FONTS
|
||||
#define MF_INCLUDED_FONTS (&mf_rlefont_DejaVuSans12_aa_listentry)
|
||||
#endif
|
||||
|
||||
|
||||
/* End of automatically generated font definition for DejaVuSans12_aa. */
|
||||
|
179
src/gdisp/fonts/DejaVuSans16.c
Normal file
179
src/gdisp/fonts/DejaVuSans16.c
Normal file
@ -0,0 +1,179 @@
|
||||
|
||||
|
||||
/* Start of automatically generated font definition for DejaVuSans16. */
|
||||
|
||||
#ifndef MF_RLEFONT_INTERNALS
|
||||
#define MF_RLEFONT_INTERNALS
|
||||
#endif
|
||||
#include "mf_rlefont.h"
|
||||
|
||||
#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
|
||||
#error The font file is not compatible with this version of mcufont.
|
||||
#endif
|
||||
|
||||
static const uint8_t mf_rlefont_DejaVuSans16_dictionary_data[247] = {
|
||||
0x0f, 0x15, 0x83, 0x0a, 0x41, 0x2f, 0x06, 0x0a, 0x80, 0x01, 0x0b, 0x83, 0x01, 0x3d, 0x05, 0x80,
|
||||
0x09, 0x80, 0x06, 0x80, 0x09, 0x80, 0x06, 0x80, 0x09, 0x80, 0x01, 0x05, 0x80, 0x03, 0x0a, 0x81,
|
||||
0x0e, 0x80, 0x0d, 0x03, 0x80, 0x01, 0x0f, 0x80, 0x10, 0x80, 0x10, 0x80, 0x01, 0x09, 0x80, 0x01,
|
||||
0x04, 0x07, 0x80, 0x07, 0x80, 0x08, 0x80, 0x0b, 0x08, 0x80, 0x01, 0x0f, 0x80, 0x10, 0x80, 0x01,
|
||||
0x0d, 0x80, 0x01, 0x80, 0x03, 0x80, 0x07, 0x80, 0x01, 0x13, 0x02, 0x80, 0x06, 0x80, 0x01, 0x03,
|
||||
0x81, 0x01, 0x03, 0x84, 0x13, 0x87, 0x07, 0x81, 0x01, 0x80, 0x0c, 0x04, 0x80, 0x0a, 0x10, 0x14,
|
||||
0x04, 0x80, 0x01, 0x80, 0x01, 0x81, 0x01, 0x80, 0x01, 0x84, 0x82, 0x85, 0xa4, 0xb4, 0x26, 0xa4,
|
||||
0x26, 0x20, 0x21, 0x27, 0xf4, 0x2c, 0x1d, 0xc8, 0x1d, 0x00, 0x25, 0xb4, 0x22, 0x3f, 0xd4, 0x1d,
|
||||
0xf5, 0xac, 0x30, 0x31, 0x2d, 0x32, 0x22, 0xcf, 0x2b, 0x25, 0x00, 0x1d, 0xd4, 0x1d, 0x37, 0x29,
|
||||
0xd0, 0x2e, 0x28, 0x2e, 0x28, 0xf2, 0x29, 0x2f, 0x83, 0x1d, 0x3b, 0xa4, 0x26, 0x20, 0x21, 0x3c,
|
||||
0x1c, 0x22, 0x0f, 0x26, 0x21, 0x1c, 0x2c, 0x36, 0xfa, 0xc6, 0x1d, 0x36, 0xd4, 0xa4, 0x3a, 0x2a,
|
||||
0xf4, 0x8c, 0x20, 0x20, 0x31, 0x31, 0x2a, 0x29, 0x2a, 0x1f, 0x26, 0x3b, 0x25, 0xfe, 0x3a, 0xf4,
|
||||
0x29, 0x36, 0x0f, 0xa3, 0x1d, 0xc4, 0x74, 0x83, 0x1c, 0x32, 0x36, 0x95, 0x24, 0x23, 0x00, 0x29,
|
||||
0x31, 0xd0, 0xd8, 0x2a, 0xd5, 0x86, 0xa4, 0xa4, 0x1d, 0x37, 0x2d, 0x29, 0x2d, 0xd3, 0x22, 0x37,
|
||||
0x37, 0x31, 0x19, 0x1a, 0xc2, 0x29, 0x30, 0x2e, 0xb4, 0x26, 0xd4, 0x1c, 0x2d, 0xa4, 0x26, 0xc4,
|
||||
0xc0, 0xc4, 0x2d, 0x2d, 0x23, 0xfc, 0x36,
|
||||
};
|
||||
|
||||
static const uint16_t mf_rlefont_DejaVuSans16_dictionary_offsets[88] = {
|
||||
0x0000, 0x0001, 0x0002, 0x0004, 0x0006, 0x0007, 0x000a, 0x000d,
|
||||
0x000e, 0x001b, 0x001e, 0x0020, 0x0023, 0x0026, 0x002d, 0x0030,
|
||||
0x0031, 0x0037, 0x0038, 0x003b, 0x0040, 0x0042, 0x0046, 0x0049,
|
||||
0x004a, 0x004c, 0x004f, 0x0052, 0x0054, 0x0056, 0x0058, 0x005b,
|
||||
0x005e, 0x005f, 0x0060, 0x0063, 0x0065, 0x0066, 0x0069, 0x006a,
|
||||
0x006b, 0x0074, 0x0076, 0x0079, 0x007b, 0x007e, 0x0080, 0x0082,
|
||||
0x0085, 0x0088, 0x008a, 0x008c, 0x008f, 0x0091, 0x0095, 0x0097,
|
||||
0x009a, 0x009f, 0x00a2, 0x00a6, 0x00a8, 0x00a9, 0x00ac, 0x00af,
|
||||
0x00b7, 0x00b9, 0x00bb, 0x00bd, 0x00bf, 0x00c2, 0x00c5, 0x00cc,
|
||||
0x00cf, 0x00d1, 0x00d2, 0x00da, 0x00dd, 0x00e0, 0x00e2, 0x00e4,
|
||||
0x00e6, 0x00e8, 0x00ea, 0x00ed, 0x00f0, 0x00f1, 0x00f4, 0x00f7,
|
||||
};
|
||||
|
||||
static const uint8_t mf_rlefont_DejaVuSans16_glyph_data_0[1166] = {
|
||||
0x05, 0x00, 0x10, 0x06, 0x27, 0x43, 0x49, 0x18, 0x2f, 0x2b, 0x10, 0x06, 0x58, 0x55, 0x3d, 0x55,
|
||||
0x10, 0x0d, 0xf4, 0x19, 0x41, 0x8d, 0x42, 0xfa, 0x5e, 0x29, 0xdd, 0x5e, 0x29, 0xdd, 0x10, 0x0a,
|
||||
0x2f, 0x65, 0x2c, 0x1a, 0xfe, 0xa9, 0x1d, 0x55, 0xe0, 0x38, 0x8b, 0x4a, 0x36, 0xd6, 0x1d, 0xde,
|
||||
0x29, 0x3e, 0x6e, 0x10, 0x0f, 0x2f, 0xd2, 0x6a, 0x6a, 0xf4, 0x85, 0x8c, 0xb6, 0x2a, 0xa8, 0x22,
|
||||
0xed, 0x18, 0x76, 0x1d, 0xc6, 0x85, 0x32, 0x2d, 0x2a, 0xe8, 0x68, 0x24, 0x68, 0x74, 0x10, 0x0c,
|
||||
0x66, 0xfc, 0xa7, 0x4a, 0x5c, 0xfc, 0x8c, 0x53, 0xc6, 0xa5, 0x1c, 0x5b, 0x68, 0x3a, 0x86, 0x8c,
|
||||
0x69, 0x44, 0x30, 0x10, 0x03, 0x2f, 0x5a, 0x10, 0x06, 0x2f, 0xd0, 0x4c, 0x6e, 0x24, 0x49, 0x41,
|
||||
0x41, 0x38, 0x51, 0x10, 0x06, 0x2f, 0x51, 0x41, 0x41, 0x60, 0x49, 0x6e, 0x32, 0x4c, 0x10, 0x08,
|
||||
0xfc, 0x1c, 0x6e, 0x96, 0x86, 0x1c, 0x67, 0xa0, 0x29, 0x6f, 0x2c, 0x41, 0x10, 0x0d, 0x1f, 0x23,
|
||||
0x8c, 0x6e, 0xf3, 0xa3, 0x29, 0x5a, 0x10, 0x05, 0x1b, 0x25, 0x23, 0x10, 0x06, 0x18, 0x1f, 0x1f,
|
||||
0xe2, 0x10, 0x05, 0x1b, 0x2b, 0x10, 0x05, 0x1c, 0x41, 0x41, 0x25, 0x6e, 0xd4, 0x25, 0x27, 0x22,
|
||||
0x5c, 0x10, 0x0a, 0x66, 0x30, 0x37, 0xfe, 0x45, 0x20, 0x6b, 0x52, 0xfe, 0x37, 0x5b, 0x1e, 0x10,
|
||||
0x0a, 0x2f, 0xe0, 0x4c, 0x5a, 0x49, 0x00, 0x23, 0x83, 0x10, 0x0a, 0x2f, 0xa2, 0x29, 0xa7, 0x4a,
|
||||
0x65, 0x5c, 0x5f, 0x36, 0x5f, 0xfe, 0x38, 0x83, 0x10, 0x0a, 0x2f, 0x67, 0xe5, 0x90, 0x6e, 0xdc,
|
||||
0x1e, 0x41, 0x5a, 0x2a, 0x37, 0xc2, 0x10, 0x0a, 0x29, 0x4c, 0x53, 0x30, 0x55, 0xd5, 0x29, 0xa5,
|
||||
0x1c, 0xa4, 0x4b, 0x3c, 0x83, 0x6e, 0xd4, 0x10, 0x0a, 0x39, 0x5d, 0x5c, 0xd4, 0x18, 0x67, 0x5b,
|
||||
0x38, 0x5a, 0x2a, 0x37, 0xc2, 0x10, 0x0a, 0x39, 0xa0, 0x29, 0xa7, 0x1c, 0xa4, 0x2b, 0x64, 0x3b,
|
||||
0x20, 0x21, 0x1c, 0x5b, 0x1e, 0x10, 0x0a, 0x34, 0x41, 0x2b, 0x23, 0xec, 0x25, 0x6e, 0xec, 0x10,
|
||||
0x0a, 0x66, 0xfa, 0x69, 0x6b, 0xf5, 0x35, 0xb4, 0x1e, 0x22, 0x69, 0x6b, 0x52, 0x5b, 0x1e, 0x10,
|
||||
0x0a, 0x66, 0x30, 0x45, 0x45, 0x6b, 0x52, 0x3d, 0x48, 0x5c, 0xec, 0x4a, 0x90, 0x1c, 0x74, 0x10,
|
||||
0x05, 0x29, 0x1f, 0x41, 0x41, 0x2f, 0x1f, 0x65, 0x10, 0x05, 0x00, 0x29, 0x1f, 0x2b, 0x1c, 0x1f,
|
||||
0x43, 0x23, 0x10, 0x0d, 0x27, 0x1f, 0x5c, 0x4e, 0x3f, 0x29, 0x92, 0x4a, 0x41, 0x51, 0x0f, 0x18,
|
||||
0xa0, 0x41, 0x10, 0x0d, 0x39, 0x19, 0x1f, 0x33, 0xa3, 0x19, 0x34, 0x3c, 0x10, 0x0d, 0x00, 0x59,
|
||||
0x18, 0xd2, 0x41, 0x51, 0xf5, 0x5c, 0x4e, 0x4e, 0x3f, 0x2c, 0x10, 0x09, 0x2f, 0xa2, 0x4a, 0x8c,
|
||||
0x6e, 0x32, 0x4c, 0x4c, 0x6e, 0x1c, 0x2b, 0x10, 0x10, 0x38, 0x35, 0x1a, 0xf7, 0xb4, 0x2e, 0x35,
|
||||
0x21, 0xb3, 0x86, 0x97, 0x32, 0x2d, 0x47, 0x47, 0x47, 0x47, 0x8d, 0xb0, 0x21, 0x73, 0x1c, 0x86,
|
||||
0x4c, 0x44, 0x0f, 0x10, 0x0b, 0x39, 0x8c, 0x23, 0x98, 0x53, 0x63, 0x4a, 0x4b, 0x3f, 0x93, 0x28,
|
||||
0xc4, 0x68, 0x2a, 0x10, 0x0b, 0x4f, 0xfc, 0x32, 0x28, 0xfc, 0x21, 0x21, 0x32, 0x1c, 0x82, 0x87,
|
||||
0x21, 0x32, 0x28, 0x2e, 0x28, 0x00, 0x21, 0x1c, 0x83, 0x10, 0x0b, 0x19, 0x67, 0x0f, 0x69, 0xf4,
|
||||
0x4a, 0x49, 0x41, 0x60, 0xdc, 0x29, 0x3e, 0x10, 0x0c, 0x4f, 0x69, 0x31, 0x2e, 0x28, 0x4d, 0x28,
|
||||
0x27, 0x8a, 0x1c, 0x83, 0x10, 0x0a, 0x34, 0x26, 0x25, 0x18, 0x83, 0x85, 0x65, 0x25, 0xfc, 0x2c,
|
||||
0x83, 0x10, 0x09, 0x4f, 0x25, 0x18, 0x5d, 0x49, 0x10, 0x0c, 0x19, 0x82, 0x1d, 0xb4, 0x1c, 0x68,
|
||||
0x1c, 0x5a, 0x00, 0x7c, 0x2e, 0x28, 0x2a, 0x1c, 0x52, 0x82, 0x10, 0x0c, 0x2f, 0xe5, 0xa4, 0x4d,
|
||||
0xf4, 0x74, 0x83, 0x2e, 0x28, 0x4d, 0x10, 0x05, 0xc4, 0x2b, 0x49, 0x49, 0x10, 0x05, 0x39, 0x5a,
|
||||
0x49, 0x49, 0x4c, 0x10, 0x0a, 0x58, 0xa4, 0x26, 0x45, 0x24, 0x42, 0x36, 0xd2, 0x53, 0x30, 0x88,
|
||||
0x42, 0xec, 0x4a, 0x45, 0xa4, 0x10, 0x09, 0x58, 0x49, 0x49, 0x18, 0x83, 0x10, 0x0d, 0xf4, 0x41,
|
||||
0x85, 0x90, 0xb4, 0x35, 0x31, 0x46, 0x31, 0x46, 0x31, 0x46, 0x31, 0x2d, 0x47, 0x30, 0x6d, 0x6d,
|
||||
0x00, 0x21, 0x5b, 0x6b, 0xc5, 0xa4, 0x10, 0x0c, 0x2f, 0x87, 0x8c, 0xa4, 0x86, 0x68, 0xc5, 0x68,
|
||||
0x3d, 0x6a, 0x6a, 0xd4, 0x1c, 0x5b, 0x68, 0xd4, 0x68, 0xd4, 0x68, 0xf4, 0x98, 0x1c, 0x85, 0x8e,
|
||||
0xa4, 0x35, 0x10, 0x0d, 0x2f, 0x33, 0x4a, 0x3a, 0x57, 0x37, 0xc2, 0x10, 0x0a, 0x2f, 0x5d, 0x45,
|
||||
0x20, 0x37, 0x5d, 0x18, 0x5a, 0x10, 0x0d, 0x2f, 0x33, 0x4a, 0x3a, 0x57, 0x44, 0x60, 0x41, 0x10,
|
||||
0x0b, 0x2f, 0x5d, 0x45, 0x20, 0x37, 0x83, 0x1d, 0x45, 0x6b, 0xf5, 0x28, 0x2e, 0x10, 0x0a, 0x66,
|
||||
0xfe, 0xb5, 0x1d, 0x2b, 0x41, 0x51, 0x51, 0x38, 0x52, 0x3c, 0x44, 0x10, 0x09, 0x18, 0x7c, 0xa3,
|
||||
0x4a, 0x49, 0x49, 0x10, 0x0c, 0x58, 0x28, 0x4d, 0x4d, 0x2a, 0x21, 0x1c, 0x82, 0x10, 0x0b, 0xfc,
|
||||
0x38, 0x52, 0x0f, 0x28, 0x2e, 0x2a, 0x4b, 0x2d, 0x29, 0x63, 0x53, 0xd8, 0x5c, 0x10, 0x11, 0x58,
|
||||
0xc4, 0x85, 0x96, 0xa4, 0x31, 0x88, 0x8e, 0x88, 0x86, 0x89, 0x86, 0xa5, 0x5b, 0x3a, 0x98, 0x47,
|
||||
0x47, 0x68, 0x3b, 0x62, 0x10, 0x0b, 0x1c, 0x4c, 0x69, 0x37, 0x63, 0x29, 0x98, 0x23, 0x8c, 0x53,
|
||||
0x63, 0x1c, 0xa4, 0x6b, 0xfe, 0x10, 0x09, 0x38, 0x68, 0x2a, 0x37, 0x63, 0x29, 0xd8, 0x2b, 0x49,
|
||||
0x10, 0x0c, 0x34, 0xf7, 0x5c, 0x5f, 0x36, 0x5f, 0x36, 0x5f, 0x36, 0x74, 0x83, 0x10, 0x06, 0x2f,
|
||||
0x8b, 0x4a, 0x49, 0x49, 0x5c, 0x74, 0x10, 0x05, 0xfc, 0x41, 0x41, 0x5a, 0x43, 0x43, 0x41, 0x41,
|
||||
0x10, 0x06, 0x2f, 0xd2, 0x49, 0x49, 0x5c, 0x37, 0x74, 0x10, 0x0d, 0xfc, 0x19, 0x8a, 0x1e, 0x1c,
|
||||
0xa4, 0x45, 0xa4, 0x10, 0x08, 0xfc, 0x38, 0x1f, 0x1b, 0x34, 0x10, 0x08, 0xf0, 0x38, 0x51, 0x10,
|
||||
0x09, 0x1f, 0x1e, 0x4a, 0xd0, 0x29, 0x37, 0x82, 0x22, 0x45, 0x4b, 0x3c, 0x48, 0x10, 0x0a, 0x2f,
|
||||
0x5a, 0x64, 0x50, 0xfc, 0xb4, 0x37, 0xc1, 0x10, 0x09, 0x1f, 0x1e, 0x1c, 0xa4, 0x45, 0x18, 0x5a,
|
||||
0x41, 0x37, 0xc0, 0x10, 0x0a, 0x29, 0x25, 0x22, 0xf7, 0x40, 0x24, 0x48, 0x10, 0x09, 0x29, 0x1f,
|
||||
0xeb, 0x29, 0x2d, 0x4a, 0x4b, 0x83, 0x1c, 0x65, 0x41, 0x37, 0xc0, 0x10, 0x06, 0x39, 0x92, 0x4a,
|
||||
0x5c, 0x7c, 0x6e, 0x3a, 0x49, 0x10, 0x0a, 0x1f, 0x1e, 0x40, 0x24, 0x48, 0x29, 0x45, 0x24, 0x1e,
|
||||
0x10, 0x0a, 0x2f, 0x5a, 0x64, 0x3b, 0x20, 0x20, 0xa4, 0x10, 0x03, 0xc4, 0x6e, 0x19, 0x5a, 0x49,
|
||||
0x10, 0x03, 0xc4, 0x6e, 0x1c, 0x49, 0x49, 0x5c, 0xf0, 0x10, 0x09, 0x2f, 0x5a, 0x45, 0x24, 0x42,
|
||||
0x36, 0xd2, 0x2c, 0x88, 0x42, 0xec, 0x4a, 0xd4, 0x10, 0x03, 0x27, 0x2b, 0x49, 0x49, 0x10, 0x0f,
|
||||
0x59, 0x3f, 0x7d, 0xa4, 0xb5, 0xb5, 0x3a, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0xd4, 0xa4, 0x10,
|
||||
0x0a, 0x59, 0x64, 0x3b, 0x20, 0x20, 0xa4, 0x10, 0x0a, 0x1f, 0x1e, 0x1c, 0xa4, 0x37, 0x50, 0x1c,
|
||||
0x5b, 0x1e, 0x10, 0x0a, 0x59, 0x64, 0x50, 0xfc, 0xb4, 0x37, 0xc1, 0x4a, 0x2b, 0x10, 0x0a, 0x1f,
|
||||
0x1e, 0x40, 0x24, 0x48, 0x25, 0x10, 0x07, 0x59, 0xcb, 0x22, 0x2b, 0x49, 0x10, 0x09, 0x1f, 0x22,
|
||||
0x3f, 0x4a, 0x45, 0x18, 0x51, 0x87, 0x4c, 0x29, 0x4b, 0xc2, 0x10, 0x06, 0x00, 0x19, 0x6e, 0x33,
|
||||
0x2c, 0x43, 0x25, 0x18, 0xf2, 0x10, 0x0a, 0x59, 0x20, 0x20, 0x00, 0x45, 0x48, 0x10, 0x09, 0x00,
|
||||
0x1f, 0x28, 0x2e, 0x2a, 0x4b, 0x63, 0x53, 0xe0, 0x5c, 0x10, 0x0d, 0x1f, 0x2a, 0x56, 0xf4, 0x86,
|
||||
0x86, 0x2d, 0x2d, 0x31, 0x98, 0x47, 0x68, 0x3b, 0x62, 0x10, 0x0a, 0xfc, 0x1f, 0x35, 0xb4, 0x1d,
|
||||
0x24, 0x4a, 0x55, 0x00, 0x8a, 0x4a, 0x55, 0xa5, 0x22, 0xb4, 0x10, 0x09, 0x1c, 0x1f, 0x68, 0x2a,
|
||||
0x4b, 0xfe, 0x37, 0x63, 0x53, 0x00, 0x8e, 0x4c, 0x6e, 0xf2, 0x10, 0x09, 0xfc, 0x1f, 0x35, 0xa3,
|
||||
0x5c, 0x5f, 0x36, 0x5f, 0xfe, 0x38, 0x83, 0x10, 0x0a, 0x00, 0x19, 0x8a, 0x4a, 0x49, 0x4c, 0x43,
|
||||
0x25, 0x1c, 0x22, 0x10, 0x05, 0x00, 0x58, 0x49, 0x49, 0x49, 0x10, 0x0a, 0x38, 0xb4, 0x60, 0x49,
|
||||
0x18, 0x8a, 0x4a, 0x49, 0x4c, 0x10, 0x0d, 0x00, 0x1f, 0x1f, 0x93, 0x68, 0x7c, 0x10,
|
||||
};
|
||||
|
||||
static const uint16_t mf_rlefont_DejaVuSans16_glyph_offsets_0[95] = {
|
||||
0x0000, 0x0003, 0x000b, 0x0011, 0x001f, 0x0034, 0x004f, 0x0064,
|
||||
0x0068, 0x0074, 0x007f, 0x008d, 0x0097, 0x009c, 0x00a2, 0x00a6,
|
||||
0x00b2, 0x00c0, 0x00ca, 0x00d9, 0x00e7, 0x00f8, 0x0106, 0x0116,
|
||||
0x0120, 0x0130, 0x0140, 0x0149, 0x0153, 0x0163, 0x016d, 0x017b,
|
||||
0x0188, 0x01a4, 0x01b4, 0x01ca, 0x01d8, 0x01e5, 0x01f2, 0x01f9,
|
||||
0x020b, 0x0217, 0x021d, 0x0224, 0x0236, 0x023d, 0x0257, 0x0273,
|
||||
0x027c, 0x0286, 0x0290, 0x029e, 0x02ac, 0x02b4, 0x02be, 0x02ce,
|
||||
0x02e5, 0x02f6, 0x0301, 0x030e, 0x0317, 0x0321, 0x032a, 0x0334,
|
||||
0x033b, 0x0340, 0x034e, 0x0358, 0x0364, 0x036d, 0x037c, 0x0386,
|
||||
0x0391, 0x039a, 0x03a1, 0x03aa, 0x03b9, 0x03bf, 0x03d0, 0x03d8,
|
||||
0x03e3, 0x03ee, 0x03f6, 0x03fd, 0x040b, 0x0416, 0x041e, 0x042a,
|
||||
0x043a, 0x044b, 0x045b, 0x0468, 0x0474, 0x047b, 0x0486,
|
||||
};
|
||||
|
||||
static const struct mf_rlefont_char_range_s mf_rlefont_DejaVuSans16_char_ranges[] = {
|
||||
{32, 95, mf_rlefont_DejaVuSans16_glyph_offsets_0, mf_rlefont_DejaVuSans16_glyph_data_0},
|
||||
};
|
||||
|
||||
const struct mf_rlefont_s mf_rlefont_DejaVuSans16 = {
|
||||
{
|
||||
"DejaVu Sans Book 16",
|
||||
"DejaVuSans16",
|
||||
17, /* width */
|
||||
17, /* height */
|
||||
3, /* min x advance */
|
||||
17, /* max x advance */
|
||||
1, /* baseline x */
|
||||
13, /* baseline y */
|
||||
19, /* line height */
|
||||
2, /* flags */
|
||||
63, /* fallback character */
|
||||
&mf_rlefont_character_width,
|
||||
&mf_rlefont_render_character,
|
||||
},
|
||||
4, /* version */
|
||||
mf_rlefont_DejaVuSans16_dictionary_data,
|
||||
mf_rlefont_DejaVuSans16_dictionary_offsets,
|
||||
40, /* rle dict count */
|
||||
87, /* total dict count */
|
||||
1, /* char range count */
|
||||
mf_rlefont_DejaVuSans16_char_ranges,
|
||||
};
|
||||
|
||||
#ifdef MF_INCLUDED_FONTS
|
||||
/* List entry for searching fonts by name. */
|
||||
static const struct mf_font_list_s mf_rlefont_DejaVuSans16_listentry = {
|
||||
MF_INCLUDED_FONTS,
|
||||
(struct mf_font_s*)&mf_rlefont_DejaVuSans16
|
||||
};
|
||||
#undef MF_INCLUDED_FONTS
|
||||
#define MF_INCLUDED_FONTS (&mf_rlefont_DejaVuSans16_listentry)
|
||||
#endif
|
||||
|
||||
|
||||
/* End of automatically generated font definition for DejaVuSans16. */
|
||||
|
303
src/gdisp/fonts/DejaVuSans16_aa.c
Normal file
303
src/gdisp/fonts/DejaVuSans16_aa.c
Normal file
@ -0,0 +1,303 @@
|
||||
|
||||
|
||||
/* Start of automatically generated font definition for DejaVuSans16_aa. */
|
||||
|
||||
#ifndef MF_RLEFONT_INTERNALS
|
||||
#define MF_RLEFONT_INTERNALS
|
||||
#endif
|
||||
#include "mf_rlefont.h"
|
||||
|
||||
#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
|
||||
#error The font file is not compatible with this version of mcufont.
|
||||
#endif
|
||||
|
||||
static const uint8_t mf_rlefont_DejaVuSans16_aa_dictionary_data[425] = {
|
||||
0x02, 0x07, 0x05, 0x16, 0x0a, 0x80, 0x02, 0x09, 0x04, 0x11, 0x10, 0x0a, 0x08, 0x01, 0x80, 0x04,
|
||||
0x80, 0x08, 0x80, 0x40, 0x08, 0x86, 0x14, 0x80, 0x01, 0x80, 0x11, 0x80, 0x11, 0x80, 0xc1, 0x80,
|
||||
0xc3, 0xcb, 0xde, 0x88, 0x85, 0x80, 0x0e, 0x01, 0xc1, 0x07, 0xc7, 0xc9, 0x07, 0x80, 0x03, 0xca,
|
||||
0xc7, 0xcc, 0xc4, 0x01, 0xc7, 0xc8, 0xcb, 0xc4, 0xcd, 0xc8, 0xce, 0xc2, 0xcd, 0xc2, 0xca, 0xc6,
|
||||
0xc3, 0xca, 0xc5, 0xcc, 0xc7, 0xca, 0xcc, 0xc1, 0xca, 0xc2, 0xce, 0xc5, 0x81, 0xc7, 0xcd, 0xc9,
|
||||
0xc5, 0x02, 0x80, 0xd1, 0xc6, 0xc8, 0xca, 0xc5, 0xcd, 0x0c, 0x80, 0xcd, 0xc2, 0x80, 0xce, 0x80,
|
||||
0xc6, 0xcd, 0xc9, 0xcd, 0x80, 0xc2, 0x82, 0xcb, 0xc6, 0xc3, 0xcd, 0xc4, 0xca, 0xce, 0x0f, 0xce,
|
||||
0xc3, 0xcc, 0xc5, 0x01, 0xc6, 0xca, 0x80, 0x02, 0xc1, 0xcd, 0x0e, 0xc4, 0xcc, 0xcc, 0xc3, 0x01,
|
||||
0xc7, 0x80, 0x80, 0xc1, 0xc8, 0xc9, 0x80, 0xce, 0xc6, 0xcc, 0x80, 0x11, 0x80, 0xca, 0xc4, 0x80,
|
||||
0xc7, 0xc2, 0xce, 0x01, 0xc2, 0xce, 0xc6, 0xc2, 0xcd, 0xc4, 0xcb, 0x28, 0x15, 0xd1, 0xc9, 0xc7,
|
||||
0xcc, 0xc7, 0x14, 0x80, 0xd8, 0xc9, 0xca, 0xcd, 0xc3, 0xcd, 0xc4, 0xc6, 0x80, 0xc6, 0xc1, 0xc2,
|
||||
0xcc, 0xc6, 0xc7, 0x01, 0xc7, 0xc6, 0xc9, 0x03, 0xc8, 0xcd, 0xce, 0xc1, 0xc5, 0xcb, 0xde, 0xca,
|
||||
0xc8, 0xcb, 0xc5, 0x0b, 0xc6, 0xcb, 0xce, 0xcb, 0x0d, 0xc3, 0xcc, 0xc7, 0xcc, 0xc4, 0xcd, 0x05,
|
||||
0x80, 0xc1, 0xce, 0x80, 0x0a, 0x2a, 0x1f, 0x2a, 0x1e, 0x87, 0x1d, 0x26, 0x44, 0x38, 0x19, 0x6c,
|
||||
0x31, 0x71, 0x19, 0x51, 0x18, 0x86, 0x22, 0x87, 0x18, 0x86, 0x22, 0x87, 0x19, 0x71, 0x19, 0x51,
|
||||
0x19, 0x6c, 0x25, 0x25, 0x25, 0x25, 0x23, 0x1c, 0x1e, 0x88, 0x1b, 0x3b, 0x0e, 0x5f, 0x0a, 0x03,
|
||||
0x21, 0x05, 0x0e, 0x07, 0x02, 0x65, 0x06, 0x40, 0x19, 0x65, 0x54, 0x1a, 0x7f, 0x09, 0x1d, 0x25,
|
||||
0x1f, 0x2a, 0x01, 0x7a, 0x00, 0x09, 0x01, 0x88, 0x64, 0x07, 0x6b, 0x3d, 0x88, 0x33, 0x1e, 0x08,
|
||||
0x88, 0x38, 0x78, 0x65, 0x88, 0xc5, 0x30, 0x88, 0x38, 0x78, 0x65, 0x88, 0x33, 0x1e, 0x5c, 0x1d,
|
||||
0x65, 0x66, 0x6b, 0x56, 0x0f, 0x7f, 0x2c, 0x09, 0x01, 0x57, 0x00, 0xc8, 0x05, 0x18, 0x25, 0x08,
|
||||
0x1e, 0x5a, 0x21, 0x4e, 0x1e, 0x87, 0x1c, 0x24, 0x1c, 0x24, 0x1c, 0x24, 0x1c, 0x24, 0x1c, 0x24,
|
||||
0x26, 0x6e, 0x1f, 0x2a, 0x86, 0x86, 0x86, 0x00, 0x42, 0x49, 0x06, 0x78, 0x25, 0x09, 0x08, 0x02,
|
||||
0x01, 0x85, 0x1f, 0x61, 0x78, 0x09, 0x0e, 0x81, 0x03, 0x78, 0x25, 0x33, 0x6b, 0x07, 0x38, 0x21,
|
||||
0x63, 0x1e, 0x3d, 0x21, 0x4e, 0x1e, 0x64, 0x21, 0xc5, 0x30, 0x88, 0x4e, 0x1e, 0x64, 0x21, 0x63,
|
||||
0x1e, 0x3d, 0x18, 0x25, 0x3a, 0x45, 0x38, 0x21, 0x5d, 0x09, 0x0e, 0x81, 0x03, 0x7f, 0x87, 0x20,
|
||||
0x1d, 0x25, 0x20, 0x1c, 0x78, 0x85, 0x59, 0x30, 0x19, 0xc8, 0x1f, 0xbc, 0x5f, 0x75, 0x00, 0x1c,
|
||||
0x30, 0x47, 0x05, 0x66, 0x02, 0x65, 0x06, 0x02, 0x00,
|
||||
};
|
||||
|
||||
static const uint16_t mf_rlefont_DejaVuSans16_aa_dictionary_offsets[140] = {
|
||||
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0007, 0x0008, 0x0009,
|
||||
0x000a, 0x000b, 0x000c, 0x000d, 0x000f, 0x0011, 0x0013, 0x0015,
|
||||
0x0016, 0x0017, 0x0019, 0x001e, 0x0020, 0x0023, 0x0024, 0x0025,
|
||||
0x0027, 0x0029, 0x002d, 0x002f, 0x0031, 0x0034, 0x0036, 0x0038,
|
||||
0x003a, 0x003c, 0x003e, 0x0040, 0x0042, 0x0044, 0x0046, 0x0048,
|
||||
0x004a, 0x004c, 0x004d, 0x004f, 0x0051, 0x0053, 0x0055, 0x0057,
|
||||
0x0059, 0x005a, 0x005c, 0x005e, 0x0060, 0x0062, 0x0064, 0x0066,
|
||||
0x0067, 0x0069, 0x006b, 0x006e, 0x006f, 0x0071, 0x0074, 0x0076,
|
||||
0x0078, 0x007a, 0x007b, 0x007d, 0x0080, 0x0082, 0x0084, 0x0086,
|
||||
0x0088, 0x008a, 0x008d, 0x008f, 0x0091, 0x0093, 0x0095, 0x0097,
|
||||
0x0099, 0x009b, 0x009c, 0x009d, 0x009e, 0x00a0, 0x00a2, 0x00a4,
|
||||
0x00a5, 0x00a7, 0x00a9, 0x00ab, 0x00ae, 0x00b0, 0x00b2, 0x00b5,
|
||||
0x00b7, 0x00b8, 0x00ba, 0x00bc, 0x00be, 0x00bf, 0x00c1, 0x00c3,
|
||||
0x00c4, 0x00c6, 0x00c8, 0x00c9, 0x00cb, 0x00cd, 0x00cf, 0x00d1,
|
||||
0x00d3, 0x00d5, 0x00d8, 0x00db, 0x00dd, 0x00f2, 0x00f6, 0x00fa,
|
||||
0x010c, 0x010e, 0x0112, 0x0115, 0x013a, 0x013c, 0x0151, 0x0154,
|
||||
0x0157, 0x0162, 0x0165, 0x018e, 0x0190, 0x0193, 0x0196, 0x0198,
|
||||
0x019a, 0x01a2, 0x01a7, 0x01a9,
|
||||
};
|
||||
|
||||
static const uint8_t mf_rlefont_DejaVuSans16_aa_glyph_data_0[2853] = {
|
||||
0x05, 0x00, 0x10, 0x06, 0x6a, 0x89, 0x1f, 0x0e, 0x1f, 0x0d, 0x82, 0x69, 0x61, 0x10, 0x06, 0x28,
|
||||
0xed, 0x48, 0xa8, 0x48, 0xa8, 0x48, 0xa8, 0x10, 0x0d, 0x18, 0x69, 0x70, 0x00, 0x2b, 0x03, 0x48,
|
||||
0x0d, 0x06, 0x00, 0x05, 0x0e, 0x48, 0x4a, 0xa2, 0x70, 0x22, 0x65, 0x2d, 0x88, 0x0a, 0x09, 0x65,
|
||||
0x4e, 0x48, 0x40, 0x00, 0x05, 0x0e, 0x48, 0x4a, 0xa2, 0x08, 0x0b, 0x21, 0x2d, 0x5d, 0x1d, 0x0a,
|
||||
0x09, 0x65, 0x4e, 0x48, 0x40, 0x00, 0x4c, 0x48, 0x03, 0x5d, 0x00, 0x0a, 0x09, 0x10, 0x0a, 0x19,
|
||||
0x99, 0x21, 0x30, 0x4d, 0x5f, 0x62, 0x7f, 0x0a, 0x3f, 0x5d, 0x7b, 0x7f, 0x7a, 0x00, 0x2f, 0x71,
|
||||
0x00, 0x2f, 0x05, 0x0e, 0x08, 0x4e, 0x82, 0x65, 0x07, 0x49, 0x5b, 0x21, 0xcc, 0x60, 0x7f, 0xcc,
|
||||
0x87, 0x7f, 0x36, 0x01, 0x4e, 0x70, 0x7f, 0x52, 0x49, 0x09, 0x01, 0x59, 0x61, 0x10, 0x0f, 0x28,
|
||||
0x02, 0x0b, 0x81, 0x02, 0x1e, 0x0b, 0x07, 0x19, 0x7d, 0x01, 0x46, 0x78, 0x3c, 0x22, 0x7a, 0x00,
|
||||
0x87, 0x00, 0x30, 0x72, 0x22, 0x7a, 0x00, 0x87, 0x18, 0x5e, 0x1d, 0x7d, 0x01, 0x46, 0x00, 0x03,
|
||||
0x7a, 0x22, 0x65, 0x0b, 0x81, 0xa2, 0x75, 0x53, 0x60, 0x65, 0x0b, 0x81, 0x02, 0x22, 0x30, 0x54,
|
||||
0x00, 0x7d, 0x01, 0x46, 0x1d, 0x09, 0x08, 0x18, 0x7a, 0x00, 0x87, 0x22, 0x51, 0x01, 0x18, 0x7a,
|
||||
0x00, 0x87, 0x22, 0x55, 0x18, 0x7d, 0x01, 0x46, 0x19, 0x07, 0x0b, 0x78, 0x65, 0x0b, 0x81, 0x02,
|
||||
0x10, 0x0c, 0x1b, 0x79, 0x0f, 0x55, 0x90, 0x3f, 0x01, 0x68, 0x48, 0x7a, 0x20, 0x71, 0x20, 0x06,
|
||||
0x3e, 0x53, 0x7d, 0x0b, 0x01, 0x82, 0x6f, 0x00, 0x83, 0x02, 0x18, 0x87, 0x22, 0x39, 0x18, 0x03,
|
||||
0x72, 0x00, 0x67, 0x22, 0x5d, 0x78, 0x03, 0x40, 0x3d, 0x22, 0x55, 0x78, 0x03, 0x0e, 0x38, 0x22,
|
||||
0x04, 0x66, 0x01, 0x18, 0x3c, 0x63, 0x1d, 0x2c, 0x0d, 0x0a, 0x05, 0x67, 0x07, 0x10, 0x03, 0x96,
|
||||
0x10, 0x06, 0x6a, 0x4a, 0x09, 0x53, 0x4d, 0x01, 0x59, 0x2b, 0x04, 0x53, 0x07, 0x0b, 0x20, 0x3a,
|
||||
0x20, 0x39, 0x20, 0x7a, 0x20, 0x7a, 0x20, 0x39, 0x20, 0x3a, 0x20, 0x80, 0x20, 0x2b, 0x04, 0x1a,
|
||||
0x90, 0x3e, 0x53, 0x4a, 0x09, 0x10, 0x06, 0x1d, 0x90, 0x4e, 0x53, 0x58, 0x09, 0x20, 0x04, 0x5d,
|
||||
0x20, 0x75, 0x20, 0x56, 0x20, 0x67, 0x20, 0x9b, 0x9b, 0x67, 0x20, 0x56, 0x20, 0x75, 0x53, 0x04,
|
||||
0x5d, 0x59, 0x58, 0x09, 0x1e, 0x90, 0x4e, 0x10, 0x08, 0x78, 0x6e, 0x1f, 0x2f, 0x3a, 0xf6, 0x56,
|
||||
0x48, 0x80, 0x0f, 0x50, 0x82, 0x80, 0x0f, 0x50, 0x48, 0x3a, 0xf6, 0x56, 0x59, 0x61, 0x10, 0x0d,
|
||||
0x1b, 0x69, 0x91, 0x82, 0x2d, 0x82, 0x61, 0x99, 0x10, 0x05, 0x69, 0x26, 0x26, 0x9c, 0x9b, 0x77,
|
||||
0x20, 0x5b, 0x10, 0x06, 0x26, 0x26, 0xc0, 0x10, 0x05, 0x69, 0x26, 0x26, 0x99, 0x10, 0x05, 0x1b,
|
||||
0x51, 0x20, 0x35, 0x20, 0x34, 0x59, 0x64, 0x20, 0x77, 0x20, 0x7e, 0x9e, 0x7a, 0x53, 0x7b, 0x1a,
|
||||
0x90, 0x06, 0x20, 0x38, 0x53, 0x5a, 0x20, 0x6f, 0x20, 0x71, 0x10, 0x0a, 0x28, 0x65, 0x0a, 0x7c,
|
||||
0x3f, 0x7f, 0x58, 0x07, 0x6b, 0x42, 0x01, 0x21, 0x3d, 0x1e, 0x3a, 0x21, 0x36, 0x1e, 0x68, 0x21,
|
||||
0x7a, 0x8a, 0x23, 0x1a, 0x8e, 0x7a, 0x8a, 0x00, 0x36, 0x1e, 0x68, 0x21, 0x3d, 0x1e, 0x33, 0x21,
|
||||
0x58, 0x07, 0x6b, 0x42, 0x01, 0x21, 0x65, 0x0a, 0x7c, 0x3f, 0x10, 0x0a, 0x6a, 0x03, 0x09, 0x0e,
|
||||
0x2f, 0x37, 0x03, 0x89, 0x91, 0x59, 0x27, 0x10, 0x0a, 0x28, 0x52, 0x0e, 0x55, 0x78, 0x25, 0x0b,
|
||||
0x03, 0x01, 0x03, 0x75, 0x7f, 0x08, 0x1e, 0x51, 0x20, 0x2b, 0x20, 0x3c, 0x9e, 0x72, 0x82, 0x30,
|
||||
0x36, 0x82, 0x65, 0x34, 0x48, 0x65, 0x34, 0x48, 0x30, 0x34, 0x59, 0x55, 0x53, 0x2e, 0x5d, 0x10,
|
||||
0x0a, 0x28, 0x03, 0x4d, 0x5f, 0x7e, 0x7f, 0x75, 0x02, 0x30, 0x5a, 0x08, 0x20, 0x64, 0x20, 0x64,
|
||||
0x82, 0x30, 0x5a, 0x08, 0x21, 0xc0, 0x0b, 0x9e, 0x47, 0x07, 0x20, 0x85, 0x20, 0x2b, 0x20, 0x5a,
|
||||
0x21, 0x7e, 0x01, 0x65, 0x06, 0x72, 0x21, 0x52, 0x5f, 0x0a, 0x03, 0x10, 0x0a, 0x18, 0x1b, 0x58,
|
||||
0x0f, 0x53, 0x7e, 0x2f, 0x3d, 0x23, 0x82, 0x51, 0x01, 0x23, 0x7f, 0x30, 0x5b, 0x23, 0x48, 0x6c,
|
||||
0xec, 0x7f, 0x7b, 0x24, 0x7f, 0x39, 0x24, 0x7f, 0x2d, 0x53, 0x2a, 0x10, 0x0a, 0x6a, 0x2e, 0x48,
|
||||
0x2a, 0x1f, 0x5f, 0x5f, 0x3f, 0x48, 0x62, 0x65, 0x07, 0x54, 0x20, 0x80, 0x20, 0x9b, 0x9b, 0x80,
|
||||
0x21, 0x7e, 0x01, 0x65, 0x07, 0x54, 0x21, 0x52, 0x49, 0x3f, 0x10, 0x0a, 0x1b, 0x4c, 0x0f, 0x55,
|
||||
0x90, 0x09, 0xa2, 0x03, 0x0b, 0x7f, 0x68, 0x20, 0x62, 0x20, 0x0d, 0x7b, 0x0e, 0x81, 0x03, 0x78,
|
||||
0x25, 0x66, 0x45, 0x0e, 0x04, 0x18, 0x25, 0x06, 0x1e, 0x80, 0x21, 0x7a, 0x8a, 0x00, 0x0b, 0x01,
|
||||
0x8a, 0x00, 0x06, 0x06, 0x1e, 0x80, 0x7f, 0x75, 0x45, 0x0e, 0x04, 0x21, 0x30, 0x0a, 0x4b, 0x34,
|
||||
0x10, 0x0a, 0x6e, 0x27, 0x20, 0x3d, 0x20, 0x71, 0x53, 0x3c, 0x20, 0x7e, 0x53, 0x51, 0x20, 0x6c,
|
||||
0x9e, 0x7a, 0x22, 0x31, 0x1d, 0x39, 0x53, 0x7b, 0x20, 0x34, 0x10, 0x0a, 0x6a, 0x60, 0x7c, 0x75,
|
||||
0x90, 0x0c, 0x04, 0x6b, 0x5a, 0x09, 0x21, 0x38, 0x1e, 0x64, 0x21, 0x38, 0x1e, 0x64, 0x21, 0x84,
|
||||
0x04, 0x6b, 0x04, 0x6d, 0x7f, 0x0a, 0xf3, 0x0a, 0x7f, 0x42, 0x05, 0x6b, 0x47, 0x07, 0x21, 0x72,
|
||||
0x1e, 0x85, 0x21, 0x5d, 0x78, 0x30, 0x88, 0x72, 0x1e, 0x85, 0x21, 0x4c, 0x05, 0x6b, 0x47, 0x06,
|
||||
0x7f, 0x3c, 0x7c, 0x55, 0x10, 0x0a, 0x6a, 0x5a, 0x5f, 0x0a, 0x01, 0x7f, 0x04, 0x66, 0x6b, 0x60,
|
||||
0x7f, 0x50, 0x1e, 0x06, 0x06, 0x21, 0x7a, 0x78, 0x30, 0x0b, 0x21, 0x7a, 0x8a, 0x00, 0x50, 0x1e,
|
||||
0x06, 0x88, 0x04, 0x66, 0x45, 0x4b, 0x7f, 0x68, 0x7c, 0x0c, 0x47, 0x20, 0x04, 0x0a, 0x20, 0x62,
|
||||
0x7f, 0x0b, 0x03, 0x65, 0x09, 0x09, 0x48, 0x47, 0x49, 0x07, 0x10, 0x05, 0x6a, 0x26, 0x61, 0x26,
|
||||
0x99, 0x10, 0x05, 0x6a, 0x26, 0x61, 0x26, 0x9c, 0x9b, 0x77, 0x20, 0x5b, 0x10, 0x0d, 0x1d, 0x26,
|
||||
0x30, 0x60, 0x82, 0x52, 0x62, 0x1d, 0x65, 0x79, 0x75, 0x01, 0x21, 0x80, 0x0e, 0x08, 0x02, 0x1a,
|
||||
0x25, 0x09, 0x01, 0x53, 0x80, 0x0e, 0x08, 0x02, 0x59, 0x65, 0x79, 0x75, 0x01, 0x53, 0x52, 0x62,
|
||||
0x9e, 0x60, 0x10, 0x0d, 0x53, 0x1b, 0x8b, 0x2d, 0x69, 0x24, 0x2d, 0x10, 0x0d, 0x78, 0x26, 0x75,
|
||||
0x01, 0x53, 0x52, 0x62, 0x9e, 0x60, 0x37, 0x02, 0x59, 0x65, 0x08, 0x0e, 0x50, 0x9e, 0x09, 0x0f,
|
||||
0x48, 0x65, 0x08, 0x0e, 0x50, 0x1d, 0x30, 0x60, 0x37, 0x02, 0x21, 0x52, 0x62, 0x82, 0x75, 0x01,
|
||||
0x10, 0x09, 0x28, 0x7b, 0x7c, 0x09, 0x01, 0x48, 0x0c, 0x05, 0x6b, 0x70, 0x20, 0x9b, 0x42, 0x53,
|
||||
0x07, 0x63, 0x59, 0x06, 0x0f, 0x09, 0x53, 0x37, 0x20, 0x61, 0x82, 0x1b, 0x61, 0x10, 0x10, 0x22,
|
||||
0x9e, 0x84, 0x0e, 0x49, 0x09, 0x03, 0x1d, 0x04, 0x0e, 0x09, 0x04, 0x01, 0x65, 0x07, 0x37, 0x19,
|
||||
0x05, 0x54, 0x1a, 0x30, 0x0b, 0x09, 0x1e, 0x30, 0x54, 0x00, 0x5a, 0x5f, 0x36, 0x5d, 0x72, 0x1e,
|
||||
0x5e, 0x00, 0x04, 0x66, 0x45, 0x0e, 0x29, 0x56, 0x1e, 0x5b, 0x50, 0x1e, 0x06, 0x29, 0x87, 0x1e,
|
||||
0x7a, 0x00, 0x7a, 0x78, 0x30, 0x57, 0xc5, 0x7a, 0x00, 0x7a, 0x78, 0x30, 0x29, 0x67, 0x1e, 0x5b,
|
||||
0x50, 0x1e, 0x06, 0x29, 0x77, 0x1e, 0x5e, 0x00, 0x04, 0x66, 0x45, 0x4b, 0x03, 0x39, 0x78, 0x30,
|
||||
0x54, 0x00, 0x5a, 0x5f, 0x36, 0x0e, 0x0a, 0xa2, 0x1a, 0x05, 0x54, 0x20, 0x04, 0x0e, 0x09, 0x04,
|
||||
0x01, 0x30, 0x04, 0x09, 0x0b, 0x22, 0x30, 0x84, 0x0e, 0x5f, 0x0c, 0x08, 0x03, 0x10, 0x0b, 0x22,
|
||||
0x9e, 0x0c, 0x20, 0x07, 0x40, 0x53, 0x0d, 0x5a, 0x59, 0x05, 0x0a, 0x00, 0x0b, 0x03, 0x82, 0x36,
|
||||
0x00, 0x05, 0x0a, 0x48, 0x83, 0x78, 0x39, 0x90, 0x06, 0x78, 0x35, 0x21, 0x58, 0x1e, 0x92, 0x22,
|
||||
0x07, 0x2e, 0x63, 0x1d, 0x39, 0x1a, 0x67, 0x22, 0x05, 0x0a, 0x19, 0x7e, 0x19, 0x0c, 0x04, 0x19,
|
||||
0x5a, 0x10, 0x0b, 0x28, 0xf3, 0x5f, 0x75, 0x1d, 0xc6, 0x30, 0x5a, 0x09, 0x9f, 0x1e, 0x64, 0x9f,
|
||||
0x1e, 0x64, 0x22, 0xc6, 0x30, 0x5a, 0x09, 0x1d, 0x27, 0x3e, 0x22, 0xc6, 0x30, 0x04, 0x37, 0x9f,
|
||||
0x1e, 0x51, 0x9f, 0x1e, 0x2b, 0x9f, 0x1e, 0x51, 0x22, 0xc6, 0x30, 0x85, 0x07, 0x19, 0xc0, 0x5f,
|
||||
0x55, 0x10, 0x0b, 0x1b, 0x3b, 0x0e, 0x5f, 0x62, 0x21, 0x4c, 0x05, 0x6b, 0x3b, 0x0f, 0x1d, 0x51,
|
||||
0x01, 0x1a, 0x07, 0x1d, 0x09, 0x06, 0x20, 0x39, 0x20, 0x61, 0x1f, 0x39, 0x1a, 0x90, 0x06, 0x20,
|
||||
0x51, 0x01, 0x1a, 0x07, 0x21, 0x4c, 0x05, 0x6b, 0x3b, 0x0f, 0x7f, 0x3b, 0x0e, 0x5f, 0x62, 0x10,
|
||||
0x0c, 0x28, 0xf3, 0x81, 0x07, 0x02, 0x1c, 0x30, 0x03, 0x08, 0x40, 0x9f, 0x1e, 0x03, 0x54, 0x25,
|
||||
0x31, 0x23, 0x19, 0x67, 0x25, 0x22, 0x0e, 0x25, 0x19, 0x87, 0x25, 0x19, 0x67, 0x25, 0x31, 0xf6,
|
||||
0x1a, 0x03, 0x38, 0x1a, 0x94, 0x30, 0x03, 0x08, 0x40, 0x19, 0xc0, 0x81, 0x07, 0x02, 0x10, 0x0a,
|
||||
0x28, 0xe3, 0xcb, 0x25, 0x91, 0x2e, 0x88, 0x89, 0x27, 0x10, 0x09, 0x28, 0xe3, 0xc7, 0x25, 0x91,
|
||||
0xe3, 0x48, 0x89, 0x10, 0x0c, 0x6a, 0x65, 0x4d, 0x0f, 0x49, 0x09, 0x04, 0x1d, 0x47, 0x06, 0x02,
|
||||
0x30, 0x3c, 0x0f, 0x22, 0x67, 0xa2, 0x1a, 0x08, 0x22, 0x09, 0x06, 0x20, 0x39, 0x20, 0x61, 0x78,
|
||||
0xc0, 0x22, 0x39, 0x18, 0x86, 0x22, 0x6c, 0x18, 0x86, 0x22, 0x64, 0xa2, 0x86, 0x1d, 0x06, 0x0e,
|
||||
0x07, 0xa2, 0x74, 0x07, 0x88, 0x3b, 0x0d, 0x5f, 0x37, 0x03, 0x10, 0x0c, 0x6e, 0x25, 0x25, 0x8d,
|
||||
0x8d, 0x2d, 0x8d, 0x8d, 0x8d, 0x10, 0x05, 0x6a, 0x89, 0x1f, 0x89, 0x10, 0x05, 0x6a, 0x2a, 0x91,
|
||||
0x91, 0x9c, 0x64, 0x9e, 0x46, 0x19, 0x25, 0x0b, 0x02, 0x10, 0x0a, 0x6e, 0x1a, 0x51, 0x07, 0x1d,
|
||||
0xc5, 0x03, 0x40, 0x1d, 0xc6, 0x04, 0x71, 0x00, 0x1c, 0x05, 0x39, 0x1d, 0xcc, 0x07, 0x3e, 0x1a,
|
||||
0x25, 0x05, 0x3e, 0x59, 0x5d, 0x55, 0x1a, 0x25, 0x30, 0x55, 0x1d, 0xcc, 0x30, 0x75, 0x18, 0x1c,
|
||||
0x30, 0x75, 0x21, 0xc6, 0x30, 0x6d, 0x21, 0xc5, 0x30, 0x6d, 0x10, 0x09, 0x96, 0x91, 0x91, 0x2e,
|
||||
0x10, 0x0d, 0x6e, 0x0a, 0x19, 0x0a, 0x57, 0x86, 0x39, 0x1e, 0x65, 0x0c, 0x57, 0x86, 0x35, 0x1a,
|
||||
0x09, 0x06, 0x57, 0x86, 0x92, 0x18, 0x58, 0x00, 0xc5, 0xcc, 0x6c, 0x78, 0x35, 0x00, 0xc5, 0xcc,
|
||||
0x67, 0x78, 0x0d, 0xa2, 0xc5, 0x94, 0x7e, 0x00, 0x56, 0x18, 0xc5, 0x94, 0x5a, 0x00, 0x34, 0xf6,
|
||||
0x1a, 0xc6, 0x37, 0x0c, 0xcc, 0x1a, 0xc6, 0x73, 0x94, 0x86, 0x9f, 0x86, 0x9f, 0x10, 0x0c, 0x28,
|
||||
0x5f, 0xa2, 0x86, 0x25, 0x80, 0x00, 0x86, 0x1a, 0xcc, 0x50, 0x86, 0x1a, 0xcc, 0x67, 0x01, 0x24,
|
||||
0x1a, 0x94, 0x3d, 0x24, 0x19, 0xc6, 0x34, 0x44, 0x19, 0xc6, 0x51, 0x01, 0x44, 0x22, 0xc5, 0x6f,
|
||||
0x44, 0x25, 0x1a, 0x5b, 0x0f, 0x25, 0x1a, 0x83, 0x23, 0x1a, 0xcc, 0x1a, 0x08, 0x06, 0x0f, 0x25,
|
||||
0x1a, 0x30, 0x0c, 0x0f, 0x10, 0x0d, 0x8f, 0x03, 0x8c, 0x31, 0x02, 0x54, 0x1a, 0x03, 0x38, 0x22,
|
||||
0xa1, 0x40, 0x21, 0x3b, 0x0e, 0x5f, 0x0a, 0x03, 0x10, 0x0a, 0xa0, 0x06, 0x9d, 0x1c, 0x78, 0x2b,
|
||||
0x9d, 0x1c, 0x30, 0x47, 0x07, 0x19, 0xbc, 0x5f, 0x75, 0x78, 0x25, 0x91, 0x10, 0x0d, 0x8f, 0x03,
|
||||
0x8c, 0x31, 0x02, 0x54, 0x1a, 0x03, 0x0e, 0x04, 0x22, 0xa1, 0x0e, 0x08, 0x21, 0x3b, 0x0d, 0x4f,
|
||||
0x08, 0x20, 0x4c, 0x01, 0x20, 0x07, 0x3e, 0x10, 0x0b, 0xa0, 0x07, 0x1c, 0x78, 0x51, 0x1c, 0x78,
|
||||
0x2b, 0x9d, 0x1c, 0x30, 0x47, 0x06, 0x21, 0x2e, 0x0c, 0x00, 0x1c, 0x30, 0x05, 0x40, 0x1c, 0x78,
|
||||
0x47, 0x1c, 0x1e, 0x55, 0x1a, 0xcc, 0x1a, 0x47, 0x9f, 0x1a, 0x75, 0x10, 0x0a, 0x6a, 0x60, 0x7c,
|
||||
0x62, 0x7f, 0x84, 0x03, 0x01, 0x3b, 0x0f, 0x7f, 0x39, 0x1e, 0x08, 0x7f, 0x7a, 0x20, 0x0b, 0x07,
|
||||
0x20, 0x67, 0x0c, 0x08, 0x05, 0x02, 0x59, 0x04, 0x46, 0x81, 0x01, 0x20, 0x70, 0x20, 0x87, 0x21,
|
||||
0x09, 0x1a, 0x51, 0x18, 0x25, 0x0c, 0x05, 0x6b, 0x04, 0x6d, 0x21, 0x03, 0x4d, 0x5f, 0x75, 0x10,
|
||||
0x09, 0x18, 0x1f, 0x2d, 0x82, 0x2a, 0x91, 0x91, 0x10, 0x0c, 0x48, 0x8d, 0x8d, 0x8d, 0x8d, 0x22,
|
||||
0x0e, 0xa2, 0x1a, 0x64, 0x22, 0x33, 0x00, 0x1a, 0x3d, 0x19, 0x65, 0x37, 0xa2, 0x65, 0x08, 0x39,
|
||||
0x22, 0x65, 0x4d, 0x0f, 0x49, 0x09, 0x02, 0x10, 0x0b, 0x78, 0x9e, 0x7a, 0x19, 0x92, 0x1a, 0x6c,
|
||||
0x31, 0x51, 0x19, 0x71, 0x22, 0x7e, 0x1a, 0x7b, 0x1d, 0x68, 0x1a, 0x36, 0x21, 0x71, 0x78, 0x51,
|
||||
0x7f, 0x77, 0x78, 0x09, 0x06, 0x7f, 0x92, 0x92, 0x7f, 0x08, 0x76, 0x08, 0x82, 0x67, 0x01, 0x39,
|
||||
0x59, 0x0a, 0x0a, 0x0a, 0x53, 0x04, 0x0f, 0x04, 0x10, 0x11, 0x28, 0x0d, 0x1e, 0x65, 0x4e, 0x1a,
|
||||
0x7a, 0x18, 0x43, 0x1e, 0x06, 0x66, 0x1e, 0x7b, 0x78, 0x04, 0x0a, 0x1e, 0x09, 0x46, 0x1e, 0x0a,
|
||||
0x05, 0x1e, 0x0d, 0x01, 0x78, 0x0d, 0x67, 0x78, 0x92, 0x78, 0x08, 0x06, 0x00, 0x30, 0x0c, 0x00,
|
||||
0x0c, 0x02, 0x18, 0x77, 0x1a, 0x03, 0x0b, 0x18, 0x05, 0x08, 0x00, 0x08, 0x05, 0x18, 0x34, 0x1a,
|
||||
0x0c, 0xa2, 0x43, 0x00, 0x05, 0x09, 0x00, 0x67, 0x19, 0x07, 0x07, 0x00, 0x3e, 0x00, 0x58, 0x00,
|
||||
0x35, 0x19, 0x02, 0x3e, 0x0c, 0x78, 0x3e, 0x71, 0x22, 0x6d, 0x09, 0x78, 0x09, 0x08, 0x0c, 0x1d,
|
||||
0x07, 0x40, 0x78, 0x05, 0x63, 0x22, 0x30, 0x4e, 0x18, 0x65, 0x5d, 0x10, 0x0b, 0x28, 0x7d, 0x1a,
|
||||
0x46, 0x22, 0x30, 0x54, 0x78, 0x03, 0x7a, 0x21, 0x60, 0x78, 0x55, 0x7f, 0x0b, 0x76, 0x0b, 0x82,
|
||||
0x64, 0x04, 0x38, 0x59, 0x73, 0x53, 0x73, 0x59, 0x64, 0x04, 0x38, 0x82, 0x0b, 0x76, 0x0b, 0x48,
|
||||
0x60, 0x78, 0x75, 0x1d, 0x30, 0x38, 0x78, 0x03, 0x7a, 0x1d, 0x33, 0x1a, 0x3d, 0x10, 0x09, 0x18,
|
||||
0x1f, 0x33, 0x1a, 0x56, 0x22, 0x65, 0x38, 0x18, 0x65, 0x39, 0x21, 0x80, 0x78, 0x50, 0x48, 0x75,
|
||||
0x00, 0x80, 0x48, 0x65, 0x54, 0x38, 0x59, 0x07, 0x63, 0x20, 0x89, 0x10, 0x0c, 0x6e, 0x2d, 0x20,
|
||||
0x80, 0x53, 0x05, 0x3e, 0x59, 0x85, 0x01, 0x59, 0x04, 0x39, 0x59, 0x03, 0x39, 0x82, 0x65, 0x71,
|
||||
0x82, 0x65, 0x72, 0x82, 0x30, 0x55, 0x48, 0x30, 0x75, 0x53, 0x0b, 0x07, 0x22, 0x25, 0x2d, 0x10,
|
||||
0x06, 0x1f, 0xbc, 0x53, 0x89, 0x1f, 0x89, 0x59, 0xbc, 0x10, 0x05, 0x18, 0x1f, 0x71, 0x20, 0x6f,
|
||||
0x20, 0x5a, 0x1f, 0x38, 0x1a, 0x90, 0x06, 0x20, 0x7b, 0x20, 0x92, 0x53, 0x7e, 0x20, 0x77, 0x20,
|
||||
0x64, 0x1f, 0x34, 0x53, 0x35, 0x20, 0x51, 0x10, 0x06, 0x28, 0xf2, 0x91, 0x91, 0x91, 0x48, 0xbc,
|
||||
0x10, 0x0d, 0x18, 0x1b, 0x05, 0x41, 0x05, 0x82, 0x06, 0x0f, 0x09, 0x09, 0x0f, 0x06, 0x7f, 0x73,
|
||||
0x18, 0x73, 0x1d, 0x07, 0x0e, 0x04, 0x1e, 0x04, 0x0e, 0x07, 0x10, 0x08, 0x26, 0x26, 0x26, 0x26,
|
||||
0x23, 0x27, 0x10, 0x08, 0x18, 0x08, 0x38, 0x20, 0x0a, 0x0c, 0x1f, 0x0b, 0x09, 0x10, 0x09, 0x18,
|
||||
0x26, 0x65, 0x09, 0x0e, 0x37, 0x82, 0x0d, 0x06, 0x74, 0x7d, 0x20, 0x58, 0x48, 0x42, 0x0e, 0x4f,
|
||||
0x7f, 0x08, 0x0b, 0x03, 0x01, 0x44, 0x7f, 0x39, 0x78, 0x4a, 0x7f, 0x7a, 0x78, 0x08, 0x0f, 0x7f,
|
||||
0x0a, 0x0a, 0x6b, 0x3d, 0x88, 0x30, 0x0a, 0x7c, 0x09, 0x2b, 0x10, 0x0a, 0x96, 0x01, 0x9a, 0x10,
|
||||
0x09, 0x18, 0x26, 0x65, 0x09, 0x4b, 0x55, 0x21, 0x67, 0x07, 0xa2, 0x3b, 0x90, 0x08, 0x20, 0x38,
|
||||
0x20, 0x5d, 0x20, 0x38, 0x1a, 0x90, 0x08, 0x20, 0x67, 0x07, 0xa2, 0x3b, 0x7f, 0x65, 0x0a, 0x4b,
|
||||
0x55, 0x10, 0x0a, 0x1a, 0x1b, 0x2a, 0x7f, 0x2c, 0x93, 0x10, 0x09, 0x78, 0x26, 0x5a, 0x49, 0x06,
|
||||
0x7f, 0x65, 0x40, 0x01, 0x03, 0x72, 0x7f, 0x33, 0x78, 0x7b, 0x7f, 0x39, 0x78, 0x58, 0x7f, 0x27,
|
||||
0x7f, 0x7a, 0x20, 0x3a, 0x20, 0x03, 0x66, 0x6b, 0x68, 0x48, 0x2c, 0x36, 0x10, 0x06, 0x6a, 0x47,
|
||||
0x0f, 0x2f, 0x71, 0x20, 0x2f, 0xc0, 0x53, 0x89, 0x99, 0x10, 0x0a, 0x78, 0x26, 0x2c, 0x09, 0x2b,
|
||||
0x1d, 0x65, 0x66, 0x6b, 0x56, 0x88, 0x33, 0x1e, 0x07, 0x88, 0x38, 0x78, 0x65, 0x88, 0xc5, 0x30,
|
||||
0x88, 0x38, 0x78, 0x65, 0x88, 0x33, 0x1e, 0x5c, 0x1d, 0x65, 0x66, 0x6b, 0x56, 0x0f, 0x7f, 0x2c,
|
||||
0x09, 0x2b, 0x20, 0x5a, 0x7f, 0x62, 0x6b, 0x47, 0x06, 0x7f, 0x3c, 0x7c, 0x55, 0x10, 0x0a, 0x96,
|
||||
0x98, 0x95, 0x10, 0x03, 0x28, 0x61, 0x53, 0x6e, 0x91, 0x91, 0x10, 0x03, 0x28, 0x61, 0x53, 0x6e,
|
||||
0x91, 0x91, 0x1f, 0x0e, 0x20, 0x5a, 0x19, 0x25, 0x5b, 0x10, 0x09, 0x96, 0x1e, 0x03, 0x66, 0x1d,
|
||||
0xc6, 0x04, 0x72, 0x00, 0x1c, 0x60, 0x02, 0x1d, 0xcc, 0x3d, 0x01, 0x21, 0xcc, 0x7a, 0x7f, 0xcc,
|
||||
0x06, 0x39, 0x78, 0x1c, 0x04, 0x72, 0x7f, 0xc6, 0x51, 0x05, 0x7f, 0xc5, 0x67, 0x07, 0x10, 0x03,
|
||||
0x96, 0x91, 0x91, 0x10, 0x0f, 0x8b, 0x01, 0x09, 0x7c, 0x08, 0x30, 0x09, 0x7c, 0x09, 0x00, 0x86,
|
||||
0x09, 0x06, 0x74, 0x6d, 0x09, 0x06, 0x74, 0x75, 0x86, 0x06, 0x78, 0x03, 0x66, 0x78, 0x83, 0x1a,
|
||||
0x4e, 0x18, 0x30, 0x4e, 0x78, 0x87, 0x97, 0x97, 0x97, 0x97, 0x97, 0x10, 0x0a, 0x8b, 0x98, 0x95,
|
||||
0x10, 0x0a, 0x78, 0x26, 0x3c, 0x7c, 0x34, 0x21, 0x03, 0x40, 0x6b, 0x05, 0x54, 0x21, 0x3a, 0x1e,
|
||||
0x56, 0x21, 0x39, 0x1e, 0x67, 0x1c, 0x1e, 0x88, 0x39, 0x1e, 0x67, 0x21, 0x3a, 0x1e, 0x56, 0x21,
|
||||
0x03, 0x40, 0x6b, 0x05, 0x54, 0x7f, 0x3c, 0x7c, 0x55, 0x10, 0x0a, 0x8b, 0x01, 0x9a, 0x2a, 0x10,
|
||||
0x0a, 0x78, 0x26, 0x2c, 0x93, 0x53, 0x2a, 0x10, 0x07, 0x8b, 0x01, 0x09, 0x4b, 0x1a, 0x25, 0x43,
|
||||
0x01, 0x59, 0x63, 0x20, 0x4e, 0x22, 0x25, 0x91, 0x10, 0x09, 0x00, 0x26, 0x30, 0x79, 0x7c, 0x36,
|
||||
0x7f, 0x7d, 0x02, 0x30, 0x68, 0x7f, 0x7a, 0x20, 0x0c, 0x09, 0x02, 0x59, 0x65, 0x0a, 0x49, 0x43,
|
||||
0x53, 0x03, 0x60, 0x09, 0x20, 0x87, 0x7f, 0x7e, 0x02, 0x30, 0x08, 0x0b, 0x7f, 0x52, 0x0f, 0x37,
|
||||
0x01, 0x10, 0x06, 0x6a, 0x99, 0x7f, 0xc0, 0x2f, 0x89, 0x1f, 0x55, 0x53, 0x85, 0x41, 0x10, 0x0a,
|
||||
0x8b, 0x1a, 0x8e, 0x32, 0x94, 0x25, 0x1a, 0x8e, 0x7a, 0x78, 0x65, 0x88, 0x34, 0x78, 0x08, 0x88,
|
||||
0x05, 0x72, 0x74, 0x5e, 0x0f, 0x7f, 0x4c, 0x49, 0x07, 0x23, 0x10, 0x09, 0x26, 0x02, 0x0c, 0x19,
|
||||
0x34, 0x19, 0x3a, 0x1a, 0x60, 0x1d, 0x51, 0x1a, 0x72, 0x21, 0x0b, 0x07, 0x78, 0x84, 0x7f, 0x04,
|
||||
0x7a, 0x30, 0x40, 0x48, 0x6d, 0x00, 0x79, 0x82, 0x05, 0x38, 0x40, 0x59, 0x0d, 0x0e, 0x0d, 0x53,
|
||||
0x73, 0x10, 0x0d, 0x26, 0x51, 0x1e, 0x58, 0x1a, 0x71, 0x1e, 0x34, 0x18, 0x06, 0x40, 0x78, 0x5a,
|
||||
0x1a, 0x56, 0x78, 0x0c, 0x80, 0x78, 0x3a, 0x1a, 0x92, 0x83, 0x00, 0x0c, 0xa2, 0x92, 0x1a, 0x33,
|
||||
0x00, 0x08, 0x76, 0x76, 0x09, 0x19, 0x5a, 0x00, 0x0e, 0xa2, 0x67, 0x00, 0x5b, 0x19, 0x37, 0x0b,
|
||||
0x78, 0x0b, 0x08, 0x0c, 0x1d, 0x5c, 0x06, 0x78, 0x73, 0x22, 0x65, 0x7a, 0x78, 0x92, 0x10, 0x0a,
|
||||
0x18, 0x26, 0x7d, 0x1e, 0x46, 0x1d, 0x30, 0x71, 0x18, 0x03, 0x7a, 0x7f, 0x3c, 0x18, 0x55, 0x48,
|
||||
0x6c, 0x07, 0x0b, 0x82, 0x30, 0x0c, 0x39, 0x59, 0x43, 0x77, 0x82, 0x68, 0x18, 0x36, 0x21, 0x30,
|
||||
0x39, 0x18, 0x67, 0x01, 0x21, 0x7d, 0x1e, 0x46, 0x10, 0x09, 0x00, 0x26, 0x34, 0x1e, 0x51, 0x1d,
|
||||
0x7b, 0x1a, 0x6c, 0x21, 0x71, 0x78, 0x92, 0x1d, 0x07, 0x09, 0x78, 0x3d, 0x7f, 0x92, 0x00, 0x71,
|
||||
0x48, 0x6c, 0x00, 0x3c, 0x82, 0x51, 0x00, 0x7e, 0x59, 0x0b, 0x08, 0x0e, 0x53, 0x05, 0x0f, 0x08,
|
||||
0x9e, 0x4e, 0x82, 0x30, 0x5e, 0x59, 0x5f, 0x0a, 0x01, 0x10, 0x09, 0x8b, 0x2e, 0x20, 0x84, 0x53,
|
||||
0x05, 0x39, 0x59, 0x04, 0x38, 0x59, 0x03, 0x54, 0x59, 0x64, 0x04, 0x59, 0x67, 0x05, 0x53, 0x6d,
|
||||
0x20, 0x27, 0x10, 0x0a, 0x00, 0x1b, 0x47, 0x0f, 0x53, 0x0d, 0x05, 0x20, 0x61, 0x9c, 0x2b, 0x20,
|
||||
0x84, 0x7f, 0xb4, 0x04, 0x20, 0x60, 0x20, 0x87, 0x1f, 0x2a, 0x1f, 0x0d, 0x05, 0x20, 0x47, 0x0f,
|
||||
0x10, 0x05, 0x6a, 0x89, 0x91, 0x1f, 0x89, 0x10, 0x0a, 0x6a, 0x49, 0x05, 0x20, 0x47, 0x91, 0x01,
|
||||
0x20, 0x6d, 0x20, 0x04, 0x41, 0x53, 0x75, 0x20, 0x5d, 0x20, 0x61, 0x9c, 0x47, 0x53, 0x49, 0x05,
|
||||
0x10, 0x0d, 0x1f, 0x69, 0x26, 0x68, 0x7c, 0x50, 0x02, 0x01, 0x5a, 0x22, 0x0d, 0x05, 0x74, 0x80,
|
||||
0x7c, 0x36, 0x19, 0x30, 0x10,
|
||||
};
|
||||
|
||||
static const uint16_t mf_rlefont_DejaVuSans16_aa_glyph_offsets_0[95] = {
|
||||
0x0000, 0x0003, 0x000e, 0x0018, 0x004e, 0x007e, 0x00d1, 0x010e,
|
||||
0x0111, 0x0136, 0x0158, 0x016f, 0x0179, 0x0183, 0x0188, 0x018e,
|
||||
0x01ab, 0x01db, 0x01e8, 0x0210, 0x023c, 0x025c, 0x027b, 0x02b1,
|
||||
0x02cb, 0x0305, 0x033b, 0x0342, 0x034d, 0x0373, 0x037c, 0x03a1,
|
||||
0x03be, 0x042e, 0x0462, 0x0492, 0x04c0, 0x04ef, 0x04fa, 0x0504,
|
||||
0x053b, 0x0546, 0x054c, 0x055a, 0x058b, 0x0591, 0x05ce, 0x0605,
|
||||
0x0619, 0x062d, 0x0648, 0x066c, 0x06a0, 0x06a9, 0x06c8, 0x06f9,
|
||||
0x075c, 0x078e, 0x07ac, 0x07d0, 0x07da, 0x07f8, 0x0801, 0x081b,
|
||||
0x0823, 0x082e, 0x085b, 0x0860, 0x0882, 0x088a, 0x08ad, 0x08ba,
|
||||
0x08ee, 0x08f3, 0x08fb, 0x090a, 0x092f, 0x0934, 0x095c, 0x0961,
|
||||
0x098a, 0x0990, 0x0998, 0x09a9, 0x09d2, 0x09df, 0x09fb, 0x0a22,
|
||||
0x0a5f, 0x0a89, 0x0aba, 0x0ad3, 0x0af1, 0x0af8, 0x0b11,
|
||||
};
|
||||
|
||||
static const struct mf_rlefont_char_range_s mf_rlefont_DejaVuSans16_aa_char_ranges[] = {
|
||||
{32, 95, mf_rlefont_DejaVuSans16_aa_glyph_offsets_0, mf_rlefont_DejaVuSans16_aa_glyph_data_0},
|
||||
};
|
||||
|
||||
const struct mf_rlefont_s mf_rlefont_DejaVuSans16_aa = {
|
||||
{
|
||||
"DejaVu Sans Book 16",
|
||||
"DejaVuSans16_aa",
|
||||
18, /* width */
|
||||
17, /* height */
|
||||
3, /* min x advance */
|
||||
17, /* max x advance */
|
||||
1, /* baseline x */
|
||||
13, /* baseline y */
|
||||
19, /* line height */
|
||||
0, /* flags */
|
||||
63, /* fallback character */
|
||||
&mf_rlefont_character_width,
|
||||
&mf_rlefont_render_character,
|
||||
},
|
||||
4, /* version */
|
||||
mf_rlefont_DejaVuSans16_aa_dictionary_data,
|
||||
mf_rlefont_DejaVuSans16_aa_dictionary_offsets,
|
||||
113, /* rle dict count */
|
||||
139, /* total dict count */
|
||||
1, /* char range count */
|
||||
mf_rlefont_DejaVuSans16_aa_char_ranges,
|
||||
};
|
||||
|
||||
#ifdef MF_INCLUDED_FONTS
|
||||
/* List entry for searching fonts by name. */
|
||||
static const struct mf_font_list_s mf_rlefont_DejaVuSans16_aa_listentry = {
|
||||
MF_INCLUDED_FONTS,
|
||||
(struct mf_font_s*)&mf_rlefont_DejaVuSans16_aa
|
||||
};
|
||||
#undef MF_INCLUDED_FONTS
|
||||
#define MF_INCLUDED_FONTS (&mf_rlefont_DejaVuSans16_aa_listentry)
|
||||
#endif
|
||||
|
||||
|
||||
/* End of automatically generated font definition for DejaVuSans16_aa. */
|
||||
|
237
src/gdisp/fonts/DejaVuSans24.c
Normal file
237
src/gdisp/fonts/DejaVuSans24.c
Normal file
@ -0,0 +1,237 @@
|
||||
|
||||
|
||||
/* Start of automatically generated font definition for DejaVuSans24. */
|
||||
|
||||
#ifndef MF_RLEFONT_INTERNALS
|
||||
#define MF_RLEFONT_INTERNALS
|
||||
#endif
|
||||
#include "mf_rlefont.h"
|
||||
|
||||
#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
|
||||
#error The font file is not compatible with this version of mcufont.
|
||||
#endif
|
||||
|
||||
static const uint8_t mf_rlefont_DejaVuSans24_dictionary_data[395] = {
|
||||
0x80, 0x0a, 0x80, 0x3d, 0x81, 0x02, 0x81, 0x81, 0x09, 0x81, 0x0c, 0x81, 0x09, 0x81, 0x0c, 0x81,
|
||||
0x09, 0x81, 0x08, 0x16, 0x81, 0x01, 0x82, 0x0e, 0x84, 0x01, 0x07, 0x87, 0x01, 0x86, 0x0d, 0x85,
|
||||
0x80, 0x0c, 0x83, 0x0f, 0x89, 0x0f, 0x82, 0x07, 0x0b, 0x81, 0x09, 0x81, 0x0c, 0x13, 0x81, 0x16,
|
||||
0x80, 0x15, 0x04, 0x82, 0x0e, 0x0a, 0x80, 0x81, 0x0a, 0x80, 0x05, 0x82, 0x0a, 0x81, 0x0e, 0x81,
|
||||
0x07, 0x81, 0x0d, 0x02, 0x82, 0x01, 0x0b, 0x81, 0x08, 0x81, 0x0d, 0x04, 0x85, 0x09, 0x80, 0x05,
|
||||
0x81, 0x45, 0x15, 0x83, 0x01, 0x81, 0x01, 0x82, 0x12, 0x10, 0x81, 0x83, 0x0c, 0x0d, 0x85, 0x02,
|
||||
0x81, 0x07, 0x06, 0x82, 0x82, 0x10, 0x85, 0x02, 0x80, 0x15, 0x82, 0x0e, 0x81, 0x0c, 0x81, 0x26,
|
||||
0x0c, 0x07, 0x82, 0x0e, 0x82, 0x15, 0x81, 0x01, 0x16, 0x81, 0x17, 0x81, 0x01, 0x80, 0x0b, 0x84,
|
||||
0x12, 0x87, 0x10, 0x82, 0x08, 0x8b, 0x1d, 0x11, 0x1e, 0x80, 0x02, 0x0f, 0x04, 0x06, 0x81, 0x01,
|
||||
0x12, 0x17, 0x0d, 0x82, 0x01, 0x80, 0x01, 0x17, 0x81, 0x15, 0x03, 0x41, 0x0e, 0x00, 0xbc, 0x56,
|
||||
0x31, 0x31, 0x31, 0x31, 0x31, 0x37, 0x3d, 0x45, 0x47, 0x47, 0x47, 0x47, 0x47, 0x1d, 0x36, 0x2d,
|
||||
0x2f, 0x44, 0x30, 0x2c, 0x18, 0x2c, 0x1b, 0x51, 0x1b, 0xd4, 0xc5, 0x2d, 0x25, 0x9c, 0x4a, 0x4a,
|
||||
0x3b, 0x29, 0x36, 0xc7, 0x27, 0x47, 0x47, 0x47, 0x5a, 0x27, 0x47, 0x37, 0x1f, 0x2e, 0x31, 0xeb,
|
||||
0xa4, 0x23, 0xc0, 0x2a, 0x36, 0x22, 0x50, 0x1a, 0x1d, 0x27, 0xd0, 0x54, 0x1a, 0x4d, 0x31, 0x00,
|
||||
0xc7, 0x9c, 0x43, 0x3c, 0x2e, 0x37, 0x1f, 0x2e, 0x00, 0xc7, 0x9c, 0x45, 0x47, 0x29, 0xca, 0x54,
|
||||
0x00, 0x9c, 0x4a, 0x41, 0x33, 0x48, 0x53, 0x47, 0x47, 0x47, 0x2c, 0x48, 0x2c, 0x48, 0xb4, 0xc4,
|
||||
0x90, 0x34, 0x34, 0xc4, 0x3c, 0xc7, 0x90, 0x5a, 0x3b, 0x3a, 0xdc, 0x53, 0x47, 0x46, 0x40, 0x44,
|
||||
0x1c, 0x4a, 0xc7, 0xa2, 0x9c, 0x9c, 0x52, 0x3a, 0x51, 0x1b, 0x56, 0x31, 0x31, 0x31, 0x31, 0x37,
|
||||
0x00, 0x1c, 0x47, 0xea, 0x2b, 0xc7, 0x2d, 0x2f, 0x2d, 0xb4, 0x20, 0x39, 0x51, 0x24, 0xf2, 0x1a,
|
||||
0x55, 0x00, 0x9c, 0x5a, 0x9c, 0x56, 0x31, 0x31, 0x31, 0x31, 0xfe, 0xc5, 0x9c, 0x2a, 0xc0, 0x93,
|
||||
0x39, 0xb4, 0x90, 0x27, 0x25, 0x1d, 0x3c, 0x39, 0xd3, 0x39, 0x3a, 0xe3, 0x45, 0x20, 0x2a, 0xfc,
|
||||
0xc7, 0x1d, 0x9c, 0x38, 0xbf, 0x27, 0x5a, 0x3a, 0x43, 0x9c, 0xbc, 0x25, 0x2b, 0x22, 0x1c, 0x47,
|
||||
0xc2, 0x39, 0xe3, 0x1d, 0xa2, 0xbc, 0x45, 0x1f, 0x45, 0x1c, 0xfd, 0x55, 0x0f, 0xb5, 0x27, 0xca,
|
||||
0x54, 0x9f, 0x90, 0x00, 0x27, 0x22, 0x4d, 0x20, 0x43, 0x5b, 0x1a, 0x3e, 0x36, 0x50, 0x56, 0x5b,
|
||||
0xc2, 0x90, 0x3b, 0x3a, 0x2a, 0xf0, 0x2d, 0x34, 0x3d, 0xf0, 0x54,
|
||||
};
|
||||
|
||||
static const uint16_t mf_rlefont_DejaVuSans24_dictionary_offsets[119] = {
|
||||
0x0000, 0x0003, 0x0004, 0x0007, 0x0013, 0x0016, 0x0018, 0x001a,
|
||||
0x001b, 0x001d, 0x001f, 0x0020, 0x0022, 0x0026, 0x0028, 0x002d,
|
||||
0x002f, 0x0031, 0x0032, 0x0035, 0x0037, 0x003a, 0x003d, 0x0043,
|
||||
0x0046, 0x0047, 0x004b, 0x004d, 0x004f, 0x0051, 0x0053, 0x0054,
|
||||
0x0056, 0x0059, 0x005b, 0x005d, 0x005f, 0x0062, 0x0064, 0x0067,
|
||||
0x0069, 0x006c, 0x006f, 0x0070, 0x0071, 0x0073, 0x0075, 0x0078,
|
||||
0x007d, 0x007f, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089,
|
||||
0x008b, 0x008c, 0x008d, 0x008e, 0x0090, 0x0091, 0x0092, 0x0093,
|
||||
0x0094, 0x0097, 0x009a, 0x009b, 0x009d, 0x00a8, 0x00ad, 0x00bf,
|
||||
0x00c5, 0x00c8, 0x00cb, 0x00ce, 0x00d9, 0x00de, 0x00e2, 0x00ec,
|
||||
0x00f0, 0x00f6, 0x00fa, 0x00fe, 0x0107, 0x010b, 0x010d, 0x0111,
|
||||
0x0115, 0x0116, 0x0118, 0x011a, 0x0120, 0x0123, 0x012c, 0x0131,
|
||||
0x0133, 0x013a, 0x013d, 0x0141, 0x0143, 0x0145, 0x0148, 0x014b,
|
||||
0x014e, 0x0156, 0x0158, 0x015a, 0x015e, 0x0167, 0x016a, 0x016c,
|
||||
0x0172, 0x0173, 0x0178, 0x017e, 0x0184, 0x0189, 0x018b,
|
||||
};
|
||||
|
||||
static const uint8_t mf_rlefont_DejaVuSans24_glyph_data_0[1873] = {
|
||||
0x08, 0x00, 0x10, 0x0a, 0x00, 0x4a, 0x47, 0x5d, 0x56, 0x19, 0x74, 0x10, 0x0b, 0x4c, 0x1a, 0x64,
|
||||
0xfc, 0x1a, 0x64, 0xfc, 0x1a, 0x10, 0x14, 0xc4, 0x4e, 0xc7, 0xc6, 0x82, 0x8d, 0xc7, 0xc7, 0x82,
|
||||
0x8d, 0xc5, 0xc7, 0x2b, 0x4b, 0x2c, 0x4b, 0xe7, 0x4a, 0x77, 0x8d, 0x4f, 0x3c, 0x2b, 0xa5, 0x4a,
|
||||
0x2b, 0xb5, 0x45, 0x4b, 0xc4, 0x34, 0x22, 0x21, 0xc7, 0xc6, 0x82, 0x8d, 0xc7, 0xc7, 0x82, 0x8d,
|
||||
0x0f, 0xb4, 0x10, 0x0f, 0x4e, 0x94, 0x29, 0xc8, 0x28, 0x28, 0x1e, 0x39, 0x21, 0x2f, 0xa6, 0x82,
|
||||
0xe8, 0x54, 0xa7, 0x27, 0xcd, 0x7c, 0x45, 0x93, 0x7c, 0x56, 0xbd, 0x50, 0x94, 0x8d, 0xfe, 0x9c,
|
||||
0x56, 0xa5, 0x2f, 0x3b, 0x7e, 0x2b, 0x29, 0xcc, 0x29, 0xc8, 0x28, 0x10, 0x17, 0x4c, 0xe2, 0x4a,
|
||||
0x2c, 0xdd, 0x3d, 0x33, 0xc5, 0xc7, 0x3c, 0xdc, 0xb4, 0xb4, 0x52, 0x34, 0x77, 0x2f, 0x2b, 0xc5,
|
||||
0xa7, 0x23, 0xc7, 0xaa, 0x41, 0x7b, 0x30, 0xaa, 0x9d, 0xc0, 0x4a, 0xa2, 0x90, 0x1a, 0x56, 0xaa,
|
||||
0xa5, 0x23, 0xab, 0xc5, 0x41, 0xdc, 0x77, 0x2b, 0xa7, 0xa5, 0x48, 0xe7, 0x90, 0x3c, 0xdc, 0x34,
|
||||
0xb4, 0x4a, 0x92, 0x7b, 0x52, 0x3c, 0xe2, 0x10, 0x13, 0x55, 0x33, 0x49, 0xa4, 0x39, 0x59, 0x8d,
|
||||
0x2d, 0x43, 0x92, 0x7c, 0x30, 0xb2, 0xc7, 0x3c, 0xbc, 0xbc, 0xb4, 0x4a, 0x90, 0xbc, 0x3c, 0xb4,
|
||||
0x52, 0xbb, 0x1f, 0x77, 0x71, 0x25, 0x25, 0x3d, 0x32, 0x3b, 0xe7, 0x1d, 0x1e, 0xbc, 0x10, 0x07,
|
||||
0x4c, 0x69, 0x10, 0x09, 0x56, 0x27, 0x1c, 0x61, 0x61, 0x1c, 0x60, 0x74, 0x59, 0x90, 0x1c, 0x10,
|
||||
0x09, 0x4c, 0xe7, 0x47, 0x74, 0x55, 0x86, 0x69, 0x61, 0x61, 0x46, 0x10, 0x0c, 0x4e, 0xc8, 0x28,
|
||||
0x27, 0xec, 0x9c, 0x56, 0xb2, 0x38, 0x1e, 0x7c, 0x30, 0x9b, 0x1d, 0xfe, 0x95, 0x8d, 0xe6, 0x28,
|
||||
0x10, 0x14, 0x5a, 0x55, 0x19, 0x69, 0x50, 0x4b, 0x93, 0x44, 0xe3, 0x20, 0x50, 0x69, 0x10, 0x08,
|
||||
0x35, 0x6d, 0x61, 0x10, 0x09, 0x00, 0x19, 0x19, 0x5b, 0x3b, 0x52, 0x3b, 0x10, 0x08, 0x35, 0x6d,
|
||||
0x10, 0x08, 0x30, 0x1c, 0x85, 0x47, 0x29, 0x6d, 0x85, 0x1c, 0x85, 0x47, 0x29, 0x6d, 0x85, 0x10,
|
||||
0x0f, 0x4e, 0x81, 0x52, 0xc2, 0x1d, 0x2f, 0xbc, 0x82, 0xa4, 0x48, 0xb4, 0x78, 0x31, 0x31, 0x31,
|
||||
0x65, 0x43, 0x90, 0x77, 0x45, 0x2a, 0x3f, 0x21, 0x71, 0x10, 0x0f, 0x4e, 0xc0, 0x27, 0xd3, 0x54,
|
||||
0x1a, 0x74, 0x5d, 0xfc, 0x6c, 0x20, 0x10, 0x0f, 0xc4, 0x55, 0x83, 0xff, 0x39, 0x2d, 0x52, 0x44,
|
||||
0x74, 0x46, 0x85, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x4a, 0x3b, 0x7f, 0x10, 0x0f, 0x54, 0x3b,
|
||||
0x4a, 0x2b, 0x20, 0x50, 0xc5, 0x92, 0x1c, 0x67, 0x8d, 0x22, 0x27, 0xe3, 0x29, 0x2f, 0x74, 0x28,
|
||||
0x48, 0xc8, 0x2d, 0x32, 0x7e, 0x10, 0x0f, 0x29, 0x45, 0x29, 0x93, 0x54, 0x9e, 0x54, 0xba, 0x64,
|
||||
0x00, 0xc7, 0xc7, 0x45, 0x9c, 0x39, 0xb4, 0x39, 0x34, 0x39, 0x34, 0x82, 0x34, 0x50, 0x4b, 0x48,
|
||||
0xc2, 0x20, 0x27, 0x74, 0x10, 0x0f, 0x4d, 0x3b, 0x3e, 0x7d, 0x59, 0xf0, 0x55, 0x21, 0xa4, 0x21,
|
||||
0x94, 0x2a, 0x33, 0x6d, 0x47, 0x40, 0x4f, 0x2a, 0xc2, 0x7e, 0x10, 0x0f, 0x51, 0x4e, 0x49, 0x00,
|
||||
0x94, 0x45, 0x61, 0x00, 0x1e, 0x82, 0x21, 0xc0, 0xb5, 0x23, 0xc0, 0x34, 0x23, 0x92, 0xa4, 0x23,
|
||||
0x92, 0x34, 0x56, 0x25, 0x2e, 0xd2, 0x2a, 0x36, 0xbc, 0x39, 0x22, 0x7c, 0x10, 0x0f, 0x4c, 0x22,
|
||||
0x7f, 0x46, 0x1c, 0x85, 0x61, 0x85, 0x61, 0x85, 0x1c, 0x46, 0x10, 0x0f, 0x4c, 0x83, 0x1d, 0x92,
|
||||
0x2f, 0x73, 0x2d, 0x52, 0x20, 0x39, 0x22, 0x50, 0x92, 0x2f, 0x73, 0xe5, 0x92, 0x3b, 0x7e, 0x10,
|
||||
0x0f, 0x56, 0x7c, 0x30, 0xc2, 0x1d, 0x2f, 0xc0, 0x45, 0xa4, 0x2e, 0xca, 0x2d, 0xdc, 0x44, 0x30,
|
||||
0x90, 0x34, 0x23, 0x92, 0x81, 0x3f, 0xa7, 0x93, 0x3b, 0x91, 0x45, 0x1a, 0x59, 0xea, 0x40, 0x58,
|
||||
0x7a, 0x57, 0x10, 0x08, 0x50, 0x5b, 0x74, 0x1f, 0x5b, 0x74, 0x10, 0x08, 0x50, 0x5b, 0x74, 0x1f,
|
||||
0x5b, 0x74, 0x61, 0x10, 0x14, 0x5b, 0x3f, 0x50, 0x71, 0x3d, 0x3e, 0x5a, 0x45, 0x3e, 0xc4, 0x45,
|
||||
0x28, 0x1e, 0x5f, 0xd3, 0x29, 0x93, 0x28, 0x10, 0x14, 0x19, 0x5b, 0x3f, 0x4b, 0x2c, 0x4b, 0xe7,
|
||||
0x19, 0x28, 0x4b, 0xc7, 0x44, 0x4b, 0x10, 0x14, 0x4a, 0x19, 0x19, 0x86, 0x36, 0x28, 0x1e, 0x5f,
|
||||
0xd3, 0x40, 0x00, 0x32, 0x39, 0x7e, 0xb4, 0x3a, 0x71, 0x33, 0x10, 0x0d, 0x4e, 0xc2, 0x27, 0x1e,
|
||||
0x39, 0x2a, 0x3f, 0x52, 0x6d, 0x46, 0x40, 0x44, 0x85, 0x47, 0x30, 0x42, 0x74, 0x10, 0x18, 0x19,
|
||||
0xf2, 0x3e, 0x0f, 0x3a, 0xa2, 0x34, 0x2c, 0x2c, 0xc7, 0x2d, 0x2f, 0x34, 0xa5, 0xab, 0x9d, 0x34,
|
||||
0xbc, 0x22, 0xbd, 0xb4, 0xb5, 0xb5, 0xa7, 0xc5, 0xa7, 0xc7, 0x2f, 0x90, 0x90, 0x79, 0x90, 0x90,
|
||||
0x79, 0x90, 0x90, 0x79, 0xf0, 0xb4, 0x9c, 0xa4, 0x1a, 0x34, 0xb5, 0xb4, 0xbf, 0x52, 0xa7, 0x4b,
|
||||
0x52, 0x92, 0xc0, 0x2f, 0x4a, 0x38, 0x2d, 0x48, 0xe2, 0x3d, 0x3b, 0xe3, 0x39, 0xe3, 0x10, 0x10,
|
||||
0x4e, 0x81, 0x5a, 0x71, 0x33, 0x25, 0x3b, 0x64, 0x37, 0x77, 0x39, 0x77, 0x39, 0x77, 0x82, 0x34,
|
||||
0x82, 0x34, 0x45, 0x3d, 0x56, 0x4b, 0x3b, 0xff, 0x3a, 0x6a, 0x2c, 0x4f, 0x4a, 0x41, 0x10, 0x10,
|
||||
0x4c, 0x20, 0x6c, 0x3d, 0x66, 0x22, 0x6c, 0x00, 0x78, 0xc7, 0x77, 0x3b, 0xe3, 0x45, 0x22, 0x10,
|
||||
0x11, 0x4e, 0x83, 0x1d, 0x36, 0x2d, 0xe0, 0x33, 0x4a, 0x77, 0x85, 0x47, 0x67, 0xbc, 0x59, 0x2f,
|
||||
0x4a, 0x48, 0xc0, 0x2d, 0x32, 0x7e, 0x10, 0x12, 0x4c, 0x22, 0x3e, 0xe3, 0x48, 0xd0, 0x71, 0xe7,
|
||||
0x44, 0x30, 0x2c, 0x48, 0x2c, 0x6a, 0x6a, 0x6a, 0x2c, 0x18, 0x2c, 0x18, 0x48, 0x53, 0x4a, 0x25,
|
||||
0x77, 0x71, 0x4b, 0x3b, 0x57, 0x10, 0x0f, 0x4c, 0x22, 0x7f, 0x56, 0x6d, 0x67, 0x5a, 0x22, 0x24,
|
||||
0x6d, 0x67, 0x5a, 0x22, 0x7f, 0x10, 0x0e, 0x4c, 0x22, 0x24, 0x6d, 0x67, 0x5a, 0x22, 0x3e, 0x7d,
|
||||
0x00, 0x60, 0x10, 0x13, 0x4e, 0x83, 0x1d, 0xeb, 0x2d, 0xe0, 0x33, 0x4a, 0x77, 0x85, 0x47, 0x3d,
|
||||
0x25, 0xdc, 0xc4, 0xc0, 0x6a, 0x2c, 0x6a, 0x25, 0x90, 0x4a, 0xc0, 0x3d, 0x3b, 0xe3, 0x39, 0xe3,
|
||||
0x10, 0x12, 0x4c, 0x1b, 0x72, 0x68, 0xf2, 0x22, 0x3a, 0x4b, 0x23, 0x1b, 0x72, 0x68, 0x10, 0x07,
|
||||
0x1f, 0x47, 0x60, 0x5d, 0x10, 0x07, 0x1f, 0x5d, 0x5d, 0x46, 0x7c, 0x30, 0xc0, 0x10, 0x10, 0x4c,
|
||||
0xe7, 0x2d, 0x9c, 0x2d, 0xb4, 0x2d, 0x34, 0x80, 0x1d, 0x71, 0x33, 0xd1, 0x54, 0xaa, 0xc7, 0x82,
|
||||
0x2f, 0x39, 0x8c, 0x30, 0xdc, 0x44, 0x56, 0xc7, 0x2d, 0x90, 0x44, 0x10, 0x0d, 0x1f, 0x60, 0x5d,
|
||||
0x54, 0x32, 0x7f, 0x10, 0x15, 0x4c, 0x25, 0xbc, 0x33, 0x25, 0xe2, 0x33, 0x25, 0xe2, 0x4a, 0xc2,
|
||||
0xc4, 0xc2, 0x4a, 0xba, 0xc4, 0xba, 0x4a, 0xba, 0x52, 0x9f, 0x4a, 0x1a, 0x7b, 0x1f, 0x1a, 0x7b,
|
||||
0x1f, 0x1a, 0x7b, 0x1f, 0xa7, 0x9d, 0x3c, 0x90, 0xaa, 0xb5, 0x33, 0xe5, 0x22, 0x9c, 0x6f, 0x6f,
|
||||
0x51, 0x77, 0x77, 0x72, 0xb4, 0x10, 0x12, 0x4c, 0x25, 0xca, 0x2b, 0x25, 0x41, 0xe7, 0xa4, 0x23,
|
||||
0x1e, 0xa4, 0x23, 0x9f, 0xa4, 0x23, 0x1a, 0xa4, 0x23, 0x1a, 0xa4, 0x23, 0xa7, 0xa5, 0x23, 0xa7,
|
||||
0xc5, 0x41, 0x77, 0x90, 0x2b, 0xc5, 0xc7, 0x41, 0xc4, 0x1a, 0x4a, 0x77, 0x7b, 0x2b, 0xc5, 0xb0,
|
||||
0x48, 0xca, 0x77, 0x41, 0x44, 0x48, 0xea, 0x71, 0x53, 0x44, 0x10, 0x13, 0x4e, 0x83, 0x5e, 0x75,
|
||||
0x36, 0x10, 0x0e, 0x4c, 0x20, 0x6c, 0xfc, 0x77, 0x66, 0x21, 0xfc, 0x20, 0x39, 0x55, 0x69, 0x10,
|
||||
0x13, 0x4e, 0x83, 0x5e, 0x75, 0x1e, 0x4a, 0x45, 0x59, 0xdc, 0x10, 0x11, 0x4c, 0x20, 0x6c, 0xfc,
|
||||
0x77, 0x66, 0x21, 0x3f, 0x20, 0x82, 0x2a, 0xca, 0x77, 0x56, 0x62, 0x37, 0x44, 0x56, 0x31, 0x31,
|
||||
0x0f, 0xc5, 0x34, 0x10, 0x0f, 0x4c, 0x83, 0xeb, 0x45, 0xa4, 0x48, 0x9c, 0x67, 0x2a, 0x4a, 0x21,
|
||||
0x44, 0x36, 0x29, 0xa2, 0x28, 0x6d, 0x28, 0x48, 0x90, 0x2a, 0x36, 0x21, 0xec, 0x22, 0x10, 0x0f,
|
||||
0x55, 0x32, 0xe3, 0x25, 0x32, 0x20, 0x39, 0x74, 0x47, 0x5d, 0x10, 0x12, 0x4c, 0x1b, 0x72, 0x72,
|
||||
0x72, 0x68, 0x90, 0x34, 0x45, 0x2d, 0x34, 0x21, 0x51, 0xc2, 0x10, 0x10, 0xc4, 0x28, 0x48, 0xca,
|
||||
0x4a, 0x6a, 0x2c, 0x23, 0x31, 0x31, 0xeb, 0x2d, 0x77, 0x34, 0x82, 0x34, 0x39, 0x77, 0x39, 0xb4,
|
||||
0x50, 0x90, 0x8d, 0x1a, 0x27, 0x8d, 0xf2, 0x1d, 0x71, 0x4a, 0xa2, 0x54, 0xc0, 0x10, 0x18, 0x43,
|
||||
0x39, 0x44, 0xe5, 0x77, 0x3c, 0x93, 0x34, 0xb4, 0xc4, 0xa2, 0x34, 0x34, 0xc4, 0xa2, 0x34, 0x34,
|
||||
0xa4, 0x9f, 0x77, 0x77, 0x7b, 0x9c, 0x34, 0x7b, 0x3c, 0xe7, 0x90, 0xc7, 0x79, 0x2f, 0x92, 0x79,
|
||||
0xf0, 0x77, 0x3c, 0xaa, 0xa5, 0x9d, 0x4a, 0x1a, 0x7b, 0x1f, 0x1a, 0x7b, 0x52, 0xba, 0xc4, 0xba,
|
||||
0x4a, 0xc0, 0x3d, 0x48, 0x36, 0x3d, 0x48, 0x36, 0x3d, 0x48, 0xeb, 0x44, 0x10, 0x11, 0x4c, 0x25,
|
||||
0x37, 0x23, 0x65, 0x45, 0x2a, 0x90, 0x38, 0x1a, 0x7c, 0x43, 0xc0, 0x40, 0x4a, 0x93, 0x54, 0x1e,
|
||||
0x27, 0x38, 0xc7, 0xc7, 0x45, 0x77, 0x45, 0xa4, 0x2e, 0xff, 0x33, 0x48, 0xcb, 0x44, 0x10, 0x0f,
|
||||
0xc4, 0x28, 0xc7, 0x34, 0x23, 0x65, 0x45, 0x2a, 0x90, 0x3c, 0x2b, 0x1a, 0xc5, 0x45, 0x1d, 0x71,
|
||||
0x1f, 0xc0, 0x60, 0x67, 0x10, 0x10, 0x50, 0x3b, 0xe3, 0x25, 0x32, 0x20, 0x6e, 0x46, 0x6e, 0x46,
|
||||
0x6e, 0xfc, 0x27, 0x4b, 0x52, 0x34, 0x4b, 0x10, 0x09, 0x4c, 0x1e, 0x7c, 0x56, 0x69, 0x5d, 0x28,
|
||||
0xd3, 0x7c, 0x10, 0x08, 0x51, 0x59, 0xe0, 0x74, 0x74, 0x74, 0x1c, 0x74, 0x74, 0x29, 0x38, 0x34,
|
||||
0x10, 0x09, 0x4c, 0x1e, 0x7c, 0x39, 0x74, 0x5d, 0x67, 0x1e, 0x7c, 0x10, 0x14, 0x50, 0x40, 0x52,
|
||||
0xc2, 0x27, 0xe1, 0x50, 0x2f, 0x2f, 0x45, 0x34, 0x23, 0x92, 0x2d, 0x92, 0x44, 0x10, 0x0c, 0x4c,
|
||||
0x5b, 0x35, 0xc2, 0x21, 0x4b, 0x10, 0x0c, 0x5a, 0x92, 0x1c, 0x59, 0xdc, 0x10, 0x0e, 0x5b, 0x3b,
|
||||
0xc4, 0x3b, 0x1d, 0xc8, 0x77, 0x59, 0x3c, 0x2b, 0x21, 0xc0, 0x22, 0x45, 0x52, 0x2e, 0x37, 0x3d,
|
||||
0x45, 0x76, 0x10, 0x0f, 0x52, 0x74, 0x84, 0x78, 0x63, 0x10, 0x0d, 0x50, 0x5b, 0x49, 0xa4, 0x39,
|
||||
0x1c, 0x47, 0x47, 0x59, 0x2f, 0x94, 0x39, 0x22, 0xc4, 0x3b, 0x10, 0x0f, 0x50, 0x74, 0x47, 0x50,
|
||||
0xe3, 0x90, 0x3b, 0x3a, 0x2f, 0x81, 0x90, 0x5c, 0x76, 0x10, 0x0e, 0x50, 0x5b, 0x49, 0x2a, 0x79,
|
||||
0x43, 0x31, 0x4b, 0x3b, 0xe3, 0x48, 0xd0, 0x1c, 0x59, 0xe0, 0xc4, 0xc6, 0x3b, 0x1d, 0x32, 0x10,
|
||||
0x08, 0x4c, 0x81, 0x4a, 0x1e, 0x54, 0x6d, 0x89, 0x5a, 0x82, 0x5d, 0x10, 0x0f, 0x8b, 0x2f, 0x81,
|
||||
0x92, 0x5c, 0x76, 0x53, 0x40, 0x58, 0x7a, 0x36, 0x10, 0x0f, 0x52, 0x74, 0x84, 0x52, 0x2e, 0x62,
|
||||
0x62, 0x62, 0x62, 0x10, 0x07, 0x1f, 0x67, 0x4e, 0x74, 0x5d, 0x10, 0x07, 0x1f, 0x67, 0x4e, 0x74,
|
||||
0x5d, 0x67, 0x36, 0x40, 0x10, 0x0e, 0x1f, 0x60, 0x2a, 0x37, 0x80, 0xcb, 0x54, 0x1e, 0x27, 0x38,
|
||||
0xaa, 0xc7, 0x82, 0x2f, 0x39, 0x8c, 0x10, 0x06, 0x1f, 0x47, 0x60, 0x5d, 0x10, 0x18, 0x1f, 0x5b,
|
||||
0x34, 0xc0, 0xa5, 0x93, 0x34, 0x20, 0x20, 0x51, 0xa2, 0xbc, 0xc7, 0x92, 0xbc, 0xc4, 0x92, 0x77,
|
||||
0x6b, 0x51, 0x79, 0x6b, 0x51, 0x79, 0x6b, 0x51, 0x79, 0x10, 0x0f, 0x8a, 0xd3, 0xbc, 0x45, 0x52,
|
||||
0x2e, 0x62, 0x62, 0x62, 0x62, 0x10, 0x0e, 0x51, 0x5b, 0x2b, 0x49, 0x2a, 0x57, 0x78, 0x31, 0xcb,
|
||||
0x77, 0x45, 0x7a, 0x36, 0x10, 0x0f, 0x8a, 0xd3, 0xbc, 0x45, 0x78, 0x63, 0xd0, 0x67, 0xdc, 0x10,
|
||||
0x0f, 0x8b, 0x2f, 0x81, 0x90, 0x5c, 0x76, 0x6d, 0x47, 0x10, 0x0a, 0x4a, 0x5b, 0x77, 0xa2, 0x39,
|
||||
0x22, 0x50, 0xc0, 0x85, 0x47, 0x60, 0x10, 0x0c, 0x5a, 0x5b, 0x2b, 0x49, 0xa4, 0x39, 0x29, 0x90,
|
||||
0x5f, 0x0f, 0x6d, 0x43, 0xc8, 0x2a, 0xc2, 0x3a, 0xa4, 0x22, 0x10, 0x09, 0x42, 0x39, 0x74, 0x89,
|
||||
0x54, 0x6d, 0x60, 0x28, 0x1e, 0x7c, 0x10, 0x0f, 0x30, 0x5b, 0x62, 0x62, 0x62, 0x62, 0x79, 0x4a,
|
||||
0x34, 0x3d, 0x45, 0x76, 0x10, 0x0f, 0x5b, 0x26, 0x62, 0xea, 0x2d, 0x34, 0x34, 0x39, 0x34, 0x50,
|
||||
0x90, 0x92, 0x82, 0x8d, 0x87, 0x7c, 0x45, 0x10, 0x14, 0x52, 0x5b, 0x34, 0x34, 0xc7, 0x3c, 0xc7,
|
||||
0xc0, 0x34, 0x6f, 0x6f, 0x4a, 0xa7, 0x9d, 0x3c, 0x2f, 0xaa, 0xbd, 0x4a, 0x90, 0x1a, 0x3c, 0x7b,
|
||||
0xd7, 0x48, 0xdf, 0x77, 0x41, 0x53, 0x81, 0xa2, 0x81, 0xa2, 0x81, 0xf2, 0x3d, 0x10, 0x0f, 0x30,
|
||||
0x5b, 0x25, 0x25, 0x3d, 0x2d, 0x5a, 0x2f, 0x2f, 0x39, 0x9c, 0x54, 0x9f, 0x7c, 0x45, 0x29, 0xe3,
|
||||
0x54, 0xb2, 0xc7, 0x82, 0x90, 0x82, 0x77, 0x45, 0x2d, 0xbc, 0x44, 0x10, 0x0f, 0x5b, 0x26, 0x62,
|
||||
0xf2, 0x2d, 0x34, 0x34, 0x39, 0x2a, 0x9c, 0x8d, 0x87, 0x7c, 0x45, 0x4a, 0x45, 0x47, 0x46, 0x7c,
|
||||
0x30, 0xc0, 0x10, 0x0d, 0x1f, 0x5b, 0x32, 0x7f, 0x46, 0x40, 0x44, 0x40, 0x44, 0x40, 0x44, 0x85,
|
||||
0x4a, 0x3b, 0x7f, 0x10, 0x0f, 0x51, 0x4e, 0xa2, 0x7c, 0x56, 0x69, 0x40, 0xc4, 0x1e, 0x7c, 0xfc,
|
||||
0x45, 0x55, 0x69, 0x28, 0xd3, 0x54, 0xc0, 0x10, 0x08, 0x4a, 0x5d, 0x5d, 0x67, 0xdc, 0x10, 0x0f,
|
||||
0x4e, 0x93, 0x7c, 0x39, 0x74, 0x67, 0xbc, 0x55, 0x1e, 0x7c, 0x30, 0xd2, 0x29, 0x69, 0x7c, 0x30,
|
||||
0xc0, 0x10, 0x14, 0xc4, 0x4e, 0x19, 0x5b, 0x7c, 0x48, 0x20, 0x5a, 0x2c, 0xc5, 0x20, 0x4d, 0xc2,
|
||||
0x10,
|
||||
};
|
||||
|
||||
static const uint16_t mf_rlefont_DejaVuSans24_glyph_offsets_0[95] = {
|
||||
0x0000, 0x0003, 0x000c, 0x0016, 0x0043, 0x006c, 0x00a8, 0x00cf,
|
||||
0x00d3, 0x00e0, 0x00ec, 0x0101, 0x010f, 0x0114, 0x011d, 0x0121,
|
||||
0x0130, 0x014a, 0x0157, 0x016d, 0x0186, 0x01a5, 0x01bb, 0x01dd,
|
||||
0x01eb, 0x0200, 0x0223, 0x022b, 0x0234, 0x0248, 0x0257, 0x026b,
|
||||
0x027e, 0x02bf, 0x02df, 0x02f0, 0x0307, 0x0326, 0x0336, 0x0343,
|
||||
0x0361, 0x036f, 0x0375, 0x037e, 0x039c, 0x03a4, 0x03d6, 0x040b,
|
||||
0x0412, 0x0420, 0x042b, 0x0444, 0x045f, 0x046b, 0x047b, 0x049e,
|
||||
0x04dd, 0x04ff, 0x0515, 0x0528, 0x0533, 0x0541, 0x054c, 0x055e,
|
||||
0x0566, 0x056d, 0x0583, 0x058a, 0x059b, 0x05aa, 0x05c0, 0x05cc,
|
||||
0x05d9, 0x05e4, 0x05eb, 0x05f5, 0x0607, 0x060d, 0x062a, 0x0636,
|
||||
0x0645, 0x0650, 0x065a, 0x0667, 0x067b, 0x0687, 0x0695, 0x06a8,
|
||||
0x06ce, 0x06ec, 0x0703, 0x0714, 0x0728, 0x072f, 0x0742,
|
||||
};
|
||||
|
||||
static const struct mf_rlefont_char_range_s mf_rlefont_DejaVuSans24_char_ranges[] = {
|
||||
{32, 95, mf_rlefont_DejaVuSans24_glyph_offsets_0, mf_rlefont_DejaVuSans24_glyph_data_0},
|
||||
};
|
||||
|
||||
const struct mf_rlefont_s mf_rlefont_DejaVuSans24 = {
|
||||
{
|
||||
"DejaVu Sans Book 24",
|
||||
"DejaVuSans24",
|
||||
25, /* width */
|
||||
25, /* height */
|
||||
6, /* min x advance */
|
||||
24, /* max x advance */
|
||||
2, /* baseline x */
|
||||
19, /* baseline y */
|
||||
28, /* line height */
|
||||
2, /* flags */
|
||||
63, /* fallback character */
|
||||
&mf_rlefont_character_width,
|
||||
&mf_rlefont_render_character,
|
||||
},
|
||||
4, /* version */
|
||||
mf_rlefont_DejaVuSans24_dictionary_data,
|
||||
mf_rlefont_DejaVuSans24_dictionary_offsets,
|
||||
68, /* rle dict count */
|
||||
118, /* total dict count */
|
||||
1, /* char range count */
|
||||
mf_rlefont_DejaVuSans24_char_ranges,
|
||||
};
|
||||
|
||||
#ifdef MF_INCLUDED_FONTS
|
||||
/* List entry for searching fonts by name. */
|
||||
static const struct mf_font_list_s mf_rlefont_DejaVuSans24_listentry = {
|
||||
MF_INCLUDED_FONTS,
|
||||
(struct mf_font_s*)&mf_rlefont_DejaVuSans24
|
||||
};
|
||||
#undef MF_INCLUDED_FONTS
|
||||
#define MF_INCLUDED_FONTS (&mf_rlefont_DejaVuSans24_listentry)
|
||||
#endif
|
||||
|
||||
|
||||
/* End of automatically generated font definition for DejaVuSans24. */
|
||||
|
439
src/gdisp/fonts/DejaVuSans24_aa.c
Normal file
439
src/gdisp/fonts/DejaVuSans24_aa.c
Normal file
@ -0,0 +1,439 @@
|
||||
|
||||
|
||||
/* Start of automatically generated font definition for DejaVuSans24_aa. */
|
||||
|
||||
#ifndef MF_RLEFONT_INTERNALS
|
||||
#define MF_RLEFONT_INTERNALS
|
||||
#endif
|
||||
#include "mf_rlefont.h"
|
||||
|
||||
#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
|
||||
#error The font file is not compatible with this version of mcufont.
|
||||
#endif
|
||||
|
||||
static const uint8_t mf_rlefont_DejaVuSans24_aa_dictionary_data[596] = {
|
||||
0x20, 0x0f, 0x04, 0x81, 0x05, 0x1e, 0x11, 0x0c, 0x81, 0x01, 0x81, 0x0e, 0x81, 0x07, 0x81, 0x0e,
|
||||
0x10, 0xc8, 0x80, 0xce, 0xc5, 0xd1, 0x04, 0x0b, 0x84, 0x09, 0x17, 0x81, 0x17, 0x81, 0x06, 0x88,
|
||||
0x0e, 0x15, 0x12, 0x0a, 0x17, 0x81, 0x02, 0x09, 0x81, 0xce, 0x85, 0x0c, 0x83, 0x85, 0x06, 0xc2,
|
||||
0xc7, 0x03, 0x81, 0x01, 0xc2, 0xcb, 0x80, 0xc8, 0x02, 0x09, 0x81, 0x0c, 0x81, 0x09, 0x81, 0x80,
|
||||
0xcc, 0x03, 0x80, 0xca, 0x14, 0x0d, 0x80, 0x18, 0x05, 0x81, 0x07, 0x81, 0x86, 0x0d, 0x81, 0x01,
|
||||
0xcd, 0x80, 0x45, 0x07, 0xc1, 0x01, 0xce, 0xc8, 0x80, 0xc6, 0xc1, 0x80, 0xce, 0xc9, 0x80, 0x80,
|
||||
0xc2, 0x80, 0xcd, 0x1f, 0x1d, 0x81, 0xc3, 0xc1, 0xc6, 0xc1, 0xc1, 0xce, 0x02, 0x81, 0x89, 0xc8,
|
||||
0x80, 0x80, 0xc7, 0xc5, 0x02, 0xc5, 0x80, 0xc4, 0xc1, 0x06, 0xc1, 0x81, 0xc4, 0x01, 0xce, 0x80,
|
||||
0x80, 0xc5, 0x01, 0x80, 0xc8, 0x8c, 0x80, 0xce, 0x1b, 0xcd, 0xca, 0xc9, 0xc4, 0xc1, 0xc4, 0xcb,
|
||||
0xc5, 0x08, 0xc1, 0xcd, 0x0d, 0x81, 0x08, 0x81, 0x0d, 0xce, 0x80, 0xc3, 0xce, 0xcc, 0xc8, 0xcd,
|
||||
0xc8, 0xc4, 0xc1, 0x0e, 0x81, 0xc9, 0x41, 0x17, 0xcc, 0x80, 0xc2, 0xc9, 0x01, 0x81, 0xcc, 0xc1,
|
||||
0xc7, 0x80, 0xcd, 0xc9, 0xc2, 0xcd, 0x16, 0xcc, 0xc7, 0xc1, 0xcc, 0x80, 0x01, 0xc4, 0xc5, 0x81,
|
||||
0xc2, 0x01, 0xcd, 0xc1, 0x82, 0xc2, 0xc1, 0xcc, 0x81, 0x80, 0xcb, 0x17, 0x13, 0xc1, 0xc3, 0x32,
|
||||
0xcd, 0xc2, 0xc2, 0xce, 0x80, 0xc6, 0xcc, 0x80, 0xc9, 0x81, 0x0e, 0x81, 0xc4, 0x81, 0xc1, 0x81,
|
||||
0xde, 0xc3, 0x81, 0xc1, 0xc5, 0xc9, 0xc2, 0xc2, 0xc8, 0xcd, 0xc1, 0xc7, 0xc4, 0xc9, 0x6b, 0x34,
|
||||
0x27, 0x1f, 0x86, 0x27, 0x1f, 0x86, 0x27, 0x1f, 0x86, 0x27, 0x1f, 0x58, 0x01, 0x22, 0x35, 0x86,
|
||||
0x69, 0x6c, 0x05, 0x1b, 0x0a, 0x86, 0x69, 0x21, 0x04, 0x0b, 0x7a, 0x69, 0x63, 0x24, 0x73, 0x47,
|
||||
0x73, 0x0f, 0xdd, 0x19, 0xd4, 0xdd, 0x7f, 0x4a, 0x73, 0x63, 0x39, 0x68, 0x60, 0x0c, 0x7a, 0x3d,
|
||||
0x70, 0x6f, 0x22, 0x63, 0x86, 0x3d, 0x36, 0x05, 0x27, 0x77, 0x3d, 0x58, 0x56, 0x64, 0x0f, 0x56,
|
||||
0x3d, 0x36, 0x05, 0x27, 0x77, 0x3d, 0x07, 0x39, 0x1b, 0x01, 0x7c, 0x3d, 0x63, 0x39, 0x68, 0x60,
|
||||
0x0c, 0x7a, 0x86, 0x05, 0x27, 0x05, 0x7d, 0x25, 0xd4, 0x39, 0x1b, 0x75, 0x07, 0x00, 0x1e, 0x39,
|
||||
0x68, 0x60, 0x6c, 0x79, 0x25, 0xd4, 0x5a, 0x24, 0x5c, 0x0f, 0x6f, 0x3c, 0x07, 0x5c, 0x02, 0x3c,
|
||||
0x88, 0x04, 0x3c, 0x83, 0x07, 0x1d, 0x4c, 0x26, 0x3b, 0x73, 0x09, 0x46, 0x73, 0x0d, 0x49, 0x0e,
|
||||
0x61, 0x6e, 0x69, 0x03, 0x2f, 0x08, 0x86, 0x44, 0x87, 0x08, 0xc3, 0x79, 0x87, 0x7d, 0x68, 0x8c,
|
||||
0x0e, 0x5a, 0x87, 0x0a, 0x1b, 0x06, 0x39, 0x69, 0x87, 0x27, 0x47, 0x87, 0x27, 0x7d, 0x73, 0x0f,
|
||||
0x51, 0x2c, 0x26, 0x05, 0x2b, 0x05, 0x7d, 0x25, 0x0d, 0x49, 0x87, 0x27, 0x07, 0x39, 0x87, 0x27,
|
||||
0x44, 0x87, 0x08, 0x24, 0x5c, 0x03, 0x87, 0x39, 0x68, 0x60, 0x0c, 0x4a, 0x44, 0x1e, 0x6f, 0x22,
|
||||
0x63, 0x53, 0x00, 0x1e, 0x05, 0x27, 0x05, 0x7d, 0x00, 0x1e, 0x01, 0x27, 0x47, 0x41, 0x1b, 0xd0,
|
||||
0x1e, 0x44, 0x1b, 0x47, 0x86, 0x26, 0x26, 0x26, 0x01, 0x09, 0x42, 0x69, 0x03, 0x2f, 0x08, 0x86,
|
||||
0x19, 0x6d, 0x0d, 0x5c, 0x08, 0x01, 0x29, 0x58, 0x01, 0x62, 0x87, 0x73, 0x36, 0x06, 0x39, 0x0a,
|
||||
0x86, 0x5c, 0x5f, 0x7f, 0x01, 0x84, 0x7a, 0x67, 0x02, 0x7f, 0x8e, 0x86, 0x39, 0x4e, 0x7f, 0x90,
|
||||
0x0e, 0x7a, 0x70, 0x79, 0x07, 0x3b, 0x2b, 0x0a, 0x0b, 0x58, 0x71, 0x2c, 0x26, 0x26, 0x26, 0x2d,
|
||||
0x06, 0x3a, 0xd4, 0xc5, 0xca, 0x3f, 0x3f, 0x45, 0x4d, 0x80, 0x08, 0x0e, 0x39, 0x30, 0x48, 0x0e,
|
||||
0x74, 0x19, 0x03, 0x86, 0x39, 0x4e, 0x3d, 0x01, 0x84, 0x7a, 0x67, 0x78, 0x26, 0x26, 0x18, 0x90,
|
||||
0x0d, 0x8a, 0x0d, 0x5f, 0x19, 0x01, 0x0a, 0x40, 0x3b, 0x62, 0x35, 0x0f, 0x65, 0x62, 0x8b, 0x02,
|
||||
0x2b, 0x02, 0x1b, 0x47, 0x87, 0x27, 0x1f, 0x86, 0x27, 0x1f, 0x86, 0x27, 0x1f, 0x86, 0x27, 0x29,
|
||||
0x42, 0x00, 0x27, 0x0e, 0x49, 0x09, 0x73, 0x0c, 0x58, 0x5c, 0x01, 0x2d, 0x2e, 0x1e, 0x38, 0x1e,
|
||||
0x38, 0x30, 0x0d, 0x65,
|
||||
};
|
||||
|
||||
static const uint16_t mf_rlefont_DejaVuSans24_aa_dictionary_offsets[170] = {
|
||||
0x0000, 0x0001, 0x0002, 0x0004, 0x0005, 0x0006, 0x0007, 0x0009,
|
||||
0x0010, 0x0011, 0x0016, 0x0017, 0x0018, 0x0019, 0x001a, 0x001e,
|
||||
0x001f, 0x0021, 0x0022, 0x0023, 0x0024, 0x0026, 0x0027, 0x0029,
|
||||
0x002b, 0x002c, 0x002d, 0x002f, 0x0031, 0x0033, 0x0035, 0x0037,
|
||||
0x0039, 0x003f, 0x0041, 0x0042, 0x0044, 0x0045, 0x0046, 0x0048,
|
||||
0x004c, 0x004d, 0x0050, 0x0052, 0x0054, 0x0056, 0x0058, 0x005a,
|
||||
0x005d, 0x005f, 0x0061, 0x0063, 0x0064, 0x0066, 0x0068, 0x006a,
|
||||
0x006c, 0x006e, 0x006f, 0x0071, 0x0073, 0x0076, 0x0078, 0x007c,
|
||||
0x007e, 0x0080, 0x0083, 0x0085, 0x0086, 0x0088, 0x0089, 0x008b,
|
||||
0x008d, 0x008f, 0x0091, 0x0092, 0x0094, 0x009a, 0x009c, 0x009f,
|
||||
0x00a1, 0x00a3, 0x00a4, 0x00a6, 0x00a8, 0x00aa, 0x00ac, 0x00ae,
|
||||
0x00b0, 0x00b2, 0x00b4, 0x00b6, 0x00b7, 0x00b9, 0x00bc, 0x00be,
|
||||
0x00c0, 0x00c2, 0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00cb, 0x00cc,
|
||||
0x00cd, 0x00cf, 0x00d0, 0x00d2, 0x00d5, 0x00d7, 0x00d9, 0x00da,
|
||||
0x00dc, 0x00de, 0x00e0, 0x00e1, 0x00e3, 0x00e5, 0x00e7, 0x00ea,
|
||||
0x00ec, 0x00ee, 0x010e, 0x0111, 0x0117, 0x0119, 0x0142, 0x0159,
|
||||
0x0166, 0x0168, 0x016f, 0x0177, 0x0188, 0x018d, 0x018f, 0x0191,
|
||||
0x0193, 0x019a, 0x01a0, 0x01c2, 0x01c4, 0x01c8, 0x01cb, 0x01d4,
|
||||
0x01db, 0x01dd, 0x01df, 0x01f2, 0x01f4, 0x01f8, 0x01fb, 0x01ff,
|
||||
0x0201, 0x0207, 0x020f, 0x0211, 0x0213, 0x021c, 0x021e, 0x0229,
|
||||
0x0231, 0x023f, 0x0241, 0x0243, 0x0245, 0x0247, 0x0249, 0x024c,
|
||||
0x0252, 0x0254,
|
||||
};
|
||||
|
||||
static const uint8_t mf_rlefont_DejaVuSans24_aa_glyph_data_0[4800] = {
|
||||
0x08, 0x00, 0x10, 0x0a, 0x2d, 0x4c, 0xae, 0x7e, 0x5c, 0x7e, 0x8a, 0x7e, 0x0d, 0x0d, 0x7e, 0x0c,
|
||||
0x0c, 0x7f, 0x81, 0x98, 0x10, 0x0b, 0x4c, 0x50, 0x7f, 0x93, 0x93, 0x93, 0x10, 0x14, 0x3a, 0x18,
|
||||
0x52, 0x54, 0x53, 0x1d, 0x36, 0x01, 0x2d, 0x09, 0x55, 0x1d, 0x4a, 0x3a, 0x6c, 0x44, 0xb3, 0x85,
|
||||
0x2d, 0x01, 0x39, 0x1d, 0x07, 0x46, 0x00, 0x76, 0x5a, 0x3d, 0x36, 0x5b, 0x2b, 0x36, 0x5b, 0x30,
|
||||
0x35, 0x7d, 0x3a, 0x0e, 0x0d, 0x19, 0xaf, 0x53, 0x2d, 0x03, 0x3b, 0x1d, 0x09, 0x65, 0xaf, 0x46,
|
||||
0x1d, 0x0d, 0xe5, 0x0a, 0x65, 0x3d, 0x5b, 0x3b, 0x2b, 0x5b, 0x3b, 0x3d, 0x52, 0x54, 0x53, 0x1d,
|
||||
0x36, 0x01, 0x2d, 0x09, 0x55, 0x1d, 0x4a, 0x3a, 0x6c, 0x01, 0x19, 0x76, 0x85, 0x2d, 0x01, 0x39,
|
||||
0x1d, 0x07, 0x46, 0x00, 0x76, 0x5a, 0x10, 0x0f, 0x2d, 0x18, 0x3e, 0x3e, 0x0f, 0x3c, 0x8f, 0xbd,
|
||||
0x66, 0x03, 0x19, 0x01, 0x42, 0x40, 0x19, 0x09, 0x4a, 0x05, 0x01, 0x0f, 0x80, 0x07, 0x0c, 0x19,
|
||||
0x0e, 0x65, 0xf8, 0x1b, 0x87, 0x01, 0xf8, 0x7f, 0x0c, 0x85, 0x01, 0xfe, 0x7f, 0x88, 0x0e, 0x36,
|
||||
0x05, 0x01, 0x3a, 0xb3, 0x0b, 0x31, 0x7d, 0x03, 0x2a, 0x8c, 0x7d, 0x58, 0x55, 0x20, 0xcc, 0x01,
|
||||
0x0a, 0x39, 0x1d, 0xc8, 0x89, 0x1d, 0xc8, 0x03, 0x5c, 0x69, 0x67, 0x03, 0x44, 0x49, 0x06, 0x0d,
|
||||
0x85, 0x30, 0xe0, 0x5c, 0x31, 0x79, 0x69, 0x33, 0x0b, 0x0d, 0x0e, 0x5c, 0x0b, 0x4e, 0x3c, 0x3e,
|
||||
0x3e, 0x3e, 0x0f, 0x10, 0x17, 0x00, 0x5d, 0x35, 0x0a, 0x8a, 0x0a, 0x02, 0x1b, 0x76, 0x5c, 0x02,
|
||||
0x62, 0x4f, 0x82, 0x72, 0x0e, 0x01, 0x1b, 0x0c, 0x53, 0x25, 0x08, 0x46, 0xaf, 0x0f, 0x37, 0xaf,
|
||||
0x4a, 0x2b, 0x42, 0x78, 0x35, 0x4a, 0x3a, 0x4f, 0x59, 0x2e, 0x01, 0x2d, 0x01, 0xc7, 0x08, 0x7d,
|
||||
0x2d, 0x2e, 0x01, 0x2d, 0x01, 0xf7, 0x35, 0x0f, 0x65, 0x23, 0x42, 0x78, 0x35, 0x4a, 0x2d, 0x0b,
|
||||
0x85, 0x30, 0x09, 0x46, 0xaf, 0x5a, 0x76, 0xbe, 0x2b, 0x4f, 0x82, 0x72, 0x0e, 0x44, 0x0d, 0x53,
|
||||
0x35, 0x0a, 0x8a, 0x0a, 0x02, 0x27, 0x35, 0x0b, 0x8a, 0x0a, 0x78, 0x07, 0x4a, 0x00, 0x4f, 0x82,
|
||||
0x72, 0x0e, 0x01, 0x30, 0x01, 0x58, 0x57, 0x08, 0x46, 0xaf, 0x5a, 0x30, 0x09, 0x7d, 0x2d, 0x42,
|
||||
0x78, 0x35, 0x4a, 0x23, 0x8b, 0x02, 0x50, 0x01, 0x2d, 0x89, 0x23, 0x0b, 0x85, 0x34, 0x01, 0x2d,
|
||||
0x89, 0x2b, 0x05, 0xbe, 0x00, 0x42, 0x78, 0x35, 0x4a, 0x2b, 0x0d, 0x46, 0x22, 0x08, 0x46, 0xaf,
|
||||
0x5a, 0x25, 0x07, 0x39, 0x1b, 0x4f, 0x82, 0x72, 0x0e, 0x01, 0x62, 0x83, 0x04, 0x1b, 0x35, 0x0a,
|
||||
0x8a, 0x0a, 0x02, 0x10, 0x13, 0x4b, 0x8f, 0x7c, 0x71, 0x03, 0x20, 0x75, 0xc3, 0x20, 0x21, 0x03,
|
||||
0x07, 0x0c, 0x20, 0x0d, 0x55, 0x62, 0x87, 0x44, 0xb9, 0x04, 0x73, 0xab, 0x29, 0x89, 0x6f, 0x22,
|
||||
0xb3, 0x0d, 0x7a, 0x6f, 0x1d, 0x63, 0x39, 0x04, 0x42, 0x82, 0x2d, 0x35, 0x5c, 0x2b, 0x52, 0x79,
|
||||
0x35, 0x42, 0x82, 0xaf, 0x7d, 0x2b, 0x42, 0x05, 0x3a, 0x83, 0x0e, 0x03, 0x00, 0x0c, 0x46, 0x00,
|
||||
0x2e, 0x01, 0x22, 0x83, 0x45, 0xbe, 0x62, 0x0e, 0x65, 0x1b, 0x03, 0x0e, 0x86, 0x46, 0x23, 0x48,
|
||||
0x6f, 0x1b, 0x52, 0xbe, 0x25, 0x83, 0x0d, 0x06, 0x78, 0x03, 0x09, 0x7a, 0x7d, 0x30, 0x03, 0x0d,
|
||||
0xc3, 0x53, 0x88, 0x0a, 0x30, 0x8f, 0xbd, 0x71, 0x03, 0x2d, 0x88, 0x08, 0x10, 0x07, 0x27, 0xae,
|
||||
0x10, 0x09, 0x1c, 0x35, 0x9d, 0x09, 0x55, 0x3c, 0x35, 0x9d, 0x52, 0x05, 0x73, 0x0d, 0x0e, 0x01,
|
||||
0x3c, 0x76, 0x3b, 0x73, 0x07, 0x53, 0xa8, 0x57, 0xb9, 0x02, 0x73, 0x58, 0x01, 0x62, 0x87, 0x7e,
|
||||
0x58, 0x44, 0xb9, 0x02, 0xa8, 0x04, 0x73, 0x07, 0x53, 0x29, 0x76, 0x3b, 0x7e, 0x0d, 0x0e, 0x01,
|
||||
0x73, 0x52, 0x05, 0x29, 0x35, 0x7d, 0x7e, 0x09, 0x55, 0x29, 0x35, 0x7d, 0x10, 0x09, 0xba, 0xa8,
|
||||
0x02, 0x29, 0x76, 0x85, 0x7e, 0x0b, 0x49, 0x3c, 0xaf, 0x5a, 0x73, 0x4f, 0x0d, 0x7e, 0x0a, 0x65,
|
||||
0x73, 0x07, 0x53, 0x29, 0x76, 0x9d, 0x02, 0x94, 0x47, 0x2c, 0x92, 0x02, 0x94, 0x04, 0x9d, 0x07,
|
||||
0x53, 0xa8, 0x04, 0x29, 0x4f, 0x0d, 0x3c, 0xaf, 0x5a, 0xa8, 0x02, 0x3c, 0x76, 0x85, 0xa8, 0x02,
|
||||
0x10, 0x0c, 0x18, 0x3e, 0x0f, 0x7f, 0x09, 0x8d, 0xc8, 0x6d, 0x09, 0x69, 0x03, 0x0a, 0x3b, 0x03,
|
||||
0x65, 0x0a, 0x3b, 0x03, 0x19, 0x35, 0x08, 0x58, 0x45, 0x02, 0x1d, 0x35, 0x08, 0x58, 0x45, 0x78,
|
||||
0xb3, 0x0a, 0x3b, 0x03, 0x65, 0x0a, 0x3b, 0x03, 0x69, 0x09, 0x8d, 0xc8, 0x6d, 0x09, 0x7f, 0x3e,
|
||||
0x0f, 0x10, 0x14, 0x69, 0x81, 0xae, 0x69, 0xe0, 0x5b, 0xba, 0xe0, 0x5b, 0x20, 0xa4, 0x10, 0x08,
|
||||
0x43, 0x87, 0x2c, 0x29, 0x35, 0x94, 0x05, 0x99, 0x10, 0x09, 0x5d, 0x81, 0x81, 0x6b, 0xc3, 0x7f,
|
||||
0xc3, 0x10, 0x08, 0x43, 0x87, 0x26, 0x10, 0x08, 0x1d, 0xb3, 0x94, 0x08, 0x5a, 0x73, 0x0c, 0x55,
|
||||
0x3c, 0x35, 0x5c, 0x3c, 0xaf, 0x3b, 0xa8, 0x06, 0x29, 0x01, 0x58, 0x01, 0x29, 0x05, 0x39, 0x73,
|
||||
0x09, 0x53, 0x73, 0xc0, 0x27, 0xb3, 0x94, 0x70, 0xbc, 0x0c, 0x55, 0x20, 0xa3, 0x01, 0x7f, 0xaf,
|
||||
0x9d, 0x0a, 0x46, 0x73, 0xbb, 0x3c, 0x76, 0x39, 0x73, 0x08, 0x5a, 0x73, 0xc0, 0x10, 0x0f, 0x18,
|
||||
0x84, 0x8a, 0x0c, 0x06, 0x2a, 0x0b, 0x24, 0x7d, 0x20, 0x21, 0x05, 0x0e, 0x5a, 0x3d, 0x35, 0x0f,
|
||||
0x65, 0x22, 0x8b, 0x01, 0x23, 0xaf, 0x3b, 0x27, 0x0a, 0x46, 0x3d, 0x0a, 0x59, 0x1b, 0x05, 0x3b,
|
||||
0x3d, 0xc0, 0x27, 0x03, 0x39, 0x3d, 0x58, 0x44, 0xa3, 0x41, 0x3a, 0x1a, 0x64, 0x0f, 0x44, 0xa3,
|
||||
0x3d, 0xc0, 0x27, 0x03, 0x39, 0x3d, 0x0a, 0x59, 0x1b, 0x05, 0x3b, 0x23, 0xaf, 0x3b, 0x27, 0x0a,
|
||||
0x46, 0x30, 0x35, 0x0f, 0x65, 0x22, 0x8b, 0x01, 0x69, 0x21, 0x05, 0x0e, 0x5a, 0x20, 0x0b, 0x24,
|
||||
0x7d, 0x2a, 0x84, 0x8a, 0x0c, 0x06, 0x10, 0x0f, 0x1c, 0x02, 0x06, 0x0a, 0x0e, 0x86, 0x7f, 0xc3,
|
||||
0x7f, 0x71, 0x06, 0x02, 0xa4, 0xae, 0x7f, 0x51, 0x19, 0x51, 0x10, 0x0f, 0x2d, 0x5d, 0x33, 0x0b,
|
||||
0x0d, 0x5c, 0x71, 0x03, 0x30, 0xd4, 0x40, 0x53, 0x19, 0x67, 0x05, 0x7b, 0x80, 0x48, 0x55, 0x73,
|
||||
0x08, 0x9d, 0x47, 0x92, 0x04, 0x39, 0x73, 0x0c, 0x53, 0x29, 0x48, 0x79, 0x3c, 0x07, 0x5c, 0x03,
|
||||
0x3c, 0x70, 0x55, 0x3c, 0x70, 0x55, 0x3c, 0x70, 0x59, 0x7f, 0x70, 0x59, 0x7f, 0x70, 0x59, 0x7f,
|
||||
0x70, 0x59, 0x3c, 0x9e, 0x01, 0x3d, 0x9e, 0x01, 0x10, 0x0f, 0x19, 0xb3, 0x08, 0x0b, 0x0e, 0x5c,
|
||||
0x61, 0x1d, 0x40, 0x3b, 0x20, 0x74, 0x4d, 0x80, 0x52, 0x46, 0x73, 0x07, 0x39, 0x29, 0x35, 0x86,
|
||||
0x92, 0x06, 0x3b, 0x3c, 0x33, 0x5c, 0x03, 0x20, 0xe2, 0x7d, 0x03, 0x1d, 0xe2, 0x5c, 0x09, 0x01,
|
||||
0x3c, 0x60, 0x0a, 0x5c, 0x02, 0x73, 0x08, 0x9d, 0x47, 0x92, 0x08, 0x7d, 0x3d, 0x74, 0x4d, 0x2d,
|
||||
0x60, 0x0a, 0x86, 0x57, 0x1e, 0xc3, 0x5c, 0x05, 0x69, 0x03, 0x07, 0x0b, 0x58, 0x5c, 0x0b, 0x07,
|
||||
0x01, 0x10, 0x0f, 0x7f, 0xb3, 0x7a, 0x29, 0xbd, 0x0f, 0x3c, 0x07, 0x53, 0x86, 0x7f, 0x4f, 0x0d,
|
||||
0x6e, 0x7f, 0x0a, 0x55, 0x6e, 0x1d, 0x76, 0x7d, 0x50, 0x2a, 0x0d, 0x49, 0x50, 0x1d, 0x07, 0x5a,
|
||||
0x34, 0x19, 0x35, 0x0f, 0x79, 0x34, 0x20, 0x36, 0x05, 0x1a, 0x19, 0x05, 0x7d, 0x00, 0x1a, 0x19,
|
||||
0xc0, 0x00, 0x1a, 0x19, 0x5b, 0x30, 0x40, 0x32, 0x87, 0x9f, 0x10, 0x0f, 0x1c, 0x28, 0x2d, 0x28,
|
||||
0x50, 0xb5, 0x0c, 0x8a, 0x67, 0x02, 0x1d, 0xc3, 0x5c, 0x04, 0x20, 0x0b, 0x06, 0x78, 0x8c, 0x0c,
|
||||
0x5c, 0x02, 0x73, 0x0c, 0x5a, 0x29, 0x76, 0x94, 0x47, 0x92, 0x04, 0x4a, 0x29, 0x75, 0x08, 0x69,
|
||||
0x74, 0x03, 0x44, 0x8c, 0x0c, 0xbe, 0x30, 0x40, 0x5c, 0x03, 0xb3, 0x08, 0xbd, 0xb2, 0x01, 0x10,
|
||||
0x0f, 0x00, 0x18, 0x07, 0xbd, 0x71, 0x03, 0x20, 0x72, 0x40, 0x19, 0x83, 0x0b, 0x68, 0x35, 0x84,
|
||||
0x19, 0x0b, 0x85, 0x27, 0xb3, 0x94, 0x08, 0x53, 0xa8, 0x03, 0x03, 0x0a, 0x0e, 0x4a, 0x8d, 0x19,
|
||||
0x0e, 0x53, 0x24, 0x5c, 0x04, 0x87, 0x6a, 0x78, 0x6d, 0x5c, 0x78, 0x1e, 0x7d, 0x1b, 0x0b, 0x85,
|
||||
0x3d, 0x58, 0x55, 0x22, 0x76, 0x4a, 0x3d, 0x7c, 0x01, 0xa3, 0x3d, 0x0a, 0x86, 0x01, 0xa3, 0x23,
|
||||
0xaf, 0x0f, 0x55, 0x22, 0x76, 0x4a, 0x3d, 0x4f, 0x7d, 0x1b, 0x0b, 0x5a, 0x69, 0x08, 0x6a, 0x78,
|
||||
0x6d, 0x5c, 0x02, 0x19, 0x0a, 0x24, 0x5c, 0x04, 0x1d, 0x05, 0xad, 0x02, 0x10, 0x0f, 0x4c, 0x28,
|
||||
0x51, 0x0c, 0xa8, 0x06, 0x3c, 0x35, 0xbe, 0x7f, 0x52, 0xbc, 0x0e, 0x65, 0x29, 0x05, 0x39, 0x73,
|
||||
0x0c, 0x46, 0x27, 0xb3, 0xbe, 0x7f, 0x09, 0x85, 0x29, 0x4f, 0x65, 0x29, 0xa9, 0x73, 0x6c, 0x05,
|
||||
0x27, 0xb3, 0x5c, 0x73, 0x09, 0x5a, 0x29, 0x01, 0xbb, 0x7f, 0xaf, 0x9d, 0x6c, 0x05, 0x10, 0x0f,
|
||||
0x1c, 0x76, 0x0a, 0x0d, 0x86, 0x5e, 0x04, 0x20, 0x09, 0xc3, 0x6a, 0x30, 0xaf, 0x6a, 0x4d, 0x80,
|
||||
0x48, 0x46, 0x3d, 0x0c, 0x53, 0x27, 0x07, 0x39, 0x00, 0x1e, 0x56, 0x3d, 0x58, 0x01, 0x27, 0x01,
|
||||
0x4a, 0x3d, 0x0a, 0x46, 0x27, 0x07, 0x3b, 0x3d, 0x83, 0x09, 0x4d, 0x80, 0x09, 0x5c, 0x02, 0x3d,
|
||||
0x35, 0x0a, 0x24, 0x3b, 0x02, 0x69, 0x76, 0x0c, 0x24, 0x39, 0x04, 0x69, 0x03, 0x6a, 0x4d, 0x80,
|
||||
0x48, 0x65, 0x3d, 0x0b, 0x53, 0x27, 0x07, 0x7d, 0x3d, 0x58, 0x44, 0xa3, 0x3d, 0x58, 0x44, 0xa3,
|
||||
0x3d, 0x0c, 0x53, 0x27, 0x07, 0x39, 0x23, 0xaf, 0x6a, 0x4d, 0x80, 0x48, 0x46, 0x69, 0x09, 0xc3,
|
||||
0x6a, 0x19, 0x76, 0x0a, 0x0d, 0x86, 0x5e, 0x04, 0x10, 0x0f, 0x4b, 0x6d, 0x0d, 0x5c, 0x61, 0x20,
|
||||
0x76, 0x2f, 0x0a, 0x19, 0x83, 0x8d, 0x35, 0x48, 0x53, 0x69, 0x08, 0x7d, 0x1b, 0x0b, 0xbe, 0x23,
|
||||
0x0d, 0x55, 0x1b, 0x88, 0x06, 0x3d, 0x58, 0x01, 0x1b, 0x89, 0x0a, 0x00, 0x1e, 0x01, 0x1b, 0x89,
|
||||
0x0c, 0x3d, 0xc0, 0x1b, 0x88, 0x0e, 0x3d, 0x09, 0x3b, 0x1b, 0x0b, 0x7a, 0x3d, 0x83, 0x09, 0x78,
|
||||
0x6d, 0x31, 0x69, 0x05, 0xc3, 0x53, 0x5c, 0x19, 0x6d, 0x0d, 0x5c, 0x0a, 0x03, 0x03, 0x9d, 0x07,
|
||||
0x5a, 0x73, 0xc0, 0x29, 0x09, 0x7d, 0x19, 0x0c, 0x06, 0x78, 0x60, 0x0b, 0x5c, 0x02, 0x19, 0xc3,
|
||||
0x4a, 0x78, 0xb3, 0x09, 0x42, 0xb2, 0x01, 0x10, 0x08, 0x6b, 0x98, 0x81, 0x81, 0x81, 0x9f, 0x10,
|
||||
0x08, 0x6b, 0x98, 0x81, 0x81, 0x81, 0x26, 0x29, 0x35, 0x94, 0x05, 0x99, 0x10, 0x14, 0x2b, 0x18,
|
||||
0x81, 0x81, 0x8f, 0x0c, 0x7f, 0x8c, 0x0b, 0x7a, 0x1d, 0x90, 0x0e, 0x86, 0x3b, 0x05, 0x69, 0x8e,
|
||||
0xb4, 0x69, 0x0a, 0x86, 0x5c, 0x5f, 0x22, 0x87, 0x7d, 0x01, 0x3c, 0xaa, 0x0a, 0x05, 0x7f, 0x8c,
|
||||
0x0b, 0x7a, 0x73, 0x8f, 0x0c, 0x10, 0x14, 0x4b, 0x6b, 0x2c, 0x5b, 0x2b, 0x5b, 0xc7, 0x18, 0x81,
|
||||
0x9e, 0xd3, 0x2e, 0x5b, 0x10, 0x14, 0x1c, 0x81, 0x81, 0x74, 0x01, 0x3c, 0xe0, 0x61, 0x3c, 0x05,
|
||||
0xaa, 0x0a, 0x3c, 0x01, 0x0b, 0x7a, 0x2a, 0x90, 0x0e, 0x86, 0x3b, 0x19, 0x8e, 0xb4, 0x3d, 0x05,
|
||||
0x0a, 0x86, 0x5c, 0x5f, 0x19, 0xe0, 0x61, 0x01, 0x7f, 0x74, 0x01, 0x10, 0x0d, 0x1c, 0x6d, 0x42,
|
||||
0x71, 0x01, 0x19, 0xaf, 0xc3, 0x82, 0x20, 0x4a, 0x4e, 0x60, 0x0d, 0x3b, 0x20, 0x09, 0x01, 0x3a,
|
||||
0x76, 0x5c, 0x73, 0x89, 0x73, 0x05, 0x39, 0x27, 0xb3, 0x58, 0x05, 0x1b, 0xb3, 0x0e, 0x3b, 0x3c,
|
||||
0x83, 0x0a, 0x29, 0x0a, 0x3b, 0x73, 0x58, 0x01, 0x62, 0x87, 0x2c, 0x81, 0x9f, 0x10, 0x18, 0x2b,
|
||||
0x81, 0x33, 0x0b, 0x0d, 0x58, 0x5e, 0x4e, 0x30, 0x35, 0x48, 0x40, 0x5c, 0x06, 0x2b, 0x76, 0x58,
|
||||
0x3b, 0x05, 0x78, 0x01, 0x02, 0x06, 0x36, 0x7d, 0x25, 0x88, 0x0b, 0x02, 0xba, 0x76, 0x0d, 0x7d,
|
||||
0xba, 0x83, 0x08, 0x23, 0x72, 0x5a, 0x27, 0x0a, 0x7d, 0x3a, 0x05, 0x0c, 0x8a, 0x61, 0x6e, 0x35,
|
||||
0x0f, 0x49, 0x22, 0x03, 0xbe, 0x08, 0x24, 0x53, 0xe7, 0x09, 0x5a, 0x22, 0x52, 0x37, 0x88, 0x8d,
|
||||
0x80, 0x09, 0xeb, 0x76, 0x39, 0x22, 0x0c, 0x55, 0x2d, 0x0b, 0x85, 0x1b, 0x09, 0xe7, 0x47, 0x22,
|
||||
0x58, 0x01, 0x2d, 0xbb, 0x22, 0x35, 0x86, 0x34, 0x1a, 0x34, 0x01, 0x1b, 0x01, 0xf7, 0x35, 0x4a,
|
||||
0x22, 0x58, 0x01, 0x2d, 0xbb, 0x22, 0x35, 0x86, 0xaf, 0x3b, 0x22, 0x0c, 0x55, 0x2d, 0x0b, 0x85,
|
||||
0x1b, 0x09, 0xf7, 0x75, 0x04, 0x22, 0x08, 0x85, 0x00, 0x76, 0x6a, 0x7b, 0x6d, 0x86, 0x65, 0x0b,
|
||||
0x3b, 0x1b, 0x03, 0xbe, 0x08, 0x24, 0x53, 0x86, 0x6a, 0x01, 0x27, 0x0b, 0x3b, 0x3a, 0x05, 0x0c,
|
||||
0x8a, 0x61, 0x00, 0x0e, 0x71, 0x03, 0x62, 0x03, 0x58, 0xbc, 0x77, 0x0b, 0x02, 0xba, 0x76, 0x0c,
|
||||
0x03, 0x2b, 0x05, 0x58, 0x3b, 0x05, 0x7b, 0x01, 0x02, 0x06, 0x0b, 0x39, 0x02, 0x2b, 0x35, 0x0a,
|
||||
0x0f, 0x40, 0x5a, 0x01, 0x69, 0x03, 0x07, 0x0b, 0x42, 0xb2, 0x02, 0x10, 0x10, 0x00, 0x18, 0x52,
|
||||
0x5a, 0xb9, 0x4a, 0x7f, 0x76, 0x4a, 0x0d, 0x55, 0x7f, 0x09, 0x5a, 0x08, 0x3b, 0x2a, 0x01, 0xbb,
|
||||
0x02, 0xbe, 0x3d, 0xaf, 0x7d, 0x2d, 0x0b, 0x46, 0x1d, 0x0b, 0x46, 0xaf, 0x7d, 0x19, 0x35, 0xbe,
|
||||
0x01, 0xbb, 0x19, 0x07, 0x3b, 0x22, 0x0a, 0x53, 0x19, 0x0d, 0x55, 0x3a, 0x76, 0x4a, 0x69, 0x03,
|
||||
0x5c, 0x27, 0xc0, 0x3d, 0x09, 0x5a, 0x27, 0x08, 0x85, 0x3d, 0x2f, 0x7a, 0x5c, 0x30, 0x77, 0x51,
|
||||
0x05, 0x23, 0x0b, 0x46, 0x27, 0xaf, 0x7d, 0x2b, 0x89, 0x01, 0x62, 0x89, 0x01, 0x25, 0xac, 0x53,
|
||||
0x25, 0x6c, 0x05, 0x2b, 0x05, 0x39, 0x10, 0x10, 0x4c, 0x31, 0xb2, 0x2d, 0x87, 0x40, 0x6f, 0x69,
|
||||
0xc7, 0x35, 0x06, 0x0e, 0x5a, 0x87, 0x22, 0xaf, 0x4a, 0x87, 0x27, 0x89, 0x9c, 0x05, 0x7d, 0x69,
|
||||
0xc7, 0x35, 0x06, 0x58, 0x05, 0x69, 0x40, 0x4a, 0x06, 0x23, 0xd4, 0x40, 0x7d, 0x02, 0x87, 0x22,
|
||||
0x01, 0x33, 0x5c, 0x78, 0x1e, 0x1b, 0xaf, 0x3b, 0x41, 0x27, 0x01, 0x4a, 0x41, 0x27, 0x89, 0x41,
|
||||
0x22, 0xaf, 0x4a, 0x41, 0x3a, 0x35, 0x70, 0x53, 0x3d, 0x51, 0x0a, 0x69, 0x40, 0x5e, 0x05, 0x10,
|
||||
0x11, 0x1d, 0xb3, 0x08, 0xbd, 0x0e, 0x0b, 0x07, 0x01, 0x19, 0x09, 0x40, 0x5c, 0x05, 0x3d, 0x36,
|
||||
0x45, 0x03, 0x44, 0x01, 0x90, 0x58, 0x30, 0x52, 0x82, 0xba, 0x01, 0x0a, 0x2b, 0x35, 0x0f, 0x65,
|
||||
0x29, 0x07, 0x85, 0xa8, 0x57, 0xb9, 0x02, 0x62, 0x87, 0x2c, 0x7e, 0x0d, 0x49, 0xa8, 0x04, 0x73,
|
||||
0x70, 0xbc, 0x02, 0x0f, 0x65, 0x73, 0x52, 0x82, 0xba, 0x01, 0x0a, 0x3d, 0x36, 0x45, 0x03, 0x44,
|
||||
0x01, 0x90, 0x58, 0x69, 0x09, 0x40, 0x5c, 0x05, 0xb3, 0x08, 0xbd, 0x0e, 0x0b, 0x07, 0x01, 0x10,
|
||||
0x12, 0x4c, 0x7a, 0x8a, 0x0c, 0x09, 0x4e, 0x69, 0x51, 0x45, 0x41, 0x3a, 0x80, 0x06, 0x36, 0x7d,
|
||||
0x1e, 0xba, 0x76, 0x0e, 0x85, 0x2d, 0x2e, 0x25, 0x8b, 0x78, 0x2e, 0x2b, 0x0a, 0x5a, 0x00, 0x2e,
|
||||
0x2b, 0x05, 0x7d, 0x00, 0x2e, 0x25, 0x35, 0x4a, 0x00, 0x2e, 0x1b, 0xa3, 0x00, 0x2e, 0x1b, 0xa3,
|
||||
0x00, 0x2e, 0x25, 0x35, 0x4a, 0x00, 0x2e, 0x2b, 0x05, 0x7d, 0x00, 0x2e, 0x2b, 0x0a, 0x5a, 0x00,
|
||||
0x2e, 0x25, 0x8b, 0x78, 0x2e, 0xba, 0x76, 0x0e, 0x85, 0xba, 0xd4, 0xc5, 0x80, 0x06, 0x36, 0x7d,
|
||||
0x30, 0x51, 0x45, 0x30, 0xc2, 0x5c, 0x0c, 0x09, 0x4e, 0x10, 0x0f, 0x4c, 0x28, 0x86, 0x28, 0xa4,
|
||||
0x0f, 0x40, 0x19, 0x51, 0x19, 0xa4, 0x28, 0x9e, 0x10, 0x0e, 0x2d, 0x5d, 0x51, 0x19, 0x51, 0x19,
|
||||
0xa4, 0x40, 0x20, 0x28, 0x50, 0xae, 0x10, 0x13, 0x18, 0x90, 0x0d, 0x58, 0x5e, 0x4e, 0x69, 0x01,
|
||||
0x0a, 0x40, 0x5c, 0x05, 0x30, 0x75, 0x0e, 0x07, 0x4d, 0x35, 0x05, 0x09, 0x86, 0x30, 0x48, 0x6f,
|
||||
0xba, 0x01, 0x0a, 0x2b, 0x35, 0x5c, 0x02, 0x29, 0x52, 0xbc, 0x0b, 0x55, 0x73, 0x58, 0x01, 0x1d,
|
||||
0x3f, 0xd3, 0x2e, 0xba, 0xc3, 0x2b, 0x58, 0x78, 0x2e, 0x2b, 0x36, 0x57, 0x2e, 0x2b, 0x07, 0x85,
|
||||
0x00, 0x2e, 0x25, 0x35, 0x0f, 0x49, 0x2e, 0x23, 0x48, 0x82, 0x22, 0x1a, 0x30, 0x0c, 0x5c, 0x5f,
|
||||
0x44, 0x35, 0x05, 0x0b, 0x86, 0x3d, 0x48, 0x40, 0x4a, 0x04, 0x69, 0x03, 0x08, 0xbd, 0x0e, 0x0c,
|
||||
0x5f, 0x10, 0x12, 0x4c, 0x2e, 0x1e, 0x38, 0x1e, 0xbf, 0x5b, 0x30, 0x5b, 0x1e, 0xbf, 0x86, 0x2e,
|
||||
0x1e, 0x38, 0x10, 0x07, 0x27, 0xb5, 0xae, 0xae, 0x10, 0x07, 0x27, 0xb5, 0xae, 0xae, 0x29, 0x35,
|
||||
0x94, 0x06, 0x7d, 0x3c, 0x8c, 0x0e, 0x46, 0x1d, 0xe0, 0x39, 0x27, 0x87, 0x67, 0x01, 0x10, 0x10,
|
||||
0x4c, 0xba, 0x52, 0x53, 0x1e, 0x27, 0x52, 0x53, 0x41, 0x22, 0x48, 0x46, 0x87, 0x22, 0x48, 0x46,
|
||||
0x19, 0xc7, 0x48, 0x46, 0x19, 0xca, 0x0a, 0x86, 0x05, 0x22, 0x41, 0x0a, 0x86, 0x05, 0x22, 0x87,
|
||||
0x36, 0x59, 0x22, 0x87, 0x6a, 0x27, 0x87, 0x70, 0x53, 0x27, 0x41, 0x70, 0x5a, 0x1d, 0xca, 0x70,
|
||||
0x5a, 0x1d, 0xc7, 0x07, 0x6a, 0x19, 0xca, 0xaf, 0x6a, 0x19, 0xc7, 0xaf, 0x6a, 0x87, 0x22, 0xaf,
|
||||
0x0f, 0x3b, 0x41, 0x22, 0xaf, 0x0f, 0x3b, 0x1e, 0x62, 0x77, 0x0b, 0x10, 0x0d, 0x98, 0xae, 0xae,
|
||||
0x28, 0x9e, 0x10, 0x15, 0x4c, 0x53, 0x62, 0x07, 0x7a, 0x2e, 0x4a, 0x62, 0x0d, 0x7a, 0x2e, 0x0e,
|
||||
0x65, 0x27, 0x03, 0x4a, 0x86, 0x2e, 0x08, 0x85, 0x27, 0x09, 0x5a, 0x86, 0x2e, 0x03, 0x5c, 0x27,
|
||||
0xbb, 0x86, 0xba, 0xd0, 0x6c, 0x05, 0x22, 0x05, 0x39, 0x6e, 0xba, 0xd0, 0x06, 0x7d, 0x22, 0x0b,
|
||||
0x46, 0x6e, 0xba, 0xd0, 0x89, 0x01, 0x2d, 0x89, 0x01, 0x6e, 0x62, 0xca, 0x0a, 0x53, 0x2d, 0x07,
|
||||
0x3b, 0x50, 0x62, 0xca, 0x05, 0x39, 0x2d, 0x0c, 0x55, 0x50, 0x25, 0xc7, 0x0e, 0x65, 0x03, 0x5c,
|
||||
0x34, 0x25, 0xc7, 0x08, 0x85, 0x09, 0x5a, 0x34, 0x25, 0xc7, 0x03, 0x0f, 0x8a, 0x65, 0x34, 0x2e,
|
||||
0x22, 0x6c, 0x39, 0x1a, 0x2e, 0x22, 0x70, 0x53, 0x1a, 0x2e, 0x1e, 0x38, 0x1e, 0x10, 0x12, 0x4c,
|
||||
0x65, 0x3a, 0x1a, 0x1e, 0x7d, 0x3a, 0x1a, 0x1e, 0x0e, 0x65, 0x2d, 0x1a, 0x1e, 0x08, 0x7d, 0x2d,
|
||||
0x1a, 0x1e, 0x01, 0x58, 0x57, 0x1a, 0x2b, 0xd0, 0x07, 0x39, 0x00, 0x1a, 0x2b, 0xd0, 0x4f, 0x59,
|
||||
0x34, 0x23, 0xca, 0xa9, 0x1a, 0x30, 0xc7, 0x42, 0x05, 0x34, 0x2b, 0xd0, 0xaf, 0x4a, 0x34, 0x1e,
|
||||
0x22, 0x0d, 0x46, 0x50, 0x1e, 0x22, 0x05, 0x4a, 0x50, 0x1e, 0x1b, 0x0c, 0x53, 0x6e, 0x1e, 0x22,
|
||||
0x76, 0x5c, 0x89, 0x1e, 0x27, 0x0b, 0x53, 0x86, 0x1e, 0x27, 0x03, 0x5c, 0x86, 0x1e, 0xba, 0x0b,
|
||||
0x7a, 0x1e, 0xba, 0x03, 0x7a, 0x10, 0x13, 0xb6, 0x01, 0x3d, 0x6c, 0xb1, 0x82, 0x27, 0x72, 0x5a,
|
||||
0x25, 0x35, 0x0f, 0x65, 0x62, 0x8b, 0x02, 0x25, 0xac, 0x53, 0x25, 0x36, 0xa0, 0x25, 0x35, 0x4a,
|
||||
0x38, 0x1e, 0x25, 0xbb, 0x25, 0x35, 0x4a, 0x25, 0x36, 0x05, 0x2b, 0x05, 0x7d, 0x25, 0xac, 0x53,
|
||||
0xb7, 0x48, 0x82, 0x27, 0x72, 0x85, 0x23, 0x75, 0x45, 0x4d, 0x80, 0x08, 0x0e, 0x39, 0x3d, 0x01,
|
||||
0x0a, 0x40, 0x3b, 0x01, 0x19, 0x90, 0x0d, 0x8a, 0x0d, 0x5f, 0x10, 0x0e, 0x4c, 0x7a, 0x5c, 0x61,
|
||||
0x30, 0xd4, 0x40, 0x3b, 0x19, 0xc7, 0x01, 0x02, 0x52, 0x53, 0xa1, 0x47, 0x9c, 0x07, 0x39, 0x69,
|
||||
0xc7, 0x01, 0x02, 0x52, 0x53, 0x87, 0xc3, 0x7d, 0x69, 0xc2, 0x5c, 0x61, 0x2d, 0x87, 0xae, 0x10,
|
||||
0x13, 0xb6, 0x01, 0x3d, 0x6c, 0xb1, 0x82, 0x27, 0x72, 0x85, 0x25, 0x35, 0x0f, 0x65, 0x62, 0x8b,
|
||||
0x02, 0x25, 0xac, 0x53, 0x25, 0x36, 0xa0, 0x25, 0x35, 0x4a, 0x38, 0x1e, 0x25, 0x0d, 0x49, 0x25,
|
||||
0x35, 0x5c, 0x25, 0x36, 0x05, 0x2b, 0x05, 0x7d, 0x25, 0xac, 0x5a, 0xb7, 0x52, 0x82, 0x27, 0x72,
|
||||
0x3b, 0x30, 0x6c, 0x45, 0x4d, 0x80, 0x08, 0x58, 0x79, 0x30, 0x01, 0x0a, 0x40, 0x7d, 0x01, 0x19,
|
||||
0x90, 0x0d, 0x0e, 0x86, 0x39, 0x73, 0x83, 0x08, 0x73, 0x8b, 0x06, 0x73, 0x77, 0x04, 0x10, 0x11,
|
||||
0x4c, 0x7a, 0x5c, 0x0b, 0x06, 0x30, 0xd4, 0x40, 0x7d, 0x23, 0xd4, 0xc5, 0x33, 0x0e, 0x53, 0x87,
|
||||
0x27, 0xa9, 0x00, 0x41, 0xa3, 0x9c, 0xa9, 0x69, 0xc7, 0x35, 0x70, 0x46, 0x87, 0xc3, 0x5a, 0x23,
|
||||
0xd4, 0x40, 0x6f, 0x19, 0xc7, 0x8c, 0x0d, 0x7d, 0x00, 0x87, 0x1b, 0x83, 0x05, 0xa1, 0x00, 0x0e,
|
||||
0x65, 0x41, 0x27, 0x08, 0x85, 0x41, 0x1b, 0x35, 0x5c, 0x01, 0x1e, 0x62, 0x0b, 0x46, 0x1e, 0x62,
|
||||
0x05, 0x39, 0x10, 0x0f, 0x20, 0xb3, 0x0a, 0x42, 0x4a, 0x0b, 0x07, 0x03, 0x19, 0x08, 0x28, 0x77,
|
||||
0x08, 0x4d, 0x35, 0x04, 0x08, 0x0d, 0x69, 0x0b, 0x46, 0x73, 0x58, 0x01, 0x62, 0x87, 0x01, 0x73,
|
||||
0x0c, 0x46, 0x3c, 0xaf, 0x6a, 0x03, 0x29, 0x08, 0x7a, 0x39, 0x09, 0x05, 0x2a, 0x8e, 0x7a, 0x4a,
|
||||
0x04, 0x7f, 0x60, 0x07, 0x42, 0x65, 0x73, 0x0a, 0x9d, 0x02, 0x5c, 0x92, 0xa9, 0x3d, 0x67, 0x05,
|
||||
0x02, 0x44, 0x80, 0x48, 0x59, 0x1e, 0x40, 0x5a, 0x69, 0x33, 0x0a, 0x0d, 0x0e, 0x5c, 0x0c, 0x09,
|
||||
0x03, 0x10, 0x0f, 0x5d, 0x9e, 0xcb, 0x2e, 0x51, 0xc7, 0x87, 0x2c, 0xae, 0xae, 0x10, 0x12, 0x4c,
|
||||
0xbf, 0x86, 0xbf, 0x86, 0x2e, 0x1e, 0x01, 0xba, 0x89, 0x30, 0x0d, 0x49, 0x27, 0x35, 0x4a, 0x30,
|
||||
0x0b, 0x46, 0x1b, 0xaf, 0x7d, 0x2b, 0xaf, 0x0f, 0x79, 0x1b, 0x63, 0x46, 0x3d, 0x0d, 0x39, 0x05,
|
||||
0x44, 0x8c, 0x0c, 0x4a, 0x69, 0x72, 0x40, 0x82, 0x19, 0x8f, 0xbd, 0xb2, 0x01, 0x10, 0x10, 0x5d,
|
||||
0x6c, 0x05, 0x2b, 0x05, 0x39, 0x25, 0xac, 0x53, 0x25, 0x89, 0x01, 0x62, 0x89, 0x01, 0x2b, 0x0b,
|
||||
0x53, 0x27, 0xaf, 0x7d, 0x23, 0x05, 0x39, 0x62, 0x6c, 0x05, 0x30, 0x0e, 0x65, 0x27, 0x03, 0x5c,
|
||||
0x3d, 0x09, 0x5a, 0x27, 0x08, 0x85, 0x3d, 0x03, 0x5c, 0x27, 0xc0, 0x69, 0x0d, 0x55, 0x3a, 0x76,
|
||||
0x4a, 0x19, 0x07, 0x3b, 0x22, 0x0a, 0x53, 0x69, 0x35, 0x86, 0x01, 0x2d, 0x01, 0xbb, 0x20, 0x0b,
|
||||
0x46, 0xaf, 0x7d, 0x1d, 0xa9, 0x2d, 0x0b, 0x46, 0x1d, 0x01, 0xbb, 0x02, 0xbe, 0x20, 0x09, 0x5a,
|
||||
0x07, 0x3b, 0x2a, 0x76, 0x4a, 0x0d, 0x55, 0x3c, 0x42, 0x4a, 0x29, 0x52, 0x5a, 0x10, 0x18, 0x00,
|
||||
0x5d, 0xc0, 0x27, 0x48, 0x3b, 0x27, 0x03, 0x4a, 0x3a, 0x0a, 0x46, 0x27, 0x6c, 0x4a, 0x22, 0xaf,
|
||||
0x3b, 0x00, 0xaf, 0x3b, 0xa3, 0xbb, 0x1b, 0x0a, 0x46, 0x2d, 0x35, 0x4a, 0x1b, 0x05, 0x7d, 0x36,
|
||||
0x05, 0x1b, 0x0d, 0x49, 0x22, 0xbb, 0x22, 0x08, 0x5a, 0x07, 0x85, 0x3a, 0x35, 0x5c, 0x1b, 0x0a,
|
||||
0x46, 0x22, 0x0c, 0x55, 0x04, 0x39, 0x2d, 0xaf, 0x3b, 0x3a, 0xaf, 0x85, 0x3a, 0x89, 0x01, 0x89,
|
||||
0x01, 0x3a, 0x09, 0x46, 0x1b, 0x03, 0x4a, 0x2d, 0x76, 0x39, 0x2d, 0x0c, 0x55, 0x3a, 0xc0, 0x27,
|
||||
0xbb, 0x2d, 0x70, 0x37, 0x52, 0x37, 0x02, 0x5c, 0xba, 0x36, 0x05, 0x2d, 0x36, 0x54, 0x7d, 0x2d,
|
||||
0x05, 0x7d, 0xba, 0x07, 0x85, 0x2d, 0x58, 0x01, 0x2d, 0x47, 0x2d, 0x09, 0x53, 0xba, 0x03, 0x4a,
|
||||
0x00, 0x03, 0x4a, 0x22, 0xc0, 0x00, 0xc0, 0x62, 0x58, 0x8f, 0x85, 0x22, 0x09, 0x53, 0x47, 0x25,
|
||||
0x36, 0x05, 0x0a, 0x46, 0x2d, 0xaf, 0x3b, 0x05, 0x7d, 0x25, 0x07, 0x85, 0xbb, 0x3a, 0x35, 0x5c,
|
||||
0x09, 0x53, 0x62, 0x76, 0x5c, 0x5c, 0x27, 0x58, 0x58, 0x57, 0x2e, 0x3b, 0x27, 0x0a, 0x7a, 0x23,
|
||||
0x36, 0x46, 0x27, 0x70, 0x7d, 0x10, 0x11, 0x2d, 0x5d, 0x0a, 0x7d, 0x62, 0x0b, 0x3b, 0x23, 0x4f,
|
||||
0x59, 0x1b, 0xab, 0x2b, 0xaf, 0xbe, 0x2d, 0x8b, 0x04, 0x69, 0x0b, 0x3b, 0x22, 0x0c, 0x5a, 0x19,
|
||||
0x83, 0x04, 0x2d, 0x08, 0x39, 0x1d, 0xab, 0x88, 0x03, 0x2a, 0x0c, 0x85, 0x0d, 0x53, 0x2a, 0x35,
|
||||
0x86, 0x7d, 0x29, 0x48, 0x49, 0x3c, 0x83, 0x5a, 0x3c, 0x36, 0x36, 0x65, 0x2a, 0xab, 0x08, 0x39,
|
||||
0x1d, 0x8b, 0x57, 0x63, 0x53, 0x20, 0x6c, 0x37, 0x76, 0x5c, 0x02, 0x69, 0x08, 0x39, 0x1b, 0x09,
|
||||
0x7d, 0x3d, 0x88, 0x03, 0x1b, 0x63, 0x46, 0x23, 0x63, 0x53, 0xba, 0x05, 0xbe, 0x62, 0x0a, 0x7d,
|
||||
0x25, 0x0a, 0x3b, 0x10, 0x0f, 0x5d, 0x0a, 0x3b, 0x62, 0x0a, 0x3b, 0x23, 0x83, 0x05, 0x27, 0x05,
|
||||
0x5c, 0x02, 0x2b, 0xaf, 0xbe, 0x2d, 0x4f, 0x46, 0x69, 0x0c, 0x85, 0x22, 0x09, 0x7d, 0x69, 0x35,
|
||||
0x86, 0x57, 0x76, 0x0f, 0x49, 0x20, 0x07, 0x4a, 0x2d, 0x0d, 0x53, 0x2a, 0x0d, 0x5a, 0x08, 0x4a,
|
||||
0x22, 0xb3, 0x7a, 0x65, 0x3c, 0x09, 0x6a, 0x29, 0x89, 0x01, 0x62, 0x87, 0xae, 0x10, 0x10, 0x5d,
|
||||
0xfe, 0x5b, 0xba, 0xd4, 0x5b, 0x29, 0x83, 0x07, 0x3c, 0x75, 0x0a, 0x29, 0x0a, 0x97, 0x3a, 0x75,
|
||||
0x0a, 0x29, 0x0a, 0x97, 0x3a, 0x63, 0x3b, 0x29, 0x0a, 0x0f, 0x6f, 0x3c, 0x07, 0x5c, 0x02, 0x1d,
|
||||
0xd4, 0x5b, 0xba, 0xd4, 0x5b, 0x10, 0x09, 0x4c, 0x7a, 0x7f, 0xc2, 0x3c, 0xa4, 0xb5, 0xae, 0x7a,
|
||||
0x7f, 0xc2, 0x10, 0x08, 0x5d, 0xc0, 0x73, 0x08, 0x5a, 0x29, 0x76, 0x39, 0x7e, 0xbb, 0x73, 0x0a,
|
||||
0x46, 0x3c, 0xaf, 0x9d, 0x47, 0x01, 0x73, 0x0c, 0x55, 0x73, 0x70, 0xbc, 0x03, 0x4a, 0x7e, 0xc0,
|
||||
0x73, 0x09, 0x53, 0x73, 0x05, 0x39, 0x73, 0x89, 0x01, 0xa8, 0x06, 0x3c, 0xaf, 0x3b, 0x29, 0x35,
|
||||
0x5c, 0x7e, 0x0c, 0x55, 0x73, 0x08, 0x5a, 0xba, 0xb3, 0x4a, 0x10, 0x09, 0x4c, 0x7a, 0x7f, 0xc2,
|
||||
0x9f, 0xae, 0xae, 0x7f, 0xc2, 0x7f, 0xc2, 0x10, 0x14, 0x3a, 0x18, 0x83, 0x0e, 0x02, 0x7f, 0x72,
|
||||
0x7a, 0x82, 0x1d, 0x63, 0x4a, 0x04, 0x42, 0x79, 0x19, 0x75, 0x82, 0x35, 0x42, 0x6f, 0x69, 0x36,
|
||||
0x82, 0x3a, 0x72, 0x7d, 0x3d, 0x0a, 0x0f, 0x6f, 0x1b, 0x75, 0x09, 0x23, 0x52, 0x6f, 0xba, 0x75,
|
||||
0x08, 0x10, 0x0c, 0x4b, 0x6b, 0x43, 0xd4, 0x9e, 0x25, 0xd4, 0x9e, 0x10, 0x0c, 0x22, 0xab, 0x73,
|
||||
0x07, 0x7d, 0x7e, 0x07, 0x3b, 0x7e, 0x07, 0x5a, 0x10, 0x0e, 0x3a, 0x6b, 0x03, 0x08, 0xbd, 0x0e,
|
||||
0x61, 0x1d, 0x40, 0x5a, 0x20, 0x0c, 0x06, 0x4d, 0x35, 0x70, 0x55, 0x3c, 0xaf, 0x3b, 0x73, 0x01,
|
||||
0x4a, 0x19, 0x8f, 0x0b, 0x2f, 0x69, 0x72, 0x28, 0x0a, 0x39, 0x05, 0x7b, 0x34, 0x69, 0xbb, 0x1b,
|
||||
0x8b, 0x87, 0x02, 0x1b, 0x0a, 0x86, 0x69, 0x0b, 0x39, 0x4d, 0x60, 0x0b, 0x7a, 0x69, 0x03, 0xc3,
|
||||
0x5a, 0x86, 0xb3, 0x0a, 0x0e, 0x5c, 0x0b, 0x04, 0x6e, 0x10, 0x0f, 0x98, 0x9f, 0x00, 0x05, 0xad,
|
||||
0xa2, 0xa3, 0x3d, 0x96, 0x03, 0x00, 0x41, 0x05, 0xad, 0x02, 0x10, 0x0d, 0x22, 0x6b, 0x8f, 0xbd,
|
||||
0x5e, 0x04, 0x20, 0x72, 0x40, 0x19, 0x63, 0x4a, 0x05, 0x01, 0x35, 0x05, 0x0b, 0x19, 0xab, 0x29,
|
||||
0x36, 0x05, 0x73, 0x58, 0x01, 0x62, 0x87, 0x7e, 0x58, 0x01, 0xa8, 0x05, 0x3c, 0xaf, 0x0f, 0x79,
|
||||
0x29, 0x63, 0x4a, 0x05, 0x01, 0x35, 0x05, 0x0b, 0x20, 0x72, 0x40, 0x1d, 0x8f, 0xbd, 0x5e, 0x04,
|
||||
0x10, 0x0f, 0x25, 0x4c, 0xb5, 0x19, 0xa5, 0x9a, 0x3d, 0x95, 0xa6, 0x61, 0x6e, 0x10, 0x0e, 0x3a,
|
||||
0x6b, 0xaf, 0x0b, 0x58, 0x5e, 0x03, 0x19, 0x35, 0x0c, 0xc3, 0x46, 0x19, 0x0c, 0x7d, 0x04, 0x7b,
|
||||
0x02, 0x52, 0x65, 0x23, 0xaf, 0x7d, 0x27, 0x08, 0x85, 0x3d, 0x0b, 0x55, 0x1b, 0x35, 0x4a, 0x3d,
|
||||
0x0e, 0x9e, 0x25, 0xd4, 0x9e, 0x3d, 0xbb, 0x73, 0x6c, 0x05, 0x73, 0xab, 0x29, 0x63, 0x39, 0x05,
|
||||
0x44, 0x80, 0x07, 0x0c, 0x69, 0x35, 0x42, 0x40, 0x20, 0x8f, 0x0b, 0x58, 0x66, 0x03, 0x10, 0x08,
|
||||
0x4b, 0x05, 0x0b, 0x0e, 0x86, 0x7f, 0x05, 0x24, 0x7f, 0x6c, 0xa7, 0x29, 0xc3, 0xc7, 0x87, 0xc3,
|
||||
0x7f, 0xa4, 0xb5, 0x10, 0x0f, 0x22, 0x6b, 0x6d, 0x42, 0x9a, 0x3d, 0x63, 0x39, 0x68, 0x60, 0x0c,
|
||||
0x7a, 0x3d, 0x07, 0x39, 0x27, 0x7c, 0x3d, 0x6c, 0x05, 0x27, 0x77, 0x3d, 0x58, 0x56, 0x64, 0x0f,
|
||||
0x56, 0x3d, 0x6c, 0x05, 0x27, 0x77, 0x3d, 0x07, 0x39, 0x27, 0x7c, 0x3d, 0x4f, 0x39, 0x68, 0x60,
|
||||
0x0c, 0x7a, 0xa6, 0x61, 0x47, 0x29, 0x76, 0x39, 0xa8, 0x08, 0x19, 0x61, 0x7b, 0x60, 0x0b, 0x5c,
|
||||
0x78, 0x87, 0xc3, 0x05, 0x20, 0x90, 0x0d, 0x58, 0x71, 0x03, 0x10, 0x0f, 0x98, 0x9f, 0x76, 0xad,
|
||||
0x9b, 0x86, 0xb8, 0x1f, 0x10, 0x07, 0x98, 0x81, 0x26, 0xb5, 0xae, 0x10, 0x07, 0x98, 0x81, 0xae,
|
||||
0xae, 0x1d, 0xa3, 0x29, 0x01, 0x08, 0x3b, 0x2a, 0xe0, 0x55, 0x3c, 0x5c, 0x0c, 0x04, 0x10, 0x0e,
|
||||
0x98, 0x9f, 0x22, 0x75, 0x59, 0x3d, 0xc7, 0x75, 0x59, 0x3d, 0xca, 0x75, 0x0e, 0x04, 0x3a, 0x41,
|
||||
0x72, 0x5c, 0x03, 0x3a, 0x87, 0x72, 0x5c, 0x03, 0x22, 0x87, 0x42, 0x82, 0x1b, 0x87, 0x58, 0x6f,
|
||||
0x19, 0xd4, 0x49, 0x42, 0x82, 0x1b, 0x41, 0x75, 0x0d, 0x03, 0x20, 0xca, 0x01, 0x0b, 0x5c, 0x03,
|
||||
0x30, 0xd4, 0xc5, 0x0a, 0x5c, 0x57, 0x87, 0x1b, 0x48, 0x46, 0x87, 0x27, 0x52, 0x53, 0x10, 0x06,
|
||||
0x27, 0xb5, 0xae, 0xae, 0x10, 0x18, 0x6b, 0x34, 0x76, 0xad, 0x78, 0x76, 0x0a, 0x58, 0x71, 0x01,
|
||||
0x2d, 0xd4, 0x5a, 0x24, 0x5c, 0x33, 0x24, 0x4a, 0x44, 0x1a, 0x7d, 0x68, 0x8c, 0x0e, 0x4a, 0x7d,
|
||||
0x68, 0x8c, 0x58, 0x37, 0xec, 0x3b, 0x1b, 0x77, 0x0a, 0x1b, 0x05, 0x39, 0x00, 0xd4, 0x65, 0x1b,
|
||||
0x89, 0x03, 0xa3, 0x3f, 0xb0, 0xb0, 0xb0, 0x3a, 0xd4, 0xc5, 0xca, 0x3f, 0x10, 0x0f, 0x6b, 0x34,
|
||||
0x76, 0xad, 0x9b, 0x86, 0xb8, 0x1f, 0x10, 0x0e, 0x22, 0x6b, 0x01, 0x08, 0x0c, 0x0e, 0x66, 0x44,
|
||||
0xb3, 0x2f, 0x0e, 0x03, 0x69, 0x63, 0x39, 0x68, 0x60, 0x6c, 0x79, 0x3d, 0xab, 0x22, 0x63, 0x53,
|
||||
0x3d, 0x6c, 0x05, 0x27, 0x05, 0x7d, 0x3d, 0x58, 0x44, 0xa3, 0x64, 0x0f, 0x44, 0xa3, 0x3d, 0x6c,
|
||||
0x05, 0x27, 0x05, 0x39, 0x3d, 0x70, 0x6f, 0x22, 0x63, 0x53, 0x3d, 0x4f, 0x39, 0x68, 0x60, 0x6c,
|
||||
0x79, 0x69, 0x03, 0x2f, 0x0e, 0x03, 0x20, 0x01, 0x08, 0x0d, 0x8a, 0x67, 0x01, 0x10, 0x0f, 0x00,
|
||||
0x6b, 0xd0, 0x05, 0xad, 0xa2, 0xa3, 0x3d, 0x96, 0x03, 0x00, 0x41, 0x05, 0xad, 0x78, 0x87, 0xb5,
|
||||
0x10, 0x0f, 0x22, 0x6b, 0xa5, 0x9a, 0x3d, 0x95, 0xa6, 0x61, 0x6e, 0x2c, 0xb5, 0x10, 0x0a, 0x6b,
|
||||
0x34, 0x76, 0x0a, 0x0d, 0xc7, 0x87, 0x08, 0x7a, 0xc7, 0x87, 0x7d, 0x68, 0x19, 0xd4, 0x9d, 0x0f,
|
||||
0x55, 0x62, 0x87, 0x01, 0x73, 0xa4, 0x10, 0x0c, 0x3a, 0x6b, 0x03, 0x0a, 0x42, 0x4a, 0x5f, 0x20,
|
||||
0x88, 0xc3, 0x20, 0x0c, 0x7d, 0x4d, 0x35, 0x06, 0x0b, 0x2d, 0x87, 0x44, 0xb9, 0x07, 0x73, 0x70,
|
||||
0x5c, 0x0b, 0x08, 0x04, 0x1d, 0xaf, 0x0d, 0x7a, 0x5c, 0x07, 0x2a, 0x35, 0x05, 0x08, 0x6c, 0x53,
|
||||
0x73, 0x05, 0x94, 0x47, 0x19, 0x74, 0x04, 0x44, 0x80, 0x0b, 0x39, 0x19, 0x40, 0x5c, 0x03, 0xb3,
|
||||
0x08, 0x0b, 0x58, 0x66, 0x01, 0x10, 0x09, 0x4b, 0xb5, 0x29, 0xc3, 0xc7, 0x87, 0xc3, 0x7f, 0xa4,
|
||||
0x7e, 0x58, 0x01, 0x73, 0x0c, 0x53, 0x01, 0x29, 0x07, 0x24, 0x3c, 0x07, 0x0d, 0x7a, 0x10, 0x0f,
|
||||
0x91, 0x5a, 0x86, 0x19, 0xa5, 0x0e, 0x0b, 0x04, 0x6e, 0x10, 0x0f, 0x2d, 0x6b, 0x6c, 0x05, 0xba,
|
||||
0x05, 0x39, 0x2b, 0xaf, 0x7d, 0xba, 0x0b, 0x46, 0x30, 0x89, 0x02, 0x22, 0x35, 0x86, 0x01, 0x3d,
|
||||
0x0a, 0x53, 0x1b, 0x07, 0x3b, 0x3d, 0x76, 0x4a, 0x1b, 0x0d, 0x55, 0x19, 0x0d, 0x55, 0x2d, 0x76,
|
||||
0x4a, 0x20, 0x07, 0x3b, 0x3a, 0x0a, 0x53, 0x19, 0x35, 0x86, 0x44, 0x89, 0x02, 0x1d, 0x0b, 0x46,
|
||||
0x00, 0x06, 0x7d, 0x2a, 0x05, 0x39, 0x00, 0x6c, 0x05, 0x7f, 0x0e, 0x46, 0x5c, 0x3c, 0x08, 0x5c,
|
||||
0x5a, 0x3c, 0x8b, 0x65, 0x10, 0x14, 0x2d, 0x6b, 0xc0, 0x22, 0x09, 0x6a, 0x22, 0x03, 0x4a, 0xba,
|
||||
0x09, 0x53, 0x22, 0x42, 0x4a, 0x22, 0x07, 0x85, 0xba, 0x05, 0x7d, 0x2d, 0x35, 0x5c, 0xbb, 0x3a,
|
||||
0x36, 0x05, 0xba, 0x89, 0x01, 0xaf, 0x3b, 0x0a, 0x46, 0x2d, 0x89, 0x01, 0x62, 0x0c, 0x55, 0x2d,
|
||||
0x0a, 0x46, 0x06, 0x3b, 0x00, 0x76, 0x39, 0x25, 0x52, 0x37, 0xbb, 0x02, 0x5c, 0x2d, 0x08, 0x5a,
|
||||
0x62, 0x76, 0x39, 0x00, 0x03, 0x4a, 0x2d, 0xc0, 0x00, 0x0c, 0x55, 0x2b, 0x58, 0x8f, 0x85, 0x2d,
|
||||
0x09, 0x53, 0x47, 0x23, 0x36, 0x05, 0x36, 0x54, 0x0f, 0x61, 0x7d, 0x25, 0xaf, 0x3b, 0x86, 0x01,
|
||||
0x2d, 0x89, 0x0a, 0x46, 0x2b, 0x35, 0x86, 0x39, 0x22, 0x7c, 0x49, 0x30, 0x42, 0x5a, 0x22, 0x52,
|
||||
0x4a, 0x3d, 0x48, 0x55, 0x3a, 0x76, 0x6a, 0x10, 0x0f, 0x2d, 0x6b, 0x48, 0x79, 0x1b, 0x63, 0x85,
|
||||
0x3d, 0x0b, 0x7d, 0x1b, 0x0b, 0x7d, 0x69, 0x63, 0x85, 0x3a, 0x48, 0x79, 0xb3, 0x0e, 0x46, 0x00,
|
||||
0x06, 0x5c, 0x03, 0x1d, 0x77, 0x70, 0x59, 0x2a, 0x08, 0x86, 0x5a, 0x3c, 0x8b, 0x49, 0x7f, 0x63,
|
||||
0x5c, 0x7d, 0x7f, 0x0a, 0x39, 0x72, 0x5a, 0x19, 0xaf, 0x5c, 0x78, 0x8b, 0x05, 0x19, 0x8b, 0x05,
|
||||
0x3a, 0x07, 0x5c, 0x02, 0x3d, 0x63, 0x85, 0x1b, 0x0a, 0x39, 0x3d, 0x09, 0x39, 0x27, 0x63, 0x85,
|
||||
0x10, 0x0f, 0x2d, 0x6b, 0x6c, 0x05, 0xba, 0xa9, 0x30, 0xa9, 0xba, 0x6c, 0x05, 0x30, 0x4f, 0x65,
|
||||
0x22, 0x76, 0x5c, 0x69, 0x08, 0x85, 0x1b, 0x0a, 0x5a, 0x3d, 0x35, 0xbe, 0x00, 0x89, 0x02, 0x19,
|
||||
0x0b, 0x46, 0x3a, 0x08, 0x3b, 0x20, 0x05, 0x4a, 0x3a, 0x0e, 0x55, 0x1d, 0x42, 0x57, 0x05, 0x39,
|
||||
0x2a, 0x07, 0x3b, 0x00, 0x0c, 0x46, 0x1d, 0x35, 0x0f, 0x55, 0xbe, 0x1d, 0x0a, 0x5c, 0x5a, 0x3c,
|
||||
0x88, 0x49, 0xb9, 0x0a, 0x73, 0x0d, 0x55, 0x3c, 0x76, 0x4a, 0x27, 0xb3, 0x0c, 0x46, 0x1d, 0xe0,
|
||||
0x39, 0x20, 0xd4, 0x5c, 0x09, 0x01, 0x10, 0x0d, 0x6b, 0x50, 0x28, 0x9e, 0x29, 0x88, 0x07, 0x1b,
|
||||
0xb3, 0x0e, 0x5a, 0x3c, 0x83, 0x0a, 0x3c, 0x63, 0x7d, 0x3c, 0x75, 0x6f, 0x3c, 0x36, 0x79, 0x3c,
|
||||
0x0a, 0x5c, 0x02, 0x3c, 0x08, 0x5c, 0x03, 0x3c, 0x70, 0x55, 0xba, 0x87, 0x28, 0x9e, 0x10, 0x0f,
|
||||
0x3a, 0x18, 0x07, 0xbd, 0x3c, 0x07, 0x31, 0x3c, 0x6c, 0xa7, 0x26, 0x73, 0x89, 0x29, 0x76, 0x4a,
|
||||
0x3c, 0x80, 0x0c, 0x85, 0x1d, 0xe0, 0x7d, 0x01, 0x1d, 0xe0, 0x3b, 0x01, 0x3c, 0x60, 0x6c, 0xbc,
|
||||
0x03, 0x4a, 0xb5, 0x7e, 0x58, 0x01, 0x73, 0x0c, 0x5a, 0x01, 0x29, 0x07, 0x31, 0x29, 0x07, 0xbd,
|
||||
0x10, 0x08, 0x00, 0x98, 0xae, 0xae, 0xae, 0x10, 0x0f, 0x5d, 0xec, 0xb2, 0x7f, 0xe0, 0x53, 0x29,
|
||||
0x01, 0x08, 0x39, 0x1d, 0xa3, 0xb5, 0x01, 0x73, 0xc0, 0x73, 0x0a, 0x39, 0x4d, 0x3c, 0x01, 0x0a,
|
||||
0x31, 0x7f, 0x01, 0x0a, 0x31, 0x7f, 0x09, 0x39, 0x68, 0x3c, 0xc0, 0x62, 0x87, 0x9f, 0x1d, 0xa3,
|
||||
0x29, 0x01, 0x08, 0x39, 0x2a, 0xe0, 0x53, 0x20, 0xd4, 0xb2, 0x10, 0x14, 0x23, 0x18, 0x81, 0x6b,
|
||||
0x01, 0x23, 0x6d, 0x42, 0x67, 0x02, 0x1b, 0x01, 0x0c, 0x62, 0xaf, 0x2f, 0x0a, 0x68, 0x01, 0x06,
|
||||
0x58, 0x2b, 0x39, 0x05, 0x01, 0x60, 0x0a, 0xc3, 0x46, 0x2b, 0x07, 0x27, 0x8e, 0x4a, 0x8d, 0x10,
|
||||
};
|
||||
|
||||
static const uint16_t mf_rlefont_DejaVuSans24_aa_glyph_offsets_0[95] = {
|
||||
0x0000, 0x0003, 0x0015, 0x001d, 0x0077, 0x00d4, 0x0174, 0x01dd,
|
||||
0x01e1, 0x021d, 0x0251, 0x0282, 0x028f, 0x0299, 0x02a2, 0x02a7,
|
||||
0x02de, 0x0337, 0x034b, 0x0389, 0x03d2, 0x040b, 0x0440, 0x049d,
|
||||
0x04cf, 0x0539, 0x0598, 0x05a0, 0x05ad, 0x05d6, 0x05e5, 0x060c,
|
||||
0x063e, 0x06fc, 0x0757, 0x07a0, 0x07f0, 0x084a, 0x0859, 0x0867,
|
||||
0x08c2, 0x08d3, 0x08d9, 0x08ef, 0x093c, 0x0943, 0x09ae, 0x0a06,
|
||||
0x0a4b, 0x0a70, 0x0abf, 0x0b03, 0x0b52, 0x0b5e, 0x0b8e, 0x0bee,
|
||||
0x0c96, 0x0cf4, 0x0d2e, 0x0d56, 0x0d63, 0x0d9b, 0x0da8, 0x0dd2,
|
||||
0x0ddc, 0x0de9, 0x0e2a, 0x0e3b, 0x0e71, 0x0e7e, 0x0ebf, 0x0ed4,
|
||||
0x0f1b, 0x0f25, 0x0f2c, 0x0f3f, 0x0f7f, 0x0f85, 0x0fbd, 0x0fc7,
|
||||
0x100e, 0x1021, 0x102e, 0x1047, 0x1086, 0x109f, 0x10aa, 0x10f5,
|
||||
0x1168, 0x11b1, 0x1207, 0x122f, 0x1261, 0x1268, 0x129b,
|
||||
};
|
||||
|
||||
static const struct mf_rlefont_char_range_s mf_rlefont_DejaVuSans24_aa_char_ranges[] = {
|
||||
{32, 95, mf_rlefont_DejaVuSans24_aa_glyph_offsets_0, mf_rlefont_DejaVuSans24_aa_glyph_data_0},
|
||||
};
|
||||
|
||||
const struct mf_rlefont_s mf_rlefont_DejaVuSans24_aa = {
|
||||
{
|
||||
"DejaVu Sans Book 24",
|
||||
"DejaVuSans24_aa",
|
||||
25, /* width */
|
||||
25, /* height */
|
||||
6, /* min x advance */
|
||||
24, /* max x advance */
|
||||
2, /* baseline x */
|
||||
19, /* baseline y */
|
||||
28, /* line height */
|
||||
0, /* flags */
|
||||
63, /* fallback character */
|
||||
&mf_rlefont_character_width,
|
||||
&mf_rlefont_render_character,
|
||||
},
|
||||
4, /* version */
|
||||
mf_rlefont_DejaVuSans24_aa_dictionary_data,
|
||||
mf_rlefont_DejaVuSans24_aa_dictionary_offsets,
|
||||
121, /* rle dict count */
|
||||
169, /* total dict count */
|
||||
1, /* char range count */
|
||||
mf_rlefont_DejaVuSans24_aa_char_ranges,
|
||||
};
|
||||
|
||||
#ifdef MF_INCLUDED_FONTS
|
||||
/* List entry for searching fonts by name. */
|
||||
static const struct mf_font_list_s mf_rlefont_DejaVuSans24_aa_listentry = {
|
||||
MF_INCLUDED_FONTS,
|
||||
(struct mf_font_s*)&mf_rlefont_DejaVuSans24_aa
|
||||
};
|
||||
#undef MF_INCLUDED_FONTS
|
||||
#define MF_INCLUDED_FONTS (&mf_rlefont_DejaVuSans24_aa_listentry)
|
||||
#endif
|
||||
|
||||
|
||||
/* End of automatically generated font definition for DejaVuSans24_aa. */
|
||||
|
291
src/gdisp/fonts/DejaVuSans32.c
Normal file
291
src/gdisp/fonts/DejaVuSans32.c
Normal file
@ -0,0 +1,291 @@
|
||||
|
||||
|
||||
/* Start of automatically generated font definition for DejaVuSans32. */
|
||||
|
||||
#ifndef MF_RLEFONT_INTERNALS
|
||||
#define MF_RLEFONT_INTERNALS
|
||||
#endif
|
||||
#include "mf_rlefont.h"
|
||||
|
||||
#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
|
||||
#error The font file is not compatible with this version of mcufont.
|
||||
#endif
|
||||
|
||||
static const uint8_t mf_rlefont_DejaVuSans32_dictionary_data[578] = {
|
||||
0x06, 0x83, 0x1e, 0x82, 0x03, 0x0c, 0x80, 0x09, 0x8b, 0x84, 0x0e, 0x80, 0x82, 0x0c, 0x80, 0x05,
|
||||
0x83, 0x16, 0x83, 0x93, 0x0d, 0x87, 0x83, 0x11, 0x81, 0x1c, 0x87, 0x17, 0x80, 0x01, 0x1e, 0x82,
|
||||
0x1e, 0x82, 0x1b, 0x81, 0x07, 0x82, 0x06, 0x06, 0x82, 0x03, 0x0b, 0x82, 0x08, 0x03, 0x82, 0x85,
|
||||
0x08, 0x11, 0x83, 0x05, 0x11, 0x8f, 0x11, 0x80, 0x01, 0x82, 0x91, 0x0e, 0x92, 0x16, 0x1a, 0x82,
|
||||
0x10, 0x82, 0x80, 0x12, 0x04, 0x83, 0x8f, 0x18, 0x82, 0x11, 0x82, 0x0a, 0x82, 0x11, 0x82, 0x0a,
|
||||
0x82, 0x11, 0x82, 0x0a, 0x82, 0x15, 0x0f, 0x0a, 0x83, 0x12, 0x0d, 0x82, 0x03, 0x08, 0x83, 0x05,
|
||||
0x40, 0x07, 0x1e, 0x83, 0x11, 0x82, 0x05, 0x46, 0x05, 0x82, 0x0f, 0x04, 0x82, 0x0b, 0x8e, 0x0f,
|
||||
0x0b, 0x81, 0x1a, 0x83, 0x87, 0x1f, 0x81, 0x13, 0x88, 0x0d, 0x07, 0x83, 0x14, 0x83, 0x14, 0x82,
|
||||
0x81, 0x19, 0x89, 0x16, 0x89, 0x80, 0x14, 0x82, 0x81, 0x01, 0x82, 0x08, 0x82, 0x02, 0x80, 0x1f,
|
||||
0x82, 0x0d, 0x82, 0x0e, 0x82, 0x0d, 0x82, 0x0e, 0x80, 0x16, 0x82, 0x04, 0x04, 0x82, 0x81, 0x13,
|
||||
0x8c, 0x8a, 0x01, 0x01, 0x83, 0x17, 0x18, 0x8a, 0x16, 0x8b, 0x15, 0x81, 0x05, 0x13, 0x83, 0x17,
|
||||
0x01, 0x81, 0x41, 0x17, 0x1d, 0x19, 0x43, 0x08, 0x08, 0x82, 0x06, 0x81, 0x0f, 0x82, 0x0c, 0x82,
|
||||
0x0f, 0x82, 0x0c, 0x82, 0x0f, 0x82, 0x0a, 0x81, 0x14, 0x08, 0x82, 0x02, 0x86, 0x04, 0x80, 0x02,
|
||||
0x82, 0x80, 0x01, 0x80, 0x40, 0x28, 0x27, 0x27, 0x27, 0x27, 0x18, 0xd3, 0x21, 0x6a, 0x51, 0x5a,
|
||||
0x24, 0xeb, 0xa4, 0xd3, 0x3f, 0x3b, 0x3b, 0x1e, 0xcb, 0x3b, 0x56, 0x52, 0x2b, 0x64, 0x44, 0x30,
|
||||
0x2b, 0x64, 0x44, 0x30, 0x2b, 0x64, 0x44, 0x30, 0x2b, 0x64, 0x2a, 0x2b, 0x69, 0x68, 0xa7, 0x66,
|
||||
0x1d, 0xb3, 0x59, 0x34, 0x1d, 0x58, 0xcb, 0x33, 0x3e, 0x1b, 0x3e, 0x3e, 0x38, 0x38, 0x2e, 0x2c,
|
||||
0x34, 0x53, 0x34, 0x1d, 0x35, 0x59, 0x51, 0x23, 0xbf, 0x39, 0xc2, 0x2c, 0x39, 0x1c, 0x4d, 0xf4,
|
||||
0x33, 0xff, 0x3f, 0x41, 0x41, 0xf4, 0x32, 0x27, 0x61, 0x32, 0xeb, 0x48, 0x68, 0x67, 0xd2, 0x42,
|
||||
0xb4, 0x34, 0x67, 0x63, 0x55, 0x27, 0x19, 0x61, 0x63, 0x55, 0x27, 0x19, 0x66, 0x2b, 0x27, 0x27,
|
||||
0x27, 0x19, 0x40, 0x68, 0x27, 0x19, 0x40, 0x57, 0x32, 0x00, 0xc0, 0x2e, 0xdc, 0x34, 0xc3, 0x35,
|
||||
0xc5, 0x1e, 0x1c, 0x34, 0xd2, 0x6a, 0x66, 0xcb, 0xc2, 0x37, 0x2c, 0x37, 0x2c, 0xcb, 0x62, 0xc2,
|
||||
0x27, 0x27, 0x27, 0x0f, 0xc5, 0x32, 0x30, 0x2c, 0x67, 0x53, 0x67, 0x53, 0x67, 0x53, 0x67, 0x53,
|
||||
0x67, 0x53, 0xd2, 0x2a, 0x42, 0x6c, 0x4e, 0x20, 0xe4, 0x42, 0xcb, 0x4f, 0x69, 0xd2, 0x3d, 0x3b,
|
||||
0x67, 0x58, 0xc5, 0x3b, 0x3b, 0x3a, 0xc2, 0x18, 0x34, 0x1c, 0x66, 0x1c, 0x32, 0x5b, 0x6c, 0xc0,
|
||||
0x37, 0xdc, 0xc7, 0x4f, 0x35, 0xff, 0x5a, 0x3c, 0xc3, 0x35, 0x5d, 0x4d, 0x67, 0x3b, 0x64, 0x00,
|
||||
0x2b, 0xd2, 0x42, 0x58, 0x69, 0xc2, 0x39, 0xd2, 0x49, 0x51, 0x5a, 0x3c, 0xc3, 0x35, 0xc5, 0x1e,
|
||||
0x53, 0x67, 0x3b, 0x67, 0x27, 0x19, 0xff, 0x3f, 0x3b, 0x27, 0x27, 0x00, 0x39, 0x45, 0x1a, 0xc5,
|
||||
0xd2, 0x3f, 0x24, 0xa4, 0x34, 0x22, 0x1c, 0x4c, 0x4b, 0x23, 0xbf, 0x39, 0xc3, 0x2c, 0x25, 0x1a,
|
||||
0x52, 0xd2, 0xb4, 0xbd, 0xf4, 0x2d, 0x28, 0x1d, 0x68, 0x27, 0x27, 0x27, 0x27, 0xe4, 0x1f, 0xc7,
|
||||
0xd2, 0x6c, 0x34, 0x1d, 0x58, 0xc7, 0x33, 0x64, 0x3d, 0x44, 0x58, 0x64, 0x4c, 0x53, 0x4f, 0x20,
|
||||
0x21, 0x2d, 0x24, 0xd3, 0x5e, 0x1c, 0x4e, 0x18, 0x67, 0x2b, 0xeb, 0x38, 0x42, 0x44, 0xc0, 0x67,
|
||||
0xd3, 0x2e, 0x30, 0x34, 0x1f, 0x65, 0x6c, 0x3a, 0x51, 0x58, 0x66, 0xd2, 0xc0, 0x34, 0xb4, 0xbd,
|
||||
0xc7, 0x4f, 0x25, 0xc3, 0x62, 0xc2, 0xcb, 0x21, 0xc3, 0x37, 0xd3, 0x28, 0xe7, 0x62, 0x5b, 0xa4,
|
||||
0xcb, 0x48, 0xdc, 0x1c, 0x34, 0x46, 0x2c, 0x69, 0x5b, 0x32, 0x23, 0x3f, 0x66, 0x00, 0x1a, 0xbf,
|
||||
0x2d, 0x5f, 0x58, 0xf4, 0xd2, 0xb4, 0xc5, 0xcb, 0x3f, 0x52, 0x48, 0xb4, 0xa5, 0xc7, 0xd2, 0x25,
|
||||
0xd2, 0x5e,
|
||||
};
|
||||
|
||||
static const uint16_t mf_rlefont_DejaVuSans32_dictionary_offsets[141] = {
|
||||
0x0000, 0x0002, 0x0005, 0x0007, 0x0008, 0x0009, 0x000a, 0x000c,
|
||||
0x000f, 0x0011, 0x0013, 0x0016, 0x0017, 0x0019, 0x001a, 0x001e,
|
||||
0x0022, 0x0024, 0x0027, 0x002a, 0x002d, 0x002f, 0x0031, 0x0034,
|
||||
0x0038, 0x003a, 0x003e, 0x0040, 0x0042, 0x0044, 0x0046, 0x0047,
|
||||
0x0049, 0x0055, 0x0056, 0x0057, 0x0059, 0x005a, 0x005d, 0x005f,
|
||||
0x0060, 0x0062, 0x0064, 0x0067, 0x0068, 0x006b, 0x006e, 0x0070,
|
||||
0x0072, 0x0074, 0x0075, 0x0078, 0x0079, 0x007a, 0x007c, 0x007e,
|
||||
0x0080, 0x0085, 0x0088, 0x008a, 0x008d, 0x008f, 0x0091, 0x0099,
|
||||
0x009c, 0x009e, 0x00a1, 0x00a3, 0x00a6, 0x00ad, 0x00af, 0x00b0,
|
||||
0x00b2, 0x00b4, 0x00b5, 0x00b6, 0x00b8, 0x00bb, 0x00c7, 0x00c9,
|
||||
0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00cf, 0x00d1, 0x00d4, 0x00d6,
|
||||
0x00da, 0x00fd, 0x011c, 0x011e, 0x0121, 0x0123, 0x0125, 0x0129,
|
||||
0x012c, 0x0132, 0x013c, 0x013e, 0x0142, 0x0149, 0x0159, 0x015d,
|
||||
0x0160, 0x0163, 0x0166, 0x0168, 0x0172, 0x017c, 0x018c, 0x0195,
|
||||
0x01a4, 0x01b4, 0x01b6, 0x01b9, 0x01bd, 0x01c9, 0x01cf, 0x01d4,
|
||||
0x01d6, 0x01d8, 0x01dd, 0x01e1, 0x01e3, 0x0204, 0x0208, 0x0212,
|
||||
0x0218, 0x021a, 0x0222, 0x0227, 0x0229, 0x022b, 0x022d, 0x0231,
|
||||
0x0233, 0x0239, 0x023b, 0x023f, 0x0242,
|
||||
};
|
||||
|
||||
static const uint8_t mf_rlefont_DejaVuSans32_glyph_data_0[2504] = {
|
||||
0x0a, 0x00, 0x10, 0x0d, 0x6e, 0x6c, 0x80, 0x6f, 0x25, 0x6e, 0x8b, 0x10, 0x0f, 0x6e, 0x68, 0x2c,
|
||||
0x7e, 0x7e, 0x7e, 0x7e, 0x10, 0x1b, 0x67, 0x6e, 0x52, 0x58, 0x5e, 0x74, 0xc7, 0x4f, 0x9d, 0x2c,
|
||||
0x8c, 0x5a, 0x24, 0x9d, 0x2c, 0x9d, 0x2c, 0x8c, 0x5a, 0x24, 0x9d, 0xb4, 0x9d, 0xdc, 0xa5, 0xc7,
|
||||
0x4f, 0x58, 0x5e, 0xc7, 0xd0, 0x57, 0x5f, 0x10, 0x14, 0x4c, 0x4a, 0x1a, 0xc5, 0x28, 0x4a, 0x1b,
|
||||
0x4b, 0x21, 0x6a, 0x59, 0xfd, 0x24, 0xcb, 0xc7, 0xca, 0x33, 0xb5, 0x37, 0xb4, 0x37, 0xb4, 0x37,
|
||||
0xe5, 0xc7, 0x21, 0xd1, 0x37, 0x6a, 0x62, 0x49, 0xc7, 0x21, 0x2d, 0x24, 0xc0, 0x67, 0x24, 0x9b,
|
||||
0x9f, 0x5e, 0x9f, 0x5e, 0x9f, 0x24, 0x3f, 0xb7, 0xcb, 0x3a, 0x46, 0x2c, 0x5a, 0x4f, 0x6a, 0x5e,
|
||||
0x9d, 0x47, 0x4a, 0x1a, 0xc5, 0x28, 0x10, 0x1e, 0x00, 0x6e, 0xc2, 0x2b, 0xa4, 0x2d, 0xf0, 0x3d,
|
||||
0xcb, 0x3f, 0xca, 0x47, 0xa7, 0xcb, 0x58, 0x3d, 0xf0, 0xc5, 0xd0, 0x3d, 0xf0, 0xc5, 0xca, 0x1b,
|
||||
0xa0, 0x67, 0xeb, 0x58, 0xb4, 0x33, 0xe4, 0x82, 0x33, 0xb4, 0xc7, 0x74, 0x3d, 0xcb, 0x9f, 0x52,
|
||||
0x3b, 0xcb, 0x82, 0xd3, 0x3b, 0xa5, 0xb5, 0xb5, 0x34, 0xa7, 0xcb, 0xd2, 0x3a, 0x82, 0x44, 0x9f,
|
||||
0x44, 0x68, 0x58, 0x44, 0x74, 0xeb, 0x45, 0xdc, 0x2a, 0x6c, 0x3d, 0x2c, 0xb5, 0xc7, 0x1b, 0xca,
|
||||
0x2a, 0xcb, 0x47, 0x3b, 0xcb, 0x2b, 0x69, 0xc2, 0x10, 0x19, 0x6e, 0x18, 0x50, 0xc5, 0x2e, 0xea,
|
||||
0x4f, 0x27, 0x55, 0x41, 0x25, 0xc3, 0x9c, 0xc7, 0x45, 0xf0, 0xb7, 0xcb, 0x58, 0x3d, 0xc2, 0x35,
|
||||
0x67, 0x58, 0xc5, 0xc2, 0x2c, 0x3d, 0x35, 0xc1, 0x3d, 0x20, 0xd3, 0x3d, 0x18, 0xff, 0xc5, 0x3b,
|
||||
0x67, 0xc2, 0x33, 0xc5, 0x8f, 0x67, 0x1d, 0x20, 0xd3, 0x3a, 0x1c, 0xc2, 0x33, 0xc3, 0xb5, 0xcb,
|
||||
0x3a, 0xc3, 0xc5, 0xc2, 0x10, 0x09, 0x6e, 0x91, 0x10, 0x0c, 0x40, 0x6b, 0xc7, 0x28, 0x19, 0x28,
|
||||
0x27, 0x76, 0x5f, 0x27, 0x7b, 0x25, 0xe7, 0x76, 0x6c, 0x19, 0x25, 0x7a, 0x5e, 0x7a, 0x10, 0x0c,
|
||||
0x40, 0xcb, 0x61, 0x7a, 0x39, 0xd0, 0x27, 0x69, 0x76, 0xd0, 0x27, 0x7b, 0x28, 0x89, 0x32, 0x19,
|
||||
0x28, 0x19, 0x28, 0x19, 0x10, 0x10, 0x6e, 0xb4, 0x61, 0xd0, 0x62, 0xa5, 0xc5, 0x51, 0xec, 0xb5,
|
||||
0x51, 0xf1, 0x5b, 0x49, 0x28, 0xc7, 0x48, 0x90, 0xe5, 0x4f, 0xb1, 0xcb, 0x3f, 0x3d, 0xa7, 0x66,
|
||||
0xa5, 0xa5, 0x39, 0x9d, 0x47, 0x10, 0x1b, 0x25, 0x60, 0x91, 0x72, 0x1d, 0xd3, 0x47, 0x36, 0x1f,
|
||||
0x23, 0x36, 0x39, 0x91, 0x10, 0x0a, 0x63, 0x43, 0x4f, 0x89, 0x28, 0x27, 0xf4, 0x28, 0x10, 0x0c,
|
||||
0x4c, 0x40, 0x43, 0x49, 0x62, 0x49, 0x62, 0x49, 0x10, 0x0a, 0x63, 0x43, 0x4f, 0x89, 0x10, 0x0b,
|
||||
0x67, 0x40, 0x19, 0x48, 0x76, 0x68, 0x27, 0x76, 0x23, 0xa3, 0x2a, 0x48, 0x76, 0x0f, 0x81, 0x19,
|
||||
0x48, 0xa3, 0x2a, 0x48, 0xa3, 0x10, 0x14, 0x6e, 0x35, 0x50, 0x52, 0x4e, 0x35, 0x4e, 0x18, 0xf4,
|
||||
0x33, 0x64, 0x3d, 0xe4, 0xd2, 0x38, 0x38, 0x38, 0x3c, 0x53, 0x00, 0x3c, 0x53, 0x5d, 0x18, 0x4e,
|
||||
0x35, 0x72, 0x21, 0xc3, 0x62, 0xc3, 0x10, 0x14, 0xf4, 0x6e, 0x98, 0x98, 0x98, 0xf4, 0x91, 0x6f,
|
||||
0xe4, 0x72, 0x51, 0x23, 0x2d, 0x1a, 0x1c, 0x10, 0x14, 0x6e, 0xc2, 0xcb, 0x72, 0x72, 0xe7, 0x24,
|
||||
0x3e, 0x41, 0x8b, 0x29, 0x5e, 0x99, 0x25, 0x99, 0x62, 0x9a, 0x1c, 0x10, 0x14, 0x67, 0x40, 0x90,
|
||||
0x5c, 0xc2, 0x8b, 0x18, 0x37, 0x1d, 0x62, 0xc3, 0x90, 0xc7, 0x32, 0x81, 0x00, 0x8b, 0x3f, 0x93,
|
||||
0xc7, 0x58, 0x59, 0x4f, 0x4b, 0x5e, 0x49, 0x10, 0x14, 0x25, 0x40, 0x1e, 0x7f, 0x28, 0x23, 0x28,
|
||||
0x30, 0x32, 0xd2, 0x37, 0x6c, 0x62, 0xa7, 0x66, 0x6b, 0xa7, 0xc7, 0x4f, 0x58, 0x5e, 0x74, 0xcb,
|
||||
0x4f, 0x44, 0x2a, 0x2c, 0x39, 0xc7, 0xb4, 0x51, 0x29, 0x3d, 0x44, 0xb4, 0x46, 0x5f, 0x46, 0x5f,
|
||||
0x46, 0x1a, 0x81, 0x89, 0x10, 0x14, 0x6e, 0x1c, 0x72, 0x72, 0x00, 0x4f, 0x8b, 0x67, 0x4b, 0x5c,
|
||||
0x30, 0x81, 0x41, 0x8b, 0x29, 0x4c, 0xc7, 0x58, 0x59, 0x4f, 0x4b, 0x5e, 0x49, 0x10, 0x14, 0x6e,
|
||||
0xa4, 0x98, 0x68, 0xd3, 0x39, 0x5a, 0x4f, 0xc7, 0xcc, 0x4f, 0x25, 0x5b, 0x2a, 0x48, 0xa3, 0x2a,
|
||||
0x2d, 0x9e, 0x1a, 0x49, 0x2d, 0x3b, 0xc7, 0x93, 0x1d, 0x4d, 0x2e, 0x58, 0x2e, 0xb4, 0x34, 0x78,
|
||||
0x23, 0x73, 0xfd, 0xb4, 0x66, 0x1c, 0x21, 0xc3, 0x62, 0xc3, 0x10, 0x14, 0x61, 0x40, 0x9a, 0x1c,
|
||||
0xa3, 0x20, 0xa3, 0x2a, 0x48, 0xa3, 0x20, 0xa3, 0x2a, 0x48, 0xa3, 0x20, 0xa3, 0x2a, 0x32, 0x19,
|
||||
0x48, 0xa3, 0x2a, 0x32, 0x10, 0x14, 0x6e, 0x35, 0x50, 0x66, 0x94, 0x00, 0x1c, 0x66, 0x1c, 0x5e,
|
||||
0x49, 0x10, 0x14, 0xe4, 0x6e, 0xc3, 0x62, 0xc3, 0xcb, 0x72, 0x4e, 0xa4, 0xcb, 0x2e, 0x93, 0x78,
|
||||
0xeb, 0x3e, 0x42, 0x35, 0x2e, 0x54, 0xd3, 0x2e, 0x1d, 0x34, 0x46, 0x35, 0x8d, 0x5b, 0x18, 0xa3,
|
||||
0x20, 0x61, 0xcb, 0x3f, 0x1e, 0x18, 0xc5, 0x24, 0x4b, 0x21, 0x98, 0x23, 0x10, 0x0b, 0x79, 0x10,
|
||||
0x0b, 0x79, 0x28, 0x27, 0xf4, 0x28, 0x10, 0x1b, 0x6e, 0x60, 0xe5, 0x48, 0x9c, 0x5e, 0x4b, 0x21,
|
||||
0xd3, 0x39, 0x4b, 0x39, 0x4b, 0x21, 0xd3, 0x5e, 0xc2, 0x25, 0x49, 0x90, 0xa1, 0x1d, 0x28, 0xc3,
|
||||
0x90, 0xa1, 0xcb, 0x62, 0x93, 0x1e, 0x10, 0x1b, 0x6e, 0x63, 0x22, 0x1c, 0x4c, 0x1d, 0x46, 0x6e,
|
||||
0x48, 0x36, 0x4c, 0x22, 0x1c, 0x10, 0x1b, 0x25, 0x6e, 0x6e, 0x34, 0x1e, 0xcb, 0x90, 0x90, 0xa1,
|
||||
0x23, 0x90, 0xa1, 0x1d, 0x28, 0x68, 0x7f, 0x62, 0x49, 0x21, 0x1d, 0x39, 0x4b, 0x21, 0xd3, 0x39,
|
||||
0x4b, 0x5e, 0x6a, 0x48, 0x3a, 0x1e, 0x10, 0x11, 0x69, 0x6e, 0xc3, 0x62, 0x4b, 0x5e, 0x49, 0xcb,
|
||||
0x4f, 0x20, 0x39, 0xc5, 0x58, 0x89, 0x32, 0xa3, 0x44, 0x00, 0x3d, 0x48, 0x76, 0xd2, 0x40, 0x37,
|
||||
0x89, 0x10, 0x20, 0x6e, 0x3b, 0xcb, 0x72, 0xfd, 0x24, 0x46, 0xc3, 0x4d, 0xc7, 0x1b, 0xc2, 0x47,
|
||||
0xeb, 0x3b, 0x3a, 0xd3, 0x3e, 0x42, 0x58, 0x18, 0xec, 0xa7, 0xc7, 0x58, 0x20, 0xb3, 0xa7, 0xc7,
|
||||
0xb4, 0xa5, 0x1c, 0x58, 0x20, 0x35, 0x58, 0xc7, 0xd2, 0x58, 0x35, 0x18, 0xa0, 0x30, 0xa0, 0x30,
|
||||
0xa0, 0x30, 0xa0, 0x82, 0x2a, 0xe2, 0x18, 0x2c, 0x18, 0x58, 0xa5, 0xb3, 0x53, 0x58, 0x1c, 0x74,
|
||||
0x58, 0x20, 0xd3, 0xc3, 0x3b, 0x18, 0xdc, 0xc7, 0x3b, 0x41, 0x1e, 0x3a, 0x1d, 0x2b, 0x4d, 0xc7,
|
||||
0xb4, 0xcb, 0x1e, 0x1c, 0x66, 0x1c, 0x5e, 0x6a, 0x10, 0x16, 0x6e, 0x2a, 0x1b, 0x24, 0x7f, 0x90,
|
||||
0x32, 0x30, 0x32, 0xd2, 0x37, 0xbd, 0x37, 0x69, 0xd2, 0x21, 0x2c, 0x5e, 0xeb, 0x58, 0x57, 0xd2,
|
||||
0x4e, 0x20, 0x4f, 0x29, 0x1e, 0xe7, 0x44, 0xb4, 0x1c, 0x34, 0x46, 0x54, 0x36, 0x33, 0x2b, 0x64,
|
||||
0x44, 0xd3, 0x3b, 0x1e, 0x74, 0x64, 0x64, 0x29, 0xf4, 0x45, 0x58, 0x10, 0x16, 0x6e, 0x1c, 0x72,
|
||||
0x59, 0x74, 0x3d, 0xe4, 0xc2, 0x38, 0x42, 0x44, 0x69, 0x53, 0x34, 0x1c, 0x59, 0x4e, 0x5a, 0x42,
|
||||
0x35, 0x42, 0x44, 0x6c, 0x2b, 0x64, 0x44, 0x30, 0x2b, 0x64, 0x44, 0x30, 0x3b, 0x3a, 0xd2, 0x3e,
|
||||
0x2f, 0x0f, 0x1c, 0x34, 0x1c, 0x10, 0x16, 0x6e, 0x4d, 0xcb, 0x72, 0xe5, 0x33, 0x1c, 0x24, 0xcb,
|
||||
0xa4, 0xcb, 0x1e, 0x1f, 0x3f, 0x3b, 0xa3, 0x2a, 0x32, 0x80, 0x00, 0x27, 0x75, 0x1a, 0x24, 0x68,
|
||||
0x4d, 0xe4, 0x1e, 0x1c, 0x59, 0x5e, 0x6a, 0x10, 0x19, 0x6e, 0x1c, 0x72, 0xeb, 0x2f, 0x74, 0x8f,
|
||||
0x64, 0x20, 0x3a, 0x1f, 0xeb, 0x3d, 0x1b, 0xd2, 0x3d, 0x3b, 0x56, 0xff, 0x56, 0xff, 0x56, 0x74,
|
||||
0x64, 0x64, 0x29, 0x4d, 0x3d, 0x69, 0x64, 0x64, 0x18, 0x4c, 0xd2, 0x3b, 0x67, 0x29, 0xec, 0xd3,
|
||||
0x3a, 0x36, 0x24, 0x1c, 0x34, 0x1c, 0x10, 0x14, 0x6e, 0x46, 0x9a, 0x80, 0x5a, 0x3c, 0x1c, 0x59,
|
||||
0xe5, 0x33, 0x7b, 0x00, 0x5e, 0x9a, 0x1c, 0x10, 0x12, 0x6e, 0x1c, 0x51, 0x49, 0x66, 0x1c, 0x51,
|
||||
0x80, 0x4b, 0x72, 0x72, 0x39, 0x91, 0x27, 0x10, 0x19, 0x6e, 0x18, 0xd3, 0x21, 0x6a, 0x59, 0xff,
|
||||
0x24, 0xcb, 0xa4, 0xcb, 0x1e, 0x1f, 0x3f, 0x3b, 0xa3, 0x20, 0xf4, 0x32, 0x27, 0x1b, 0x49, 0x3d,
|
||||
0x18, 0x23, 0x3d, 0x18, 0x23, 0x56, 0xc7, 0x3b, 0x56, 0x1f, 0x8a, 0x2b, 0x3e, 0xe5, 0x58, 0xc7,
|
||||
0x1e, 0x1c, 0x59, 0x21, 0x23, 0x10, 0x18, 0x6e, 0x95, 0x95, 0x1f, 0x8a, 0x1c, 0x8a, 0x1c, 0x8a,
|
||||
0x1c, 0x65, 0x6c, 0x3a, 0x95, 0x95, 0x10, 0x09, 0x6e, 0x91, 0x80, 0x6f, 0x10, 0x09, 0x6e, 0x91,
|
||||
0x6f, 0x7b, 0x32, 0xf5, 0x48, 0x9c, 0x77, 0x10, 0x15, 0x6e, 0x68, 0x3b, 0x3a, 0xd2, 0x3e, 0x42,
|
||||
0xec, 0xcb, 0x33, 0x73, 0x20, 0x96, 0xc2, 0x37, 0x23, 0x77, 0x68, 0x86, 0x57, 0xe2, 0x39, 0xcb,
|
||||
0x58, 0x51, 0x73, 0x3e, 0x3c, 0xeb, 0x3e, 0x42, 0x20, 0x3a, 0xd2, 0x3b, 0x10, 0x12, 0x6e, 0x91,
|
||||
0x6f, 0x89, 0x00, 0x5e, 0x9a, 0x1c, 0x10, 0x1c, 0x6e, 0x1d, 0x47, 0x1f, 0x1d, 0x1b, 0x2d, 0x35,
|
||||
0x74, 0x58, 0x1f, 0x1d, 0x1b, 0x2d, 0x58, 0xd2, 0x3f, 0xd2, 0x1f, 0xef, 0xc7, 0x58, 0xd2, 0x47,
|
||||
0xc1, 0x20, 0x30, 0x8e, 0x8e, 0x1a, 0xb7, 0xa7, 0xcb, 0x1f, 0xa7, 0xa7, 0xc7, 0x1f, 0xa7, 0xc7,
|
||||
0xcb, 0xd2, 0x47, 0xa5, 0xbf, 0x92, 0x68, 0x92, 0x68, 0x45, 0x30, 0xa4, 0xd3, 0x45, 0x30, 0xa4,
|
||||
0xd3, 0x45, 0xd2, 0x58, 0x74, 0x1f, 0x74, 0xd2, 0x3f, 0x95, 0x68, 0x10, 0x18, 0x6e, 0x68, 0x74,
|
||||
0x44, 0x68, 0x74, 0x44, 0x2d, 0xfe, 0x8a, 0x74, 0x6b, 0x8a, 0x53, 0x3a, 0xdb, 0xc7, 0x44, 0xdb,
|
||||
0xcb, 0x44, 0xcb, 0xcb, 0x44, 0xcb, 0xd2, 0x44, 0xeb, 0xc0, 0x44, 0x68, 0x58, 0x44, 0x68, 0x35,
|
||||
0x45, 0xa0, 0xe4, 0x58, 0x20, 0x2c, 0x4c, 0x6c, 0x2a, 0xcb, 0x3d, 0xb4, 0xbd, 0x3a, 0xcb, 0xa4,
|
||||
0xbb, 0xc5, 0x2b, 0xeb, 0xcb, 0x3d, 0xa4, 0x2d, 0x29, 0x8f, 0x29, 0x8f, 0x29, 0x35, 0xc5, 0x2b,
|
||||
0x00, 0xc2, 0x10, 0x19, 0x6e, 0x70, 0x85, 0x5e, 0x49, 0x10, 0x13, 0x6e, 0x5a, 0x72, 0x51, 0x4b,
|
||||
0xc7, 0x33, 0x73, 0x3e, 0x3c, 0x78, 0x78, 0x53, 0xf5, 0x33, 0x73, 0x4b, 0x59, 0x69, 0x3c, 0x5a,
|
||||
0x39, 0x91, 0x10, 0x19, 0x6e, 0x70, 0x85, 0x5e, 0x4b, 0x75, 0x75, 0x10, 0x16, 0x6e, 0x5a, 0x72,
|
||||
0x51, 0x4b, 0xc7, 0x33, 0x73, 0x67, 0xd3, 0x42, 0xb4, 0x34, 0x78, 0x53, 0xf5, 0x33, 0x73, 0x5a,
|
||||
0x3c, 0x1c, 0x72, 0x39, 0xcb, 0x58, 0x51, 0x73, 0x64, 0x3d, 0x2a, 0xe4, 0x2b, 0xd2, 0x38, 0x0f,
|
||||
0x33, 0x2b, 0x64, 0x20, 0x10, 0x14, 0xe4, 0x6e, 0x49, 0x21, 0x6a, 0x59, 0xf5, 0x2e, 0xdc, 0x67,
|
||||
0x3b, 0x76, 0x5f, 0x81, 0xe7, 0x90, 0x66, 0xa4, 0x4b, 0x9c, 0xe5, 0x32, 0x81, 0xfd, 0x76, 0xd3,
|
||||
0x3a, 0xca, 0x3f, 0x93, 0x46, 0xdc, 0x1c, 0x39, 0x4b, 0x10, 0x14, 0xe4, 0x40, 0x32, 0x36, 0x1e,
|
||||
0x31, 0x91, 0x6f, 0x89, 0x10, 0x17, 0x6e, 0x95, 0x95, 0x95, 0x95, 0x1f, 0x8a, 0x3b, 0x33, 0x1b,
|
||||
0xd2, 0x3a, 0xc2, 0x18, 0x34, 0x1c, 0x66, 0x1c, 0x5e, 0x49, 0x10, 0x16, 0x40, 0x19, 0x67, 0x45,
|
||||
0x6c, 0x56, 0xeb, 0x3b, 0x4c, 0x6c, 0x2b, 0x64, 0x44, 0x30, 0xc5, 0xa4, 0xcb, 0x3a, 0x78, 0x84,
|
||||
0x44, 0x69, 0x2a, 0xd3, 0x39, 0x82, 0x5e, 0x82, 0x4c, 0x1a, 0xbf, 0x32, 0x30, 0x9c, 0x28, 0x7f,
|
||||
0xa3, 0x10, 0x20, 0x40, 0x55, 0x3b, 0x1b, 0x82, 0x3f, 0x58, 0x53, 0xc5, 0x53, 0x53, 0x3f, 0x53,
|
||||
0x53, 0x3f, 0x53, 0x53, 0xa4, 0xcb, 0xb4, 0xbd, 0x18, 0x2a, 0xf4, 0xcb, 0xcb, 0x58, 0x29, 0xcb,
|
||||
0xcb, 0x58, 0x29, 0xcb, 0xcb, 0x58, 0x4d, 0x58, 0xb4, 0xa5, 0x53, 0xa2, 0xe4, 0xa2, 0xec, 0x74,
|
||||
0x58, 0xa2, 0x3e, 0x69, 0xcb, 0x58, 0xc0, 0x1b, 0xd2, 0xd2, 0x3f, 0xcb, 0xcb, 0x1b, 0xab, 0x74,
|
||||
0xd2, 0xd2, 0x1b, 0xb2, 0xcb, 0xb4, 0xbd, 0x1b, 0x8f, 0x2d, 0x20, 0x74, 0x8f, 0x20, 0x74, 0x8f,
|
||||
0x20, 0x74, 0x8f, 0x18, 0x67, 0xf0, 0x8a, 0x3b, 0x10, 0x16, 0x69, 0x40, 0x41, 0x3b, 0x33, 0xfd,
|
||||
0x3f, 0x93, 0x53, 0x5d, 0x18, 0x4e, 0x35, 0x57, 0xeb, 0x21, 0xc0, 0x37, 0x1d, 0x77, 0xe7, 0x48,
|
||||
0x61, 0xd3, 0x28, 0xd3, 0x62, 0x49, 0x62, 0xcb, 0xcb, 0x21, 0xc0, 0x21, 0x35, 0x39, 0xcb, 0x58,
|
||||
0x4e, 0x18, 0x67, 0x3b, 0x3e, 0x42, 0x44, 0xe2, 0x3b, 0x1e, 0xcb, 0x3b, 0x10, 0x14, 0x40, 0x41,
|
||||
0x47, 0x8a, 0x00, 0x3e, 0x42, 0x45, 0x4d, 0x73, 0xe5, 0x93, 0x2c, 0x44, 0x4d, 0x9b, 0x23, 0x5b,
|
||||
0x54, 0xbf, 0x9c, 0x28, 0x68, 0x76, 0x00, 0x91, 0x10, 0x16, 0x40, 0x55, 0x36, 0x1e, 0x31, 0x18,
|
||||
0x25, 0xd3, 0x28, 0xc7, 0x48, 0x25, 0x99, 0x61, 0x99, 0x25, 0x5b, 0x20, 0x25, 0xd3, 0x90, 0x1c,
|
||||
0x1e, 0x31, 0x10, 0x0c, 0x40, 0x6a, 0x9c, 0x9c, 0x32, 0x80, 0x6f, 0x6f, 0xf4, 0x90, 0x9c, 0x9c,
|
||||
0x10, 0x0b, 0x40, 0x27, 0x0f, 0x27, 0x41, 0x89, 0x69, 0x32, 0x27, 0x41, 0x27, 0x41, 0x89, 0x69,
|
||||
0x32, 0x27, 0x00, 0x89, 0x28, 0x81, 0x10, 0x0c, 0x40, 0x6a, 0x9c, 0x48, 0x91, 0x6f, 0x7b, 0x5e,
|
||||
0x6a, 0x9c, 0x9c, 0x10, 0x1b, 0x6e, 0x3e, 0x97, 0xc0, 0x21, 0x35, 0x4e, 0x18, 0x67, 0x3b, 0x3e,
|
||||
0x67, 0x3e, 0x3b, 0x1e, 0xcb, 0x3b, 0x10, 0x10, 0x62, 0x6e, 0x43, 0x43, 0x36, 0x2f, 0x46, 0x10,
|
||||
0x44, 0x33, 0x55, 0x4a, 0x4c, 0x7a, 0x10, 0x14, 0x63, 0x4d, 0x68, 0x5c, 0xc0, 0x61, 0xd2, 0x27,
|
||||
0x21, 0xc3, 0x51, 0x49, 0x59, 0xf5, 0x33, 0xc7, 0xb4, 0x34, 0x78, 0x53, 0x34, 0x23, 0x20, 0x59,
|
||||
0x51, 0x8d, 0x10, 0x14, 0x40, 0x68, 0x80, 0x88, 0x23, 0x38, 0x38, 0x2e, 0x7d, 0x10, 0x12, 0x63,
|
||||
0x3b, 0xeb, 0x21, 0x6a, 0x72, 0x4f, 0xe7, 0xa4, 0x4e, 0xa3, 0xa4, 0x81, 0x8b, 0xf4, 0x2a, 0x28,
|
||||
0xe7, 0x28, 0xcb, 0xb4, 0x72, 0x21, 0x6a, 0x62, 0x6a, 0x10, 0x14, 0x62, 0x25, 0x27, 0x8b, 0x71,
|
||||
0x10, 0x14, 0x00, 0x63, 0x3e, 0x50, 0x66, 0x1d, 0x20, 0x67, 0x2b, 0xcb, 0x42, 0x58, 0x42, 0x44,
|
||||
0x69, 0x36, 0x2f, 0x46, 0x6c, 0x27, 0xfd, 0x3c, 0x2b, 0xc8, 0x24, 0xeb, 0x44, 0xa4, 0x1c, 0x39,
|
||||
0x5a, 0x5e, 0x6a, 0x10, 0x0b, 0x40, 0x8f, 0x24, 0x98, 0x98, 0x34, 0x2b, 0x57, 0x5e, 0x5a, 0x39,
|
||||
0x5a, 0x39, 0x5a, 0x37, 0x80, 0x6f, 0x10, 0x14, 0x1b, 0x63, 0x71, 0x19, 0x48, 0x39, 0x64, 0x1e,
|
||||
0x4d, 0x51, 0x4b, 0x39, 0x5a, 0x5e, 0x6a, 0x10, 0x14, 0x40, 0x68, 0x80, 0x8f, 0x9e, 0x1a, 0x87,
|
||||
0x3c, 0x78, 0x78, 0x78, 0x78, 0x78, 0x10, 0x09, 0x7c, 0x6f, 0x6f, 0x10, 0x09, 0x7c, 0x80, 0x80,
|
||||
0x7b, 0x48, 0x77, 0xa1, 0x10, 0x13, 0x4c, 0x25, 0x7b, 0xa4, 0xcb, 0x33, 0x73, 0x20, 0x96, 0xe2,
|
||||
0x62, 0x6a, 0x77, 0x68, 0x86, 0x57, 0xe2, 0x39, 0xcb, 0x58, 0x51, 0x73, 0x67, 0x1d, 0x10, 0x09,
|
||||
0x40, 0x91, 0x6f, 0x7b, 0x10, 0x1f, 0xe4, 0x63, 0x82, 0x74, 0xc2, 0x47, 0xc1, 0xd3, 0xc0, 0xd3,
|
||||
0x1b, 0x1c, 0xc1, 0x2d, 0xc2, 0x35, 0x9f, 0xfd, 0x3e, 0x18, 0xfd, 0xa4, 0x53, 0x67, 0x53, 0x67,
|
||||
0x53, 0x67, 0x53, 0x67, 0x53, 0x83, 0x83, 0x83, 0x10, 0x14, 0x00, 0x63, 0x58, 0x8f, 0x9e, 0x1a,
|
||||
0x87, 0x3c, 0x78, 0x78, 0x78, 0x78, 0x78, 0x10, 0x14, 0x00, 0x63, 0x3e, 0x50, 0xff, 0x4e, 0xa5,
|
||||
0xd3, 0x3c, 0x53, 0x67, 0x3b, 0x3e, 0x38, 0x38, 0x2e, 0x00, 0x93, 0x53, 0x3c, 0xc2, 0x58, 0x66,
|
||||
0x1c, 0x21, 0xc3, 0x62, 0xc3, 0x10, 0x14, 0x00, 0x63, 0x58, 0x88, 0x23, 0x38, 0x38, 0x2e, 0x7d,
|
||||
0x69, 0x4f, 0x80, 0x10, 0x14, 0x1b, 0x63, 0x71, 0x7b, 0x10, 0x0d, 0x00, 0x63, 0x58, 0x9b, 0xbb,
|
||||
0xd3, 0x21, 0xc3, 0x5e, 0xc3, 0x28, 0xc7, 0x48, 0x76, 0x00, 0x91, 0x10, 0x11, 0x63, 0x4d, 0x23,
|
||||
0x5e, 0x5a, 0x39, 0x5a, 0x4f, 0xc5, 0xcc, 0x4f, 0x27, 0x7f, 0x23, 0x62, 0x4b, 0x90, 0x41, 0x27,
|
||||
0x3c, 0xe8, 0x64, 0x1e, 0xe7, 0xb4, 0x66, 0x1c, 0x21, 0xc3, 0x62, 0xc3, 0x10, 0x0d, 0x6e, 0x68,
|
||||
0x8b, 0x18, 0x6a, 0x21, 0x6a, 0x39, 0xc2, 0x98, 0x27, 0x6f, 0x75, 0x23, 0x62, 0x49, 0x28, 0x23,
|
||||
0x10, 0x14, 0x3f, 0x63, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x53, 0x34, 0x23, 0x4d, 0x5d, 0x35,
|
||||
0x59, 0x51, 0x8d, 0x10, 0x13, 0x63, 0x2c, 0x67, 0x2c, 0x42, 0xb4, 0x34, 0x78, 0x84, 0x44, 0x4d,
|
||||
0x9b, 0x68, 0x2c, 0x5e, 0x82, 0x4c, 0x1a, 0xbf, 0x32, 0x30, 0x32, 0x30, 0x28, 0xeb, 0x28, 0x7f,
|
||||
0x10, 0x1a, 0x63, 0xec, 0x74, 0xc2, 0x2a, 0x29, 0x1d, 0x2a, 0xe4, 0x58, 0xa4, 0xd3, 0x92, 0x68,
|
||||
0x92, 0x68, 0x92, 0x68, 0x45, 0x00, 0x82, 0x82, 0x1e, 0xb7, 0xb5, 0xbd, 0x1e, 0xb7, 0xb5, 0xbd,
|
||||
0x1e, 0xb7, 0xb5, 0xbd, 0x3a, 0xdb, 0xa7, 0xbf, 0x33, 0xcb, 0x8f, 0x3e, 0x74, 0xc3, 0x33, 0xcb,
|
||||
0x8f, 0x67, 0xc2, 0xa4, 0xd3, 0x2e, 0x93, 0x23, 0x4d, 0x67, 0x3b, 0x4d, 0x10, 0x13, 0x63, 0x35,
|
||||
0x3e, 0x67, 0x3b, 0x18, 0x4e, 0x35, 0x57, 0x23, 0x21, 0xc0, 0x37, 0x1d, 0x77, 0x52, 0x4c, 0x1e,
|
||||
0x7f, 0x97, 0x6c, 0x5e, 0xd3, 0xc0, 0x57, 0x30, 0x51, 0xf5, 0x58, 0x5d, 0x4d, 0x2e, 0x35, 0x10,
|
||||
0x13, 0x63, 0x2c, 0x2b, 0x1b, 0x78, 0x23, 0x73, 0x29, 0x1e, 0xeb, 0x44, 0x2a, 0x93, 0x2c, 0x44,
|
||||
0x69, 0x2a, 0xd3, 0x39, 0x82, 0x37, 0xbd, 0x62, 0xeb, 0xd3, 0x37, 0xd2, 0x77, 0xf5, 0x32, 0xc7,
|
||||
0x48, 0xa3, 0x2a, 0x32, 0x19, 0x48, 0x77, 0xa1, 0x10, 0x11, 0x63, 0x2c, 0x5a, 0x3c, 0x1c, 0x59,
|
||||
0xf5, 0x48, 0x61, 0x99, 0x61, 0x99, 0xf4, 0x48, 0x25, 0x1c, 0x59, 0xf5, 0x24, 0x1c, 0x10, 0x14,
|
||||
0x67, 0x40, 0xc2, 0x9c, 0x9c, 0x67, 0x2e, 0x37, 0x7b, 0x48, 0x62, 0x6a, 0x32, 0x52, 0x90, 0x19,
|
||||
0x25, 0x91, 0x75, 0x68, 0x48, 0x7f, 0x10, 0x0b, 0x4c, 0x61, 0x6f, 0x6f, 0x6f, 0x6f, 0x10, 0x14,
|
||||
0x40, 0xfe, 0xd3, 0x90, 0x9c, 0x41, 0x6f, 0x75, 0x7f, 0x9c, 0x32, 0x61, 0x91, 0xf4, 0x48, 0x62,
|
||||
0x6a, 0x9c, 0x62, 0xc2, 0x10, 0x1b, 0x60, 0x63, 0x21, 0xe7, 0x3f, 0xcc, 0x4c, 0x5a, 0x45, 0xc0,
|
||||
0x36, 0x3d, 0xf0, 0x4b, 0x1e, 0x3b, 0xff, 0x10,
|
||||
};
|
||||
|
||||
static const uint16_t mf_rlefont_DejaVuSans32_glyph_offsets_0[95] = {
|
||||
0x0000, 0x0003, 0x000c, 0x0015, 0x0038, 0x0077, 0x00c9, 0x0105,
|
||||
0x0109, 0x011f, 0x0135, 0x0156, 0x0165, 0x016f, 0x0179, 0x017f,
|
||||
0x0196, 0x01b7, 0x01c8, 0x01dc, 0x01f8, 0x0225, 0x023e, 0x026b,
|
||||
0x0285, 0x0292, 0x02bd, 0x02c0, 0x02c7, 0x02e7, 0x02f6, 0x0317,
|
||||
0x0332, 0x0389, 0x03bc, 0x03e6, 0x0408, 0x0437, 0x0448, 0x0458,
|
||||
0x0486, 0x0497, 0x049d, 0x04a8, 0x04cd, 0x04d7, 0x051c, 0x0563,
|
||||
0x056a, 0x0583, 0x058c, 0x05b5, 0x05da, 0x05e5, 0x05fb, 0x0622,
|
||||
0x0679, 0x06ad, 0x06c9, 0x06e3, 0x06f1, 0x0707, 0x0714, 0x0727,
|
||||
0x072f, 0x0737, 0x0753, 0x075e, 0x077a, 0x0781, 0x07a4, 0x07b7,
|
||||
0x07c8, 0x07d7, 0x07dc, 0x07e5, 0x07ff, 0x0805, 0x0829, 0x0838,
|
||||
0x0856, 0x0864, 0x086a, 0x087c, 0x089d, 0x08b1, 0x08c4, 0x08e1,
|
||||
0x091d, 0x0940, 0x0969, 0x097f, 0x0997, 0x099f, 0x09b5,
|
||||
};
|
||||
|
||||
static const struct mf_rlefont_char_range_s mf_rlefont_DejaVuSans32_char_ranges[] = {
|
||||
{32, 95, mf_rlefont_DejaVuSans32_glyph_offsets_0, mf_rlefont_DejaVuSans32_glyph_data_0},
|
||||
};
|
||||
|
||||
const struct mf_rlefont_s mf_rlefont_DejaVuSans32 = {
|
||||
{
|
||||
"DejaVu Sans Book 32",
|
||||
"DejaVuSans32",
|
||||
33, /* width */
|
||||
34, /* height */
|
||||
9, /* min x advance */
|
||||
32, /* max x advance */
|
||||
2, /* baseline x */
|
||||
26, /* baseline y */
|
||||
37, /* line height */
|
||||
2, /* flags */
|
||||
63, /* fallback character */
|
||||
&mf_rlefont_character_width,
|
||||
&mf_rlefont_render_character,
|
||||
},
|
||||
4, /* version */
|
||||
mf_rlefont_DejaVuSans32_dictionary_data,
|
||||
mf_rlefont_DejaVuSans32_dictionary_offsets,
|
||||
87, /* rle dict count */
|
||||
140, /* total dict count */
|
||||
1, /* char range count */
|
||||
mf_rlefont_DejaVuSans32_char_ranges,
|
||||
};
|
||||
|
||||
#ifdef MF_INCLUDED_FONTS
|
||||
/* List entry for searching fonts by name. */
|
||||
static const struct mf_font_list_s mf_rlefont_DejaVuSans32_listentry = {
|
||||
MF_INCLUDED_FONTS,
|
||||
(struct mf_font_s*)&mf_rlefont_DejaVuSans32
|
||||
};
|
||||
#undef MF_INCLUDED_FONTS
|
||||
#define MF_INCLUDED_FONTS (&mf_rlefont_DejaVuSans32_listentry)
|
||||
#endif
|
||||
|
||||
|
||||
/* End of automatically generated font definition for DejaVuSans32. */
|
||||
|
569
src/gdisp/fonts/DejaVuSans32_aa.c
Normal file
569
src/gdisp/fonts/DejaVuSans32_aa.c
Normal file
@ -0,0 +1,569 @@
|
||||
|
||||
|
||||
/* Start of automatically generated font definition for DejaVuSans32_aa. */
|
||||
|
||||
#ifndef MF_RLEFONT_INTERNALS
|
||||
#define MF_RLEFONT_INTERNALS
|
||||
#endif
|
||||
#include "mf_rlefont.h"
|
||||
|
||||
#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
|
||||
#error The font file is not compatible with this version of mcufont.
|
||||
#endif
|
||||
|
||||
static const uint8_t mf_rlefont_DejaVuSans32_aa_dictionary_data[740] = {
|
||||
0x86, 0x1a, 0x86, 0x1a, 0x85, 0x1e, 0x82, 0x1e, 0x81, 0x12, 0x82, 0x08, 0x1a, 0x1d, 0x05, 0x85,
|
||||
0x13, 0x1c, 0x88, 0x0f, 0x81, 0xcb, 0x0a, 0x82, 0x0f, 0x80, 0x1e, 0x82, 0x1e, 0x82, 0x83, 0x08,
|
||||
0x0c, 0xce, 0x1d, 0x0d, 0x40, 0x07, 0x8d, 0x13, 0xc9, 0x85, 0x1e, 0x82, 0x15, 0x17, 0x8c, 0x01,
|
||||
0x18, 0x01, 0xc1, 0x11, 0x82, 0x09, 0x81, 0xcd, 0x1b, 0x0f, 0x16, 0x80, 0xcc, 0x80, 0xc5, 0x80,
|
||||
0xca, 0x1e, 0xc6, 0x81, 0x04, 0x81, 0x0d, 0x93, 0x0d, 0x93, 0x41, 0x11, 0x8b, 0xce, 0xcc, 0x03,
|
||||
0x84, 0x01, 0x02, 0xcd, 0xc2, 0xcd, 0xc9, 0x91, 0x06, 0x4f, 0x01, 0x8f, 0x11, 0x8f, 0x11, 0x8f,
|
||||
0x0b, 0xc9, 0x81, 0xc6, 0xcb, 0x81, 0xca, 0xc3, 0xc1, 0x01, 0x82, 0x01, 0xc8, 0x81, 0x80, 0xc7,
|
||||
0x0f, 0x82, 0x02, 0x0c, 0x82, 0x80, 0xcd, 0xce, 0x80, 0x11, 0x82, 0x09, 0x82, 0x12, 0x82, 0x09,
|
||||
0x82, 0x01, 0xc5, 0x81, 0xc9, 0xc4, 0x80, 0xce, 0xcd, 0xc1, 0xc6, 0xc2, 0xca, 0xcd, 0x80, 0xc8,
|
||||
0xc1, 0xc4, 0xca, 0xc5, 0xc8, 0xcd, 0xc1, 0xcd, 0x81, 0xcb, 0xc1, 0xc3, 0xc7, 0xce, 0xc1, 0x01,
|
||||
0xc9, 0xc1, 0x02, 0xc5, 0x01, 0xc2, 0xc7, 0x80, 0xc2, 0xcd, 0xca, 0xc4, 0x01, 0x42, 0x3b, 0x09,
|
||||
0xc7, 0xc2, 0x0e, 0xc2, 0xc8, 0xce, 0xc5, 0xc2, 0xce, 0x80, 0x10, 0xc4, 0xc1, 0x0a, 0x19, 0xc8,
|
||||
0xc2, 0xc2, 0x82, 0xc1, 0xc7, 0x07, 0x80, 0xc3, 0x01, 0xcd, 0xc3, 0x82, 0xc1, 0x01, 0xc2, 0xc6,
|
||||
0xc8, 0xc4, 0xca, 0x81, 0xcc, 0xc1, 0xc7, 0x81, 0xce, 0xc2, 0xc2, 0xcd, 0x81, 0xc1, 0x80, 0x40,
|
||||
0x28, 0x12, 0x82, 0xcb, 0xc6, 0xc2, 0xc1, 0x81, 0xc4, 0x01, 0x80, 0xcb, 0xcd, 0xca, 0xcc, 0x81,
|
||||
0x80, 0xc4, 0xc1, 0xc3, 0xc1, 0x82, 0xcb, 0x81, 0x01, 0xc2, 0xde, 0xce, 0x81, 0xc9, 0xcd, 0x80,
|
||||
0xc9, 0x81, 0x11, 0x82, 0x08, 0x82, 0x08, 0x82, 0x08, 0x82, 0x08, 0x82, 0x08, 0x82, 0x08, 0x82,
|
||||
0x08, 0x82, 0x08, 0x82, 0x08, 0x82, 0x08, 0x82, 0x08, 0x82, 0x08, 0x82, 0x08, 0x82, 0x07, 0xc4,
|
||||
0x81, 0xc4, 0xce, 0x01, 0x81, 0x01, 0x01, 0xc3, 0xc3, 0x81, 0xcd, 0xcb, 0xc9, 0xc2, 0xc7, 0xc1,
|
||||
0x14, 0xcb, 0xcd, 0x91, 0x01, 0x05, 0x0e, 0x9f, 0x97, 0x0e, 0x1d, 0xeb, 0xe0, 0x31, 0x92, 0x0f,
|
||||
0x40, 0x9e, 0x1f, 0x4d, 0x4e, 0xe3, 0x44, 0x76, 0x51, 0x49, 0xe3, 0x85, 0x9f, 0x4d, 0x0a, 0x1e,
|
||||
0x38, 0x02, 0x76, 0x51, 0x2c, 0x84, 0x58, 0x47, 0x51, 0x4b, 0x4c, 0x8c, 0x94, 0x24, 0x19, 0x24,
|
||||
0x83, 0x3f, 0x6f, 0x68, 0x02, 0x94, 0x28, 0x1c, 0x91, 0x84, 0x19, 0x24, 0x19, 0x24, 0x0f, 0x38,
|
||||
0x83, 0xe2, 0x5b, 0x4c, 0x9a, 0x7c, 0x39, 0x47, 0x51, 0x8b, 0x47, 0x0b, 0x4b, 0x36, 0xdc, 0x5b,
|
||||
0x76, 0x04, 0x34, 0x36, 0xdc, 0x77, 0x76, 0x81, 0x57, 0x1a, 0x4d, 0x54, 0x54, 0x54, 0x54, 0x54,
|
||||
0x9f, 0x2a, 0x2d, 0x2d, 0x19, 0x24, 0x51, 0x50, 0x23, 0x84, 0x51, 0x50, 0x23, 0x84, 0x51, 0x50,
|
||||
0x23, 0x84, 0x51, 0x41, 0x51, 0x51, 0x50, 0x23, 0x1c, 0x8e, 0x06, 0x1c, 0x06, 0x22, 0x1c, 0x0f,
|
||||
0x22, 0x26, 0x8a, 0x08, 0x6b, 0xdc, 0x39, 0x26, 0x05, 0x22, 0x6b, 0xdc, 0x66, 0x76, 0x8f, 0x34,
|
||||
0x33, 0xf2, 0x33, 0xf2, 0x6b, 0xdc, 0x66, 0x76, 0x8f, 0x34, 0x6b, 0xdc, 0x39, 0x26, 0x05, 0x22,
|
||||
0x29, 0xd4, 0x22, 0x26, 0x8a, 0x08, 0x1d, 0x51, 0x4f, 0x47, 0x7e, 0x66, 0x1d, 0x51, 0x4b, 0x4c,
|
||||
0x8c, 0x7c, 0x3a, 0x47, 0x51, 0x2c, 0x84, 0x58, 0x95, 0x4d, 0x0a, 0x1e, 0x38, 0x02, 0x3d, 0x50,
|
||||
0x05, 0x5a, 0x57, 0x85, 0x67, 0xf2, 0x83, 0x8f, 0x0c, 0xe3, 0x4b, 0xf2, 0x83, 0x5f, 0x1e, 0x93,
|
||||
0x84, 0x83, 0x7c, 0x3a, 0x4c, 0x8c, 0x0a, 0xe3, 0x95, 0x74, 0x07, 0x47, 0x07, 0x25, 0x95, 0x08,
|
||||
0x22, 0x26, 0x0c, 0x84, 0x95, 0x8e, 0x05, 0x26, 0x05, 0x84, 0x95, 0x53, 0x66, 0x26, 0x74, 0x33,
|
||||
0xf2, 0x33, 0xf2, 0x95, 0x53, 0x66, 0x26, 0x74, 0x95, 0x8e, 0x05, 0x26, 0x05, 0x84, 0x95, 0x08,
|
||||
0x22, 0x26, 0x0c, 0x84, 0x95, 0x74, 0x07, 0x47, 0x07, 0x25, 0x83, 0x7c, 0x3a, 0x4c, 0x8c, 0x0a,
|
||||
0xe3, 0x83, 0x5f, 0x1e, 0x93, 0x84, 0x83, 0x8f, 0x0c, 0xe3, 0x4b, 0xf2, 0x2e, 0x4a, 0x53, 0x89,
|
||||
0x64, 0x94, 0x24, 0x2d, 0x1c, 0x81, 0x1d, 0xe0, 0x0f, 0x57, 0x00, 0x51, 0x69, 0x2e, 0x1e, 0x57,
|
||||
0x00, 0x23, 0x4d, 0x71, 0x91, 0x01, 0x6b, 0x81, 0x57, 0x71, 0x78, 0x0f, 0x77, 0x29, 0x9a, 0x34,
|
||||
0x72, 0x1e, 0x00, 0x7c, 0x06, 0x6b, 0x06, 0x4b, 0x3d, 0x7c, 0x3a, 0x47, 0x51, 0x4f, 0x47, 0x7e,
|
||||
0x66, 0x6e, 0x52, 0x1c, 0x8a, 0x07, 0x20, 0x0b, 0x6b, 0x8e, 0x06, 0x71, 0x8f, 0x94, 0x8b, 0x43,
|
||||
0x43, 0xe7, 0x04, 0x0d, 0x38, 0x19, 0x24, 0x1d, 0x02, 0x22, 0x1c, 0x55, 0x05, 0x1c, 0x08, 0x57,
|
||||
0x3b, 0x0b, 0x93, 0x3b, 0x29, 0x51, 0x0f, 0x58, 0x19, 0xfd, 0x43, 0x55, 0x29, 0x6e, 0x52, 0x03,
|
||||
0x76, 0x9a, 0x0d, 0x94, 0x7f, 0x29, 0x7c, 0x7f, 0x71, 0x6e, 0x3a, 0x27, 0x74, 0x04, 0x27, 0x97,
|
||||
0x66, 0x00, 0x71, 0x07, 0x22, 0x6b, 0x4a, 0x53, 0x51, 0x50, 0x23, 0x84, 0x51, 0x29, 0x2e, 0x3f,
|
||||
0x01, 0x8e, 0x01, 0x91, 0x0f, 0x46, 0x71, 0xd4, 0x46, 0x41, 0x68, 0x50, 0x0c, 0x53, 0x35, 0x55,
|
||||
0x3b, 0x2a, 0x0c, 0x1c,
|
||||
};
|
||||
|
||||
static const uint16_t mf_rlefont_DejaVuSans32_aa_dictionary_offsets[188] = {
|
||||
0x0000, 0x0005, 0x0009, 0x000c, 0x000d, 0x000e, 0x000f, 0x0010,
|
||||
0x0011, 0x0012, 0x0014, 0x0016, 0x0019, 0x001e, 0x001f, 0x0020,
|
||||
0x0021, 0x0023, 0x0024, 0x0026, 0x0028, 0x002a, 0x002c, 0x002d,
|
||||
0x002e, 0x0030, 0x0031, 0x0033, 0x0036, 0x0038, 0x0039, 0x003a,
|
||||
0x003b, 0x003d, 0x003f, 0x0041, 0x0042, 0x0044, 0x0045, 0x004c,
|
||||
0x004d, 0x004f, 0x0050, 0x0052, 0x0053, 0x0055, 0x0057, 0x0058,
|
||||
0x0059, 0x0061, 0x0063, 0x0065, 0x0067, 0x0069, 0x006c, 0x006e,
|
||||
0x0070, 0x0073, 0x0075, 0x0077, 0x0079, 0x0082, 0x0084, 0x0086,
|
||||
0x0088, 0x008a, 0x008c, 0x008e, 0x0090, 0x0092, 0x0094, 0x0096,
|
||||
0x0099, 0x009b, 0x009d, 0x00a0, 0x00a3, 0x00a5, 0x00a7, 0x00a9,
|
||||
0x00ad, 0x00af, 0x00b0, 0x00b2, 0x00b3, 0x00b5, 0x00b7, 0x00ba,
|
||||
0x00bb, 0x00bd, 0x00be, 0x00bf, 0x00c1, 0x00c3, 0x00c5, 0x00c6,
|
||||
0x00c8, 0x00ca, 0x00ce, 0x00d0, 0x00d2, 0x00d4, 0x00d6, 0x00d8,
|
||||
0x00da, 0x00dd, 0x00df, 0x00e1, 0x00e2, 0x00e3, 0x00e5, 0x00e7,
|
||||
0x00ea, 0x00ec, 0x00ee, 0x00f0, 0x00f2, 0x00f4, 0x00f6, 0x00f8,
|
||||
0x00fa, 0x00fb, 0x00fd, 0x00ff, 0x0101, 0x0102, 0x0103, 0x011f,
|
||||
0x0121, 0x0123, 0x0126, 0x0128, 0x012a, 0x012c, 0x012e, 0x0130,
|
||||
0x0131, 0x0133, 0x0135, 0x0137, 0x013b, 0x013e, 0x014b, 0x015c,
|
||||
0x0160, 0x0162, 0x0164, 0x0167, 0x0169, 0x016e, 0x0192, 0x0196,
|
||||
0x01a8, 0x01af, 0x01f4, 0x0251, 0x0254, 0x0256, 0x0258, 0x025a,
|
||||
0x025d, 0x025f, 0x0270, 0x0272, 0x0279, 0x0281, 0x0283, 0x0287,
|
||||
0x0290, 0x0295, 0x0298, 0x02a4, 0x02a6, 0x02a8, 0x02aa, 0x02ac,
|
||||
0x02c6, 0x02c8, 0x02ce, 0x02d0, 0x02d2, 0x02d4, 0x02d9, 0x02dc,
|
||||
0x02de, 0x02e0, 0x02e2, 0x02e4,
|
||||
};
|
||||
|
||||
static const uint8_t mf_rlefont_DejaVuSans32_aa_glyph_data_0[6702] = {
|
||||
0x0a, 0x00, 0x10, 0x0d, 0x82, 0xe0, 0x3b, 0xac, 0x3b, 0x53, 0x28, 0x78, 0x0f, 0x28, 0x78, 0x52,
|
||||
0x3b, 0x0c, 0x38, 0x3b, 0x0b, 0x88, 0x20, 0x82, 0xc1, 0x10, 0x0f, 0x82, 0xa4, 0xa4, 0xa4, 0xa4,
|
||||
0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0x10, 0x1b, 0x76, 0x82, 0x81, 0x4f, 0x3d, 0x0e, 0x93, 0x9f, 0xc6,
|
||||
0x03, 0x41, 0x9b, 0x05, 0x37, 0x09, 0x57, 0x3d, 0x7e, 0x01, 0x2e, 0x78, 0x3a, 0x3d, 0x0b, 0x38,
|
||||
0x2e, 0x8f, 0x94, 0x06, 0x41, 0x81, 0x4f, 0x37, 0x3c, 0x02, 0x00, 0xc6, 0x03, 0x6f, 0x9b, 0x46,
|
||||
0x27, 0x9b, 0x46, 0x27, 0x9b, 0x46, 0x95, 0x97, 0x04, 0x41, 0x9b, 0x05, 0x37, 0x08, 0x57, 0x3d,
|
||||
0x7e, 0x01, 0x37, 0x0c, 0x88, 0x3d, 0x0a, 0x52, 0x37, 0x81, 0x4f, 0x3d, 0x0e, 0x93, 0x9f, 0xc6,
|
||||
0x03, 0x41, 0x9b, 0x05, 0x29, 0xd4, 0x46, 0x77, 0x26, 0xd4, 0x46, 0x77, 0x26, 0xd4, 0x46, 0x77,
|
||||
0x6f, 0x9b, 0x05, 0x41, 0x81, 0x4f, 0x37, 0x7e, 0x01, 0x00, 0xc6, 0x03, 0x37, 0x0b, 0x38, 0x3d,
|
||||
0x09, 0x57, 0x37, 0x81, 0x5b, 0x41, 0x78, 0x3a, 0x37, 0x97, 0x04, 0x43, 0x8f, 0x0f, 0x39, 0x37,
|
||||
0x08, 0x57, 0x3d, 0x3c, 0x01, 0x10, 0x14, 0x27, 0x1c, 0xdc, 0x20, 0xdc, 0x20, 0xdc, 0x20, 0xdc,
|
||||
0x1b, 0x9a, 0x09, 0xcf, 0x34, 0x0c, 0x09, 0x05, 0x02, 0x83, 0x32, 0x0b, 0x3f, 0x95, 0x32, 0x0c,
|
||||
0x30, 0x95, 0x7e, 0x88, 0x70, 0x94, 0x01, 0x02, 0x04, 0x06, 0x5a, 0x83, 0x8a, 0x08, 0xdc, 0x31,
|
||||
0xa1, 0xdc, 0x31, 0x53, 0x66, 0xdc, 0x31, 0x0c, 0x4b, 0x01, 0xf0, 0x31, 0x3c, 0x57, 0x09, 0x55,
|
||||
0x72, 0x2c, 0x38, 0x09, 0x05, 0x01, 0x37, 0x05, 0x0d, 0x1e, 0xb6, 0x07, 0x2f, 0x61, 0x0a, 0xe3,
|
||||
0x4b, 0x37, 0xdc, 0x61, 0x0d, 0x84, 0x06, 0x9f, 0xd4, 0xe5, 0x7c, 0x0c, 0x31, 0xe7, 0x8f, 0xb6,
|
||||
0x31, 0xe7, 0x32, 0xb6, 0x9f, 0xd4, 0xe5, 0x4e, 0x0c, 0x95, 0x45, 0x05, 0x4c, 0xf8, 0x66, 0x05,
|
||||
0x8e, 0x4f, 0x1d, 0x51, 0xb6, 0x53, 0x1e, 0x7d, 0x95, 0x3f, 0x3a, 0x01, 0x95, 0x8f, 0x05, 0x08,
|
||||
0x0b, 0x0c, 0x0d, 0x91, 0x40, 0x08, 0x03, 0x31, 0xdc, 0x20, 0xdc, 0x20, 0xdc, 0x20, 0xdc, 0x20,
|
||||
0xdc, 0x10, 0x1e, 0x82, 0x8f, 0x5a, 0x52, 0x9d, 0x71, 0x0b, 0x93, 0x27, 0x98, 0x84, 0xb6, 0x04,
|
||||
0x26, 0x06, 0x0f, 0x62, 0x71, 0xcc, 0x05, 0x01, 0x55, 0x62, 0x3d, 0x32, 0x0e, 0x39, 0x27, 0x7e,
|
||||
0x08, 0x41, 0x49, 0x07, 0x47, 0x09, 0x88, 0x29, 0x8a, 0x03, 0x41, 0x97, 0x0c, 0x1d, 0x04, 0x0f,
|
||||
0x7f, 0x29, 0xa1, 0x43, 0x32, 0xb6, 0x3d, 0x78, 0x4f, 0x27, 0xf0, 0xe5, 0xe0, 0x3d, 0x08, 0x38,
|
||||
0x36, 0xa1, 0x43, 0x32, 0xb6, 0x41, 0x9b, 0x03, 0x36, 0x8a, 0x03, 0x41, 0x9b, 0x0c, 0x41, 0x0c,
|
||||
0x93, 0x6f, 0x4e, 0x08, 0x41, 0x49, 0x07, 0x43, 0x06, 0xc4, 0x6f, 0xcc, 0x64, 0x55, 0x62, 0x6e,
|
||||
0x64, 0x8f, 0x92, 0x0f, 0x89, 0x02, 0x69, 0x04, 0x25, 0xb6, 0x04, 0x43, 0x0a, 0x3a, 0x43, 0x98,
|
||||
0x84, 0xb6, 0x04, 0x26, 0x8f, 0x0a, 0x0e, 0x57, 0x0a, 0x02, 0x43, 0x05, 0x0f, 0x7f, 0x32, 0x53,
|
||||
0x39, 0x01, 0x55, 0x62, 0x6b, 0x32, 0x0d, 0x0f, 0x06, 0x43, 0x7e, 0x09, 0x41, 0x49, 0x07, 0x6f,
|
||||
0x08, 0x38, 0x41, 0x8a, 0x03, 0x41, 0x9b, 0x0c, 0x36, 0x9b, 0x03, 0x41, 0xa1, 0x43, 0x32, 0xb6,
|
||||
0x36, 0x0c, 0x5b, 0x00, 0xdc, 0xe5, 0xe0, 0x6b, 0x07, 0xc4, 0x3d, 0xa1, 0x43, 0x32, 0xb6, 0x29,
|
||||
0x6e, 0x04, 0x1d, 0x8a, 0x03, 0x41, 0x9b, 0x0c, 0x29, 0x0b, 0x3a, 0x47, 0x7e, 0x09, 0x41, 0x49,
|
||||
0x07, 0x27, 0x05, 0x57, 0x01, 0x47, 0xcc, 0x64, 0x55, 0x62, 0x69, 0x32, 0x53, 0x06, 0x26, 0x98,
|
||||
0x84, 0xb6, 0x04, 0x27, 0x09, 0x88, 0x69, 0x8f, 0x0a, 0x0e, 0x57, 0x0a, 0x02, 0x10, 0x19, 0x3d,
|
||||
0x82, 0x75, 0xcf, 0x0e, 0x89, 0x6a, 0x37, 0xa2, 0x21, 0x47, 0x9b, 0x21, 0x47, 0x0b, 0xb6, 0x08,
|
||||
0x86, 0x01, 0x02, 0x05, 0x92, 0x2e, 0x53, 0x8b, 0x1c, 0xa1, 0x1c, 0x8e, 0x05, 0x1c, 0x05, 0xb6,
|
||||
0x04, 0x20, 0x78, 0x84, 0x06, 0x1b, 0xcb, 0x94, 0x4f, 0x2f, 0x32, 0x0c, 0x84, 0x91, 0x5b, 0x1d,
|
||||
0x8f, 0xb6, 0x29, 0x0a, 0x84, 0x9e, 0x8a, 0x5b, 0x1d, 0x06, 0x22, 0x27, 0x04, 0x84, 0x06, 0x43,
|
||||
0x5f, 0x93, 0x3d, 0x8e, 0x07, 0x27, 0x0a, 0x4b, 0x3d, 0x80, 0x3a, 0x43, 0x74, 0x02, 0x27, 0x53,
|
||||
0x66, 0x1d, 0x6e, 0x4b, 0x00, 0x0a, 0x4b, 0x00, 0x51, 0x01, 0x1d, 0x9a, 0x53, 0x34, 0x94, 0x77,
|
||||
0x29, 0x53, 0x8b, 0x76, 0x98, 0x25, 0x5b, 0x6b, 0x8e, 0x0c, 0x26, 0x7e, 0x34, 0x36, 0x05, 0x84,
|
||||
0x60, 0x3d, 0x9a, 0x0e, 0x25, 0x39, 0x36, 0x8e, 0x57, 0x07, 0x4c, 0x75, 0x91, 0x53, 0xb6, 0x03,
|
||||
0x6b, 0x5f, 0x94, 0x1e, 0x77, 0x4e, 0xc4, 0x29, 0x32, 0x2c, 0xb6, 0x04, 0x43, 0x4e, 0x88, 0x6f,
|
||||
0x6c, 0x0b, 0x53, 0x40, 0x9e, 0x3d, 0x49, 0x93, 0x10, 0x09, 0x82, 0xac, 0x10, 0x0c, 0x3d, 0x2a,
|
||||
0x0b, 0x88, 0x1c, 0x97, 0x03, 0x1c, 0x0c, 0x88, 0x43, 0xd0, 0x04, 0x1c, 0x0c, 0x52, 0x1c, 0x9b,
|
||||
0x08, 0x1c, 0x49, 0x03, 0x1c, 0x53, 0x28, 0x03, 0x22, 0x1c, 0x7e, 0x08, 0x1c, 0x7c, 0x05, 0x1c,
|
||||
0x8a, 0x03, 0xab, 0x02, 0x1c, 0xa1, 0x3d, 0xc3, 0x3b, 0xa1, 0xab, 0x02, 0x1c, 0x8a, 0x03, 0x1c,
|
||||
0x49, 0x05, 0x1c, 0x3c, 0x08, 0x20, 0x9a, 0x22, 0x1c, 0x78, 0x57, 0x3b, 0x4e, 0x03, 0x1c, 0x9b,
|
||||
0x08, 0x3b, 0x0c, 0x52, 0x41, 0xd0, 0x04, 0x3b, 0x0c, 0x88, 0x3b, 0x97, 0x03, 0x3b, 0x0b, 0x88,
|
||||
0x10, 0x0c, 0x2a, 0x0b, 0x88, 0x3b, 0x9b, 0x04, 0x3b, 0x0b, 0x38, 0x41, 0xd0, 0x05, 0x3b, 0x0e,
|
||||
0x38, 0x3b, 0x4e, 0x03, 0x1c, 0x9b, 0x08, 0x3b, 0x0e, 0x52, 0x3b, 0x8e, 0x03, 0x1c, 0x4e, 0x06,
|
||||
0x43, 0xd0, 0x09, 0x1c, 0x9b, 0xd2, 0x02, 0x34, 0xb4, 0x57, 0x2d, 0xb4, 0x57, 0x20, 0x8f, 0x34,
|
||||
0x1c, 0x9b, 0xd2, 0x55, 0x09, 0x1c, 0x4e, 0x06, 0x1c, 0x8e, 0x03, 0x1c, 0x0e, 0x52, 0x1c, 0x9b,
|
||||
0x08, 0x1c, 0x4e, 0x03, 0x1c, 0x53, 0xd2, 0x55, 0x05, 0x1c, 0x0b, 0x0f, 0xd2, 0x9b, 0x04, 0x1c,
|
||||
0x0b, 0x88, 0x10, 0x10, 0x00, 0x82, 0xdc, 0x20, 0xdc, 0x72, 0x06, 0x63, 0x00, 0xe7, 0x32, 0x09,
|
||||
0x06, 0x1f, 0x0c, 0x52, 0x04, 0xc0, 0x83, 0x32, 0x49, 0x08, 0x99, 0x4e, 0x63, 0x83, 0x9a, 0x0c,
|
||||
0x52, 0x34, 0x38, 0x03, 0x72, 0x06, 0x0e, 0xb6, 0x06, 0x35, 0x06, 0x0e, 0xb6, 0x06, 0x31, 0x9a,
|
||||
0x0c, 0x52, 0x34, 0x38, 0x03, 0x9f, 0x32, 0x49, 0x08, 0x99, 0x4e, 0x63, 0x95, 0x0c, 0x52, 0x04,
|
||||
0xc0, 0x1f, 0x06, 0x63, 0x00, 0xe7, 0x32, 0x09, 0x06, 0x37, 0xdc, 0x20, 0xdc, 0x10, 0x1b, 0x3d,
|
||||
0x2a, 0x82, 0xac, 0x69, 0x51, 0x46, 0x51, 0x46, 0x51, 0x46, 0x2e, 0xac, 0x10, 0x0a, 0xd1, 0x82,
|
||||
0x68, 0x68, 0xc3, 0xc5, 0x20, 0xc2, 0x0e, 0x77, 0x10, 0x0c, 0x68, 0x68, 0x2d, 0xe3, 0xc3, 0xe3,
|
||||
0xc3, 0xe3, 0x10, 0x0a, 0x2f, 0x2a, 0x82, 0xa9, 0xa9, 0xb3, 0x10, 0x0b, 0x3d, 0x82, 0x04, 0x34,
|
||||
0x1c, 0x49, 0x08, 0x20, 0x78, 0x87, 0x35, 0x9b, 0x28, 0x07, 0x4b, 0x1c, 0x8a, 0x05, 0x20, 0x8d,
|
||||
0x01, 0x20, 0x06, 0x22, 0x1c, 0x8e, 0x06, 0x20, 0xcc, 0x02, 0x00, 0xd0, 0xd2, 0x49, 0x08, 0xab,
|
||||
0x03, 0x20, 0x9b, 0x28, 0x4e, 0x09, 0x1c, 0x8a, 0x05, 0x20, 0x74, 0x01, 0x20, 0x06, 0x22, 0x1c,
|
||||
0x8e, 0x06, 0x20, 0x8d, 0x02, 0x00, 0xd0, 0xd2, 0x7c, 0x07, 0xab, 0x03, 0x20, 0x04, 0x34, 0x1c,
|
||||
0x4e, 0x09, 0x20, 0x78, 0x87, 0x10, 0x14, 0x43, 0x82, 0x9a, 0x92, 0x90, 0x45, 0x03, 0x31, 0x4e,
|
||||
0xe3, 0x5b, 0x37, 0x08, 0x84, 0x1e, 0x5b, 0x9f, 0x97, 0x88, 0x70, 0x5c, 0x8e, 0x8b, 0x1f, 0x0c,
|
||||
0x22, 0x47, 0x8e, 0x0c, 0x83, 0x74, 0x02, 0x47, 0x74, 0x02, 0x95, 0x07, 0x4b, 0x26, 0x7c, 0x07,
|
||||
0x95, 0x7c, 0x06, 0x26, 0x06, 0x4b, 0x95, 0x8a, 0x03, 0x26, 0x9b, 0x0c, 0x95, 0xa1, 0x76, 0x32,
|
||||
0xb6, 0x95, 0xa1, 0x76, 0x32, 0xb6, 0x33, 0xf2, 0x95, 0xa1, 0x76, 0x32, 0xb6, 0x95, 0xa1, 0x76,
|
||||
0x32, 0xb6, 0x95, 0x8a, 0x03, 0x26, 0x9b, 0x0c, 0x95, 0x7c, 0x06, 0x26, 0x06, 0x4b, 0x95, 0x07,
|
||||
0x4b, 0x26, 0x7c, 0x07, 0x95, 0x74, 0x02, 0x47, 0x74, 0x02, 0x83, 0x0c, 0x22, 0x47, 0x8e, 0x0c,
|
||||
0x1f, 0x97, 0x88, 0x70, 0x5c, 0x8e, 0x8b, 0x9f, 0x08, 0x84, 0x1e, 0x5b, 0x37, 0x4e, 0xe3, 0x5b,
|
||||
0x2f, 0x9a, 0x92, 0x90, 0x45, 0x03, 0x10, 0x14, 0x82, 0x5c, 0x07, 0x09, 0xcf, 0x94, 0x31, 0x21,
|
||||
0x69, 0x21, 0x69, 0x0e, 0x0b, 0x09, 0x06, 0x70, 0xac, 0xae, 0xc5, 0x31, 0x30, 0x1f, 0x30, 0x1f,
|
||||
0x30, 0x10, 0x14, 0x00, 0xd1, 0x8f, 0x05, 0x08, 0xa0, 0x0e, 0x57, 0x9c, 0x9e, 0xb8, 0x84, 0xb6,
|
||||
0x07, 0x43, 0xa8, 0x5b, 0x1f, 0x89, 0x07, 0x04, 0x86, 0x43, 0x65, 0x91, 0x8b, 0x20, 0x80, 0x0b,
|
||||
0x1c, 0x97, 0x28, 0x8d, 0xb4, 0x52, 0x1c, 0x06, 0x4b, 0x20, 0x5f, 0x03, 0x20, 0x0b, 0x4b, 0x20,
|
||||
0x7c, 0x58, 0x35, 0x0a, 0xb6, 0x03, 0x1b, 0xcb, 0x0e, 0x03, 0x72, 0x32, 0x0c, 0xb6, 0x04, 0x1b,
|
||||
0x80, 0x0e, 0x04, 0x72, 0x9a, 0x0e, 0xb6, 0x04, 0x1b, 0x98, 0xb6, 0x03, 0x1b, 0x3c, 0x52, 0x03,
|
||||
0x1b, 0x07, 0x84, 0x44, 0x31, 0xdc, 0x3f, 0x66, 0x6b, 0xdc, 0x3f, 0x66, 0x6b, 0xdc, 0x3f, 0x66,
|
||||
0x10, 0x14, 0x82, 0x7a, 0x09, 0xcf, 0x0e, 0x89, 0x64, 0x71, 0x51, 0x1e, 0x38, 0x02, 0xb8, 0xe3,
|
||||
0x62, 0x1f, 0x45, 0x05, 0x4c, 0x8f, 0x04, 0x7c, 0x93, 0x1c, 0x07, 0x34, 0x1c, 0x8d, 0xb4, 0x0f,
|
||||
0x28, 0x7e, 0x09, 0x1b, 0x8c, 0x49, 0x7f, 0x2f, 0xe3, 0x22, 0x02, 0x2f, 0xe2, 0x4b, 0x02, 0xc3,
|
||||
0xe3, 0x63, 0x31, 0x8c, 0x08, 0x0e, 0x22, 0x1c, 0x80, 0x07, 0x43, 0xd0, 0xd2, 0x01, 0xb6, 0xb4,
|
||||
0x0f, 0x28, 0x05, 0x34, 0x20, 0x80, 0x08, 0x95, 0x78, 0x08, 0x05, 0x86, 0x43, 0x5c, 0x08, 0x91,
|
||||
0x7f, 0xa8, 0x39, 0x76, 0x51, 0x1e, 0x34, 0x04, 0x9f, 0x7a, 0x09, 0x0c, 0x91, 0x40, 0x09, 0x05,
|
||||
0x10, 0x14, 0x26, 0x82, 0x06, 0x25, 0x35, 0x6e, 0x84, 0x35, 0x0b, 0x52, 0x84, 0x1b, 0x3c, 0x04,
|
||||
0x84, 0x72, 0x6e, 0x09, 0xf2, 0x72, 0x0b, 0x57, 0x01, 0xf2, 0x31, 0x3c, 0x05, 0xe0, 0x2f, 0x6e,
|
||||
0x0a, 0x00, 0xe0, 0x2f, 0x0b, 0x0f, 0x62, 0xe0, 0x37, 0x3c, 0x06, 0x43, 0xe0, 0x2e, 0x6e, 0x0b,
|
||||
0x41, 0xe0, 0x2e, 0x0b, 0x0f, 0x7f, 0x41, 0xe0, 0x9f, 0x3c, 0x06, 0x3d, 0xe0, 0x1f, 0x6e, 0x0b,
|
||||
0xb5, 0x1f, 0x0b, 0x0f, 0x7f, 0xb5, 0x1f, 0xe3, 0x3f, 0x6f, 0xe3, 0x3f, 0x6f, 0xe3, 0x3f, 0x35,
|
||||
0xb3, 0x2d, 0x10, 0x14, 0x82, 0x3f, 0xca, 0xca, 0x2e, 0xb3, 0x2d, 0x2d, 0x92, 0x57, 0x0d, 0x5d,
|
||||
0x9f, 0xdc, 0x1e, 0x34, 0x03, 0xb8, 0x84, 0xb6, 0x03, 0x9f, 0x0c, 0x7b, 0x02, 0x00, 0x8f, 0x05,
|
||||
0x7c, 0xc4, 0x00, 0xd0, 0x4f, 0x1c, 0x08, 0x22, 0x1c, 0xaa, 0xf2, 0x1c, 0xaa, 0x08, 0x22, 0x00,
|
||||
0xd0, 0x4f, 0x95, 0x78, 0x08, 0x05, 0x4c, 0x00, 0x8f, 0x05, 0x7c, 0xc4, 0xa8, 0x0e, 0x03, 0x83,
|
||||
0xe2, 0x1e, 0x38, 0x03, 0x9f, 0x7a, 0x09, 0x0c, 0x91, 0x40, 0x56, 0x10, 0x14, 0x41, 0x82, 0x9a,
|
||||
0x08, 0xcf, 0x0e, 0x0b, 0x08, 0x03, 0x2e, 0x32, 0x2c, 0x84, 0x9f, 0x32, 0x0c, 0x25, 0x1e, 0x2e,
|
||||
0x8e, 0x88, 0x05, 0x01, 0x00, 0x5c, 0x5e, 0x9f, 0x3c, 0x5b, 0x35, 0x78, 0x4b, 0x20, 0x97, 0x66,
|
||||
0x20, 0x4e, 0xd2, 0x8e, 0x07, 0x20, 0x78, 0x0f, 0x39, 0x9a, 0x5a, 0x0f, 0x40, 0x73, 0x9f, 0x91,
|
||||
0x6c, 0x0f, 0x1e, 0x4f, 0x6f, 0xdc, 0x5b, 0x84, 0x1e, 0x4f, 0x83, 0x91, 0x34, 0x05, 0x01, 0x32,
|
||||
0x05, 0x0d, 0x94, 0x77, 0x95, 0x0e, 0x84, 0x7d, 0x3d, 0x32, 0x8a, 0x09, 0x95, 0x8a, 0x8b, 0x76,
|
||||
0x04, 0x34, 0x95, 0x0a, 0x84, 0x01, 0x47, 0x32, 0xb6, 0x95, 0x07, 0x84, 0x01, 0x47, 0x32, 0xb6,
|
||||
0x95, 0x74, 0x04, 0x76, 0x04, 0x34, 0x83, 0x8e, 0x7d, 0x3d, 0x32, 0x8a, 0x09, 0x83, 0x9b, 0x52,
|
||||
0x05, 0x01, 0x32, 0x05, 0x0d, 0x94, 0x66, 0x1f, 0x07, 0xe3, 0x1e, 0x06, 0x2e, 0x07, 0x1e, 0xb6,
|
||||
0x06, 0x2f, 0x6c, 0xcf, 0x0e, 0x0b, 0x9e, 0x10, 0x14, 0xd1, 0xe0, 0x3f, 0xa8, 0xb6, 0xa8, 0x0f,
|
||||
0x5b, 0x20, 0x74, 0x02, 0x20, 0x08, 0x22, 0xab, 0x64, 0xd0, 0x0d, 0x1c, 0x8e, 0x08, 0x20, 0x74,
|
||||
0x02, 0x20, 0x08, 0x4b, 0xab, 0x04, 0x20, 0x05, 0x34, 0x1c, 0x8e, 0x07, 0x20, 0x74, 0x01, 0x20,
|
||||
0x08, 0x4b, 0xab, 0x04, 0x20, 0x06, 0x34, 0xbe, 0x79, 0x35, 0x09, 0x4b, 0x20, 0xcc, 0x04, 0x20,
|
||||
0x06, 0x34, 0xbe, 0x10, 0x14, 0x00, 0x82, 0x32, 0x06, 0xa0, 0x34, 0x85, 0x01, 0x2e, 0x9a, 0x0d,
|
||||
0x1e, 0x34, 0x03, 0x9f, 0x6e, 0x84, 0x1e, 0x7f, 0x1f, 0x49, 0x93, 0x4c, 0x8c, 0x49, 0x93, 0x83,
|
||||
0x78, 0x0f, 0x4f, 0x47, 0x07, 0x34, 0x76, 0x51, 0x01, 0x47, 0x8d, 0x1f, 0xa1, 0x1d, 0x32, 0x34,
|
||||
0x1f, 0x49, 0x06, 0x47, 0x7e, 0x09, 0x1f, 0x80, 0x09, 0x4c, 0x8c, 0x49, 0x44, 0x1f, 0x8f, 0x0b,
|
||||
0x1e, 0x22, 0x02, 0x2e, 0x8f, 0x2c, 0x9d, 0x37, 0x08, 0x84, 0x1e, 0x93, 0x9f, 0x0a, 0x34, 0x59,
|
||||
0x43, 0x7a, 0x0e, 0x4b, 0x83, 0x3c, 0x58, 0x47, 0x5f, 0x06, 0x95, 0x8a, 0x04, 0x26, 0x97, 0x0c,
|
||||
0x95, 0xa1, 0x76, 0x32, 0xb6, 0x1d, 0x51, 0x01, 0x26, 0x8d, 0x6f, 0x78, 0x87, 0x76, 0x04, 0x34,
|
||||
0x95, 0x7c, 0x58, 0x47, 0x5f, 0x0a, 0x95, 0x97, 0x52, 0x59, 0x43, 0x65, 0x91, 0x8b, 0x83, 0x2c,
|
||||
0xe3, 0x93, 0x9f, 0x08, 0x84, 0x1e, 0x5b, 0x37, 0x6c, 0x0b, 0x0e, 0xb6, 0x0b, 0x73, 0x10, 0x14,
|
||||
0x43, 0x82, 0x75, 0x0b, 0x53, 0x40, 0x73, 0x2f, 0x05, 0x53, 0x1e, 0x4f, 0x2e, 0x06, 0x25, 0x1e,
|
||||
0x4f, 0x1f, 0x74, 0x0d, 0x05, 0x01, 0x32, 0x05, 0x0d, 0x94, 0x77, 0x83, 0x49, 0x7d, 0x3d, 0x32,
|
||||
0x0c, 0x22, 0x95, 0x78, 0x87, 0x47, 0x97, 0x66, 0x95, 0xa1, 0x76, 0x8d, 0x06, 0x95, 0xa1, 0x76,
|
||||
0x8d, 0x09, 0x6f, 0x78, 0x87, 0x47, 0x97, 0x38, 0x95, 0x49, 0x7d, 0x3d, 0x32, 0x8a, 0x52, 0x95,
|
||||
0x9b, 0x38, 0x05, 0x01, 0x32, 0x05, 0x0d, 0x94, 0xb6, 0x83, 0x08, 0x84, 0x1e, 0x5b, 0x84, 0x1f,
|
||||
0x7e, 0x1e, 0x73, 0xb6, 0x9f, 0x6c, 0xcf, 0x67, 0x05, 0x34, 0x1c, 0x08, 0x22, 0x1c, 0x8a, 0x08,
|
||||
0x20, 0x74, 0x04, 0x20, 0x0b, 0x34, 0x20, 0x08, 0x84, 0x06, 0x1f, 0x78, 0x08, 0x4c, 0x32, 0x05,
|
||||
0x8e, 0x88, 0xb8, 0x25, 0x7d, 0xb8, 0x84, 0x63, 0x1f, 0x9a, 0x08, 0x0b, 0x53, 0x40, 0x08, 0x03,
|
||||
0x10, 0x0b, 0x47, 0xa9, 0xc1, 0x2a, 0x68, 0xb3, 0x10, 0x0b, 0x47, 0xa9, 0xc1, 0x2a, 0x68, 0x94,
|
||||
0x24, 0x1c, 0xc2, 0x0e, 0x77, 0x10, 0x1b, 0x43, 0x68, 0x65, 0x0c, 0x1b, 0x32, 0x4a, 0x84, 0x72,
|
||||
0x04, 0x0a, 0x0e, 0xe3, 0x2e, 0x9a, 0x09, 0x0e, 0x1e, 0x85, 0x1f, 0x65, 0x0d, 0xe3, 0x38, 0x9e,
|
||||
0x95, 0x32, 0x06, 0x0c, 0x25, 0x34, 0x08, 0x03, 0x1f, 0x05, 0x0a, 0x25, 0xb6, 0x56, 0x2e, 0x0e,
|
||||
0x1e, 0x5d, 0x2f, 0xe2, 0x38, 0x02, 0x1b, 0x0e, 0x1e, 0x5d, 0x72, 0x05, 0x0a, 0x25, 0xb6, 0x56,
|
||||
0x2f, 0x32, 0x06, 0x0c, 0x25, 0x34, 0x08, 0x03, 0x31, 0x65, 0x0d, 0xe3, 0x38, 0x9e, 0x2f, 0x9a,
|
||||
0x09, 0x0e, 0x1e, 0x85, 0x72, 0x04, 0x0a, 0x0e, 0xe3, 0x1b, 0x32, 0x4a, 0x84, 0x3b, 0x65, 0x0c,
|
||||
0x10, 0x1b, 0xd1, 0xa9, 0x46, 0x3e, 0x46, 0x3e, 0x10, 0x1b, 0x20, 0x82, 0x82, 0x0c, 0x6a, 0x2d,
|
||||
0x85, 0x01, 0x43, 0xc3, 0xb6, 0x0a, 0x04, 0x72, 0x4a, 0x25, 0xb6, 0x09, 0x03, 0x31, 0x65, 0x0c,
|
||||
0x25, 0x34, 0x6a, 0x2f, 0x9a, 0x5e, 0x1e, 0x85, 0x01, 0x31, 0x04, 0x09, 0x0e, 0x1e, 0x5d, 0x72,
|
||||
0x05, 0x0b, 0x25, 0xb6, 0x72, 0x8f, 0x0c, 0xe3, 0x31, 0x05, 0x0a, 0x25, 0xb6, 0x2e, 0x04, 0x09,
|
||||
0x0e, 0x1e, 0x5d, 0x83, 0x9a, 0x5e, 0xe3, 0x38, 0x06, 0x01, 0x83, 0x75, 0x0c, 0x25, 0x34, 0x6a,
|
||||
0x1f, 0x4a, 0x25, 0xb6, 0x09, 0x03, 0x71, 0x51, 0xb6, 0x0a, 0x04, 0xc3, 0x85, 0x01, 0x35, 0x0c,
|
||||
0x6a, 0x10, 0x11, 0x00, 0x82, 0x05, 0x5a, 0x0f, 0x40, 0x73, 0x2f, 0x05, 0x0d, 0xe3, 0xb6, 0x04,
|
||||
0x2e, 0xe2, 0x1e, 0x66, 0x83, 0xdc, 0x5d, 0x01, 0x01, 0x6c, 0x0f, 0x4b, 0x2e, 0x0b, 0x02, 0x47,
|
||||
0x7e, 0x28, 0x8d, 0xb4, 0x52, 0x1c, 0x7e, 0x08, 0x20, 0x97, 0x62, 0x72, 0x9a, 0x0e, 0x57, 0x03,
|
||||
0x1b, 0x9a, 0x53, 0x8b, 0x35, 0xcc, 0x05, 0x20, 0x49, 0x08, 0x20, 0x78, 0x0f, 0x66, 0x1b, 0xdc,
|
||||
0x24, 0x72, 0x2a, 0xb3, 0x10, 0x20, 0x26, 0x82, 0x65, 0x5a, 0x0e, 0x57, 0x9c, 0x6a, 0x9f, 0x04,
|
||||
0x0b, 0x84, 0x1e, 0x22, 0x04, 0x6f, 0xcb, 0x3f, 0x3a, 0x01, 0x27, 0x9a, 0x91, 0x4b, 0x06, 0x4c,
|
||||
0x00, 0x8c, 0x4a, 0x25, 0x44, 0x00, 0x71, 0x04, 0x25, 0x63, 0x47, 0x8f, 0x7c, 0xc4, 0x69, 0xbd,
|
||||
0x03, 0x29, 0x04, 0x53, 0x38, 0x69, 0x8a, 0x44, 0x36, 0x04, 0x53, 0x4f, 0x1d, 0xc6, 0x77, 0x3d,
|
||||
0x06, 0x0c, 0x0e, 0x40, 0x06, 0xf8, 0xe7, 0x06, 0xb6, 0x47, 0x78, 0x0f, 0x4f, 0x43, 0x32, 0x0c,
|
||||
0x25, 0x4b, 0xfa, 0xe5, 0x8a, 0x05, 0x1d, 0x97, 0x62, 0x43, 0x7c, 0x1e, 0x49, 0xe5, 0x06, 0x4b,
|
||||
0x1d, 0x4e, 0x09, 0x41, 0x97, 0x88, 0x70, 0x5c, 0x8e, 0xe7, 0x8f, 0x34, 0x1d, 0x8a, 0x04, 0x41,
|
||||
0x0a, 0x22, 0x47, 0x8e, 0xf5, 0x32, 0xb6, 0x1d, 0x53, 0x66, 0x43, 0x78, 0x87, 0x1d, 0x97, 0xe5,
|
||||
0x4d, 0xd4, 0xe7, 0xe0, 0x01, 0x47, 0x81, 0xe7, 0x8f, 0x34, 0x41, 0xe0, 0x01, 0x00, 0xe0, 0x01,
|
||||
0x47, 0x8d, 0x41, 0x05, 0x22, 0x1d, 0x53, 0x66, 0x43, 0x78, 0x87, 0x1d, 0x97, 0xe5, 0x8e, 0x06,
|
||||
0x1d, 0x8a, 0x05, 0x41, 0x0a, 0x22, 0x47, 0x8e, 0xf5, 0x3c, 0x58, 0x1d, 0x49, 0x09, 0x41, 0x97,
|
||||
0x88, 0x70, 0x8c, 0x0b, 0x84, 0x66, 0x4e, 0x39, 0x3d, 0xc6, 0x62, 0x43, 0x8e, 0x1e, 0x4e, 0xe3,
|
||||
0x06, 0x26, 0x53, 0x5b, 0x43, 0x32, 0x0c, 0x25, 0x4b, 0xf2, 0x22, 0x03, 0x69, 0x3c, 0x77, 0x3d,
|
||||
0x07, 0x0c, 0x0e, 0x40, 0x06, 0x43, 0x0e, 0x9c, 0x08, 0x03, 0x27, 0x0d, 0x94, 0x7f, 0x20, 0x9b,
|
||||
0x57, 0x04, 0x27, 0x01, 0x0a, 0x03, 0x29, 0x05, 0x25, 0x9d, 0x69, 0x05, 0x0d, 0x38, 0x6b, 0x05,
|
||||
0x91, 0x4b, 0x06, 0x4c, 0x32, 0x61, 0x8a, 0x4f, 0x6b, 0x9a, 0x0d, 0x0f, 0x3f, 0x6d, 0x83, 0x06,
|
||||
0x0d, 0x25, 0x1e, 0x63, 0x1f, 0x04, 0x08, 0xcf, 0x57, 0x0b, 0x9e, 0x10, 0x16, 0x1d, 0x82, 0x7e,
|
||||
0x4f, 0x20, 0x8a, 0x52, 0x1b, 0x9a, 0x25, 0x77, 0x1b, 0x09, 0x25, 0x93, 0x1b, 0x53, 0x4f, 0xb6,
|
||||
0x72, 0x05, 0x34, 0x78, 0x0f, 0x39, 0x31, 0x8e, 0x07, 0x00, 0x07, 0x22, 0x2f, 0x74, 0x02, 0x8f,
|
||||
0x94, 0x66, 0x37, 0x07, 0x22, 0x41, 0x8e, 0x07, 0x2e, 0x78, 0x94, 0x64, 0xc6, 0x0d, 0x00, 0xa3,
|
||||
0x53, 0x8b, 0x9f, 0x49, 0x09, 0x1d, 0x49, 0x09, 0x1f, 0xcc, 0x03, 0x1d, 0x9b, 0x62, 0x95, 0x3c,
|
||||
0x0c, 0x76, 0x8a, 0x06, 0x83, 0x0c, 0x3f, 0x38, 0x95, 0x74, 0x3f, 0x02, 0x6f, 0x4e, 0x3f, 0x5b,
|
||||
0x36, 0x78, 0x0f, 0x39, 0x69, 0x04, 0x34, 0x36, 0x04, 0xb6, 0x00, 0x71, 0x53, 0x8b, 0x6b, 0x7c,
|
||||
0x08, 0x00, 0x71, 0x08, 0x4b, 0x29, 0x8d, 0x03, 0x00, 0x71, 0x74, 0x01, 0x27, 0x3c, 0x0c, 0x29,
|
||||
0x8a, 0x06, 0x27, 0x8a, 0x06, 0x29, 0x3c, 0x0c, 0x10, 0x16, 0x82, 0x84, 0x1e, 0x40, 0x5d, 0x43,
|
||||
0xa8, 0x38, 0x03, 0xa8, 0x94, 0x7f, 0x1d, 0x51, 0x47, 0x5c, 0x7c, 0x93, 0x33, 0x07, 0x34, 0x33,
|
||||
0x8d, 0x33, 0x01, 0x34, 0x33, 0x07, 0x4b, 0x1d, 0x51, 0x47, 0x5c, 0x49, 0x77, 0x95, 0x3f, 0x52,
|
||||
0x04, 0xa8, 0x0c, 0x04, 0x00, 0xa8, 0x4b, 0x01, 0x1d, 0x51, 0x47, 0x8c, 0x06, 0x0d, 0x22, 0x33,
|
||||
0x01, 0x8a, 0x06, 0x3d, 0x51, 0x71, 0x04, 0x22, 0x41, 0xb7, 0x32, 0xb6, 0x41, 0xb7, 0x32, 0xeb,
|
||||
0x50, 0x26, 0x04, 0x34, 0x41, 0xb7, 0x01, 0x0c, 0x4b, 0x3d, 0x51, 0x1d, 0x32, 0x61, 0x0d, 0x94,
|
||||
0x8b, 0x29, 0xdc, 0x3f, 0x93, 0x29, 0xd4, 0x3f, 0x4f, 0x6b, 0xd4, 0x1e, 0xb6, 0x9c, 0x9e, 0x10,
|
||||
0x16, 0x1d, 0x82, 0x7a, 0x5a, 0x0e, 0x57, 0x89, 0x6a, 0x1f, 0x8f, 0x2c, 0x84, 0x22, 0x04, 0x95,
|
||||
0x04, 0x91, 0x3f, 0x6f, 0x04, 0x25, 0x85, 0x4c, 0x32, 0x02, 0x05, 0x5e, 0x94, 0x36, 0xbd, 0x03,
|
||||
0x71, 0x04, 0x0b, 0x36, 0x7c, 0x58, 0x35, 0x74, 0x03, 0x20, 0x07, 0x22, 0x1c, 0x7c, 0x06, 0x20,
|
||||
0x78, 0x0f, 0x66, 0x1c, 0xa1, 0x3d, 0xc3, 0x3b, 0xa1, 0x20, 0x78, 0x0f, 0x66, 0x1c, 0x7c, 0x06,
|
||||
0x1c, 0x07, 0x22, 0x1c, 0x74, 0x03, 0x1c, 0x7c, 0x58, 0x20, 0xbd, 0x03, 0x71, 0x04, 0x0b, 0x6f,
|
||||
0x04, 0x25, 0x85, 0x4c, 0x32, 0x02, 0x05, 0x5e, 0x94, 0x95, 0x04, 0x91, 0x3f, 0x95, 0x8f, 0x0a,
|
||||
0x84, 0x1e, 0x22, 0x04, 0x9f, 0x65, 0x5a, 0x0e, 0x57, 0x89, 0x6a, 0x10, 0x19, 0x82, 0xe3, 0xb6,
|
||||
0x0d, 0x89, 0x7b, 0x43, 0xa8, 0x57, 0x63, 0x27, 0xec, 0x3f, 0xb6, 0x06, 0x3d, 0x51, 0x3d, 0x32,
|
||||
0x02, 0x05, 0x5e, 0x25, 0x06, 0x50, 0x26, 0x05, 0x91, 0x77, 0x29, 0x4d, 0x71, 0x80, 0x0b, 0x43,
|
||||
0x51, 0x27, 0x9b, 0x77, 0xb7, 0x3d, 0x8e, 0x07, 0xb7, 0x3d, 0x06, 0x22, 0xb7, 0x41, 0x8f, 0x34,
|
||||
0xb7, 0x41, 0x32, 0xb6, 0xb7, 0x3d, 0x4d, 0x51, 0x27, 0x32, 0xb6, 0xb7, 0x41, 0x9a, 0x34, 0xb7,
|
||||
0x3d, 0x06, 0x22, 0xb7, 0x3d, 0x8e, 0x07, 0xb7, 0x41, 0x9b, 0x77, 0xb7, 0x43, 0x80, 0x0b, 0x43,
|
||||
0x51, 0x71, 0x05, 0x91, 0x77, 0x43, 0x51, 0x3d, 0x32, 0x02, 0x05, 0x5e, 0x25, 0x06, 0x41, 0x51,
|
||||
0x3f, 0x6d, 0x6f, 0x3f, 0x57, 0x63, 0x27, 0xec, 0x1e, 0x90, 0x89, 0x7b, 0x10, 0x14, 0x82, 0x84,
|
||||
0x3f, 0xa8, 0x84, 0xa8, 0x84, 0x83, 0xb3, 0xc5, 0x1c, 0x2b, 0x2b, 0x2b, 0xac, 0x3f, 0xa8, 0x84,
|
||||
0xa8, 0x84, 0x10, 0x12, 0x82, 0x30, 0x1f, 0x30, 0x1f, 0x30, 0x1f, 0xa7, 0x84, 0x1e, 0xca, 0xca,
|
||||
0x2e, 0xac, 0xc5, 0x10, 0x19, 0x1d, 0x82, 0x61, 0xa0, 0x53, 0x40, 0x0a, 0x59, 0x1f, 0x9a, 0x0b,
|
||||
0x84, 0x1e, 0x22, 0x04, 0x95, 0x3c, 0x30, 0x36, 0x06, 0x25, 0x5d, 0x86, 0x32, 0x02, 0x05, 0x5e,
|
||||
0x94, 0x36, 0x9b, 0x38, 0x02, 0x71, 0x04, 0x0b, 0x36, 0x8e, 0x0c, 0x20, 0x74, 0x02, 0x20, 0x07,
|
||||
0x4b, 0x1c, 0x8e, 0x05, 0x20, 0x78, 0x0f, 0x66, 0x1c, 0xa1, 0x1d, 0xdc, 0x1e, 0xb7, 0x94, 0x1e,
|
||||
0x29, 0xa1, 0x1d, 0xdc, 0x1e, 0x27, 0x78, 0x0f, 0x66, 0xb7, 0x3d, 0x8e, 0x06, 0xb7, 0x3d, 0x07,
|
||||
0x4b, 0xb7, 0x3d, 0x74, 0x02, 0x51, 0x6b, 0x7c, 0x7d, 0x3d, 0xb5, 0x6b, 0x6e, 0x38, 0x03, 0x23,
|
||||
0x55, 0x4b, 0x06, 0x4c, 0x32, 0x02, 0x04, 0x5e, 0x84, 0x6f, 0x05, 0x53, 0x3f, 0x6d, 0x6f, 0x9a,
|
||||
0x7c, 0x1e, 0xb6, 0x08, 0x01, 0x9f, 0x65, 0xa0, 0x53, 0x40, 0x09, 0x06, 0x01, 0x10, 0x18, 0x82,
|
||||
0x84, 0xaf, 0x46, 0x36, 0x46, 0x36, 0x46, 0x50, 0x23, 0x84, 0xaf, 0x84, 0x51, 0x10, 0x09, 0x82,
|
||||
0xac, 0xae, 0xae, 0xc5, 0x10, 0x09, 0x82, 0xac, 0xc5, 0x1c, 0xac, 0x19, 0x28, 0xaa, 0x97, 0xd2,
|
||||
0x7c, 0x09, 0x1b, 0x9a, 0x7c, 0x8b, 0xba, 0x0b, 0x1b, 0xe3, 0x7d, 0x1b, 0xb6, 0x85, 0x10, 0x15,
|
||||
0x6f, 0x2a, 0x33, 0x80, 0x4f, 0x50, 0x1d, 0x9a, 0x91, 0x39, 0x3d, 0x51, 0x76, 0xa2, 0xb6, 0x04,
|
||||
0x1d, 0x51, 0x47, 0x3c, 0x57, 0x03, 0x47, 0x51, 0x1d, 0x08, 0x84, 0x44, 0x76, 0x51, 0x3d, 0x09,
|
||||
0x84, 0x7d, 0x1d, 0x50, 0xcb, 0x0f, 0x60, 0x69, 0x51, 0x32, 0x8a, 0x93, 0x6f, 0xb5, 0x80, 0x5b,
|
||||
0x9f, 0xd4, 0xb6, 0x84, 0x06, 0xba, 0x06, 0x00, 0xba, 0x7d, 0xc3, 0x07, 0x84, 0x7d, 0x2f, 0x4d,
|
||||
0x06, 0x84, 0x44, 0x26, 0x50, 0x05, 0x84, 0x44, 0x2e, 0x4d, 0xc6, 0x57, 0x03, 0x69, 0x51, 0x3d,
|
||||
0x98, 0xb6, 0x03, 0x26, 0x51, 0x3d, 0x9a, 0x0e, 0xb6, 0x04, 0x76, 0x51, 0x1d, 0x9a, 0x0e, 0xb6,
|
||||
0x04, 0x47, 0x51, 0x76, 0x80, 0x39, 0x1d, 0x51, 0x26, 0x80, 0x0f, 0x06, 0x41, 0xb7, 0x01, 0x0c,
|
||||
0x84, 0x06, 0x43, 0xb7, 0x32, 0x8a, 0x4f, 0x10, 0x12, 0x82, 0xac, 0xae, 0xae, 0x3f, 0xa8, 0x84,
|
||||
0xa8, 0x84, 0x10, 0x1c, 0x82, 0x25, 0x39, 0x69, 0x05, 0xe3, 0x51, 0x4b, 0x69, 0x0a, 0xe3, 0x27,
|
||||
0x1e, 0x01, 0x47, 0x32, 0x1e, 0x51, 0x8a, 0x06, 0x76, 0x3c, 0x0c, 0x84, 0x51, 0x3c, 0x0c, 0x76,
|
||||
0x8a, 0x06, 0x84, 0x51, 0x8d, 0x02, 0x3d, 0x9a, 0x84, 0x8d, 0x27, 0xeb, 0x7c, 0x08, 0x1d, 0x08,
|
||||
0x4b, 0x4d, 0x71, 0x4d, 0x04, 0x34, 0x3d, 0x78, 0x87, 0x84, 0x51, 0x43, 0x53, 0x8b, 0x41, 0x04,
|
||||
0xb6, 0xe0, 0x51, 0x43, 0x08, 0x4b, 0x41, 0x7c, 0x08, 0xe0, 0x51, 0x43, 0x9b, 0x62, 0xcc, 0x03,
|
||||
0xe0, 0x51, 0x41, 0x8a, 0x06, 0x00, 0x3c, 0x0c, 0x00, 0xe0, 0x51, 0x41, 0x07, 0x22, 0x00, 0x8e,
|
||||
0x07, 0x00, 0xe0, 0x51, 0x41, 0x74, 0x79, 0xe0, 0x51, 0x3d, 0x0b, 0x34, 0x22, 0x43, 0xe0, 0x51,
|
||||
0x3d, 0x05, 0x25, 0x39, 0x43, 0xe0, 0x51, 0x3d, 0xcc, 0x57, 0x01, 0x43, 0xe0, 0x51, 0x1d, 0x49,
|
||||
0x93, 0x41, 0xe0, 0x51, 0x1d, 0x97, 0x8b, 0x41, 0xe0, 0xc9, 0xe0, 0x51, 0x50, 0x10, 0x18, 0x82,
|
||||
0x84, 0x5b, 0x23, 0x25, 0x7f, 0x47, 0xdc, 0xe5, 0x51, 0x4b, 0x43, 0xb5, 0x36, 0xe3, 0x77, 0x1d,
|
||||
0xdc, 0xe5, 0x51, 0x7c, 0x0c, 0x1d, 0xdc, 0xe5, 0x51, 0x74, 0x05, 0xb5, 0x6b, 0x4d, 0x08, 0x34,
|
||||
0xb5, 0x6b, 0x4d, 0xcc, 0x07, 0x3d, 0xe0, 0x50, 0x3c, 0x62, 0x43, 0xe0, 0x50, 0x78, 0x0f, 0x93,
|
||||
0x41, 0xe0, 0x50, 0x00, 0x97, 0x77, 0x43, 0xe0, 0x50, 0x43, 0x0b, 0x22, 0x43, 0xe0, 0x50, 0x43,
|
||||
0x9b, 0x8b, 0xdc, 0xe5, 0x51, 0x1d, 0x09, 0x34, 0xdc, 0xe5, 0x51, 0x1d, 0xcc, 0x06, 0xe0, 0x50,
|
||||
0x3d, 0x7e, 0x62, 0x84, 0x50, 0x3d, 0x78, 0x0f, 0x5b, 0xf2, 0x50, 0x1d, 0x05, 0x84, 0x74, 0x50,
|
||||
0x47, 0x8a, 0x7c, 0xe5, 0x51, 0x76, 0x9a, 0x25, 0xe7, 0xb7, 0x0a, 0xe3, 0x50, 0x47, 0x8f, 0xe3,
|
||||
0x50, 0x26, 0x08, 0x25, 0x10, 0x19, 0x1d, 0x82, 0x61, 0xa0, 0x90, 0x9c, 0x07, 0x03, 0x9f, 0x8f,
|
||||
0x7c, 0x1e, 0x22, 0x02, 0x83, 0xa2, 0x3f, 0x6d, 0x6f, 0x04, 0x25, 0x5d, 0x86, 0x01, 0x02, 0x05,
|
||||
0x7c, 0x87, 0xc7, 0x8e, 0x06, 0x71, 0xbb, 0x47, 0x78, 0x0f, 0x77, 0x29, 0x9a, 0x34, 0x00, 0x71,
|
||||
0xa1, 0x6b, 0x81, 0xb9, 0x71, 0xbb, 0x76, 0x7e, 0xbf, 0x71, 0x97, 0x66, 0x27, 0x7c, 0x44, 0x71,
|
||||
0x6e, 0x3a, 0x29, 0xbd, 0x03, 0x76, 0x9a, 0x0d, 0x94, 0x7f, 0x6b, 0x05, 0x25, 0x5d, 0x86, 0x01,
|
||||
0x02, 0x05, 0x7c, 0x87, 0x36, 0xa2, 0x3f, 0x6d, 0x95, 0x9a, 0x8e, 0x1e, 0x22, 0x02, 0x2e, 0x61,
|
||||
0xa0, 0x90, 0x9c, 0x08, 0x03, 0x10, 0x13, 0xd1, 0xdc, 0x1e, 0x40, 0x73, 0xca, 0x09, 0x43, 0xa8,
|
||||
0x93, 0x76, 0x51, 0x1d, 0x7a, 0x0d, 0x94, 0x8b, 0x47, 0x51, 0x47, 0x32, 0x0c, 0x4b, 0x1a, 0x04,
|
||||
0x34, 0x1a, 0x01, 0xb6, 0x1a, 0x01, 0xb6, 0x1a, 0x04, 0x34, 0x47, 0x51, 0x47, 0x32, 0x0c, 0x4b,
|
||||
0x47, 0x51, 0x1d, 0x7a, 0x0d, 0x94, 0x8b, 0xa8, 0x3a, 0x00, 0xa8, 0x09, 0x95, 0xdc, 0x1e, 0x40,
|
||||
0x08, 0x03, 0x2e, 0xac, 0x10, 0x19, 0x1d, 0x82, 0x61, 0xa0, 0x90, 0x9c, 0x08, 0x03, 0x9f, 0x8f,
|
||||
0x7c, 0x1e, 0x22, 0x03, 0x83, 0xa2, 0x3f, 0x6d, 0x6f, 0x04, 0x25, 0x5d, 0x86, 0x01, 0x02, 0x05,
|
||||
0x0a, 0x25, 0x64, 0xc7, 0x8e, 0x07, 0x00, 0x71, 0x7c, 0x06, 0x6b, 0x06, 0x22, 0x71, 0x78, 0x0f,
|
||||
0x77, 0x29, 0x9a, 0x34, 0x00, 0x71, 0xa1, 0x6b, 0x81, 0xb9, 0x71, 0xbb, 0x76, 0x3c, 0xbf, 0x71,
|
||||
0x97, 0x66, 0x27, 0x7c, 0x44, 0x71, 0x6e, 0x93, 0x29, 0xbd, 0x03, 0x76, 0x9a, 0x0d, 0xb6, 0x01,
|
||||
0x6b, 0x04, 0x25, 0x5d, 0x86, 0x01, 0x02, 0x05, 0x7c, 0x87, 0x36, 0x98, 0x3f, 0x0e, 0x04, 0x95,
|
||||
0x8f, 0x0a, 0x25, 0x1e, 0x63, 0x1f, 0x61, 0xa0, 0x0e, 0x25, 0x77, 0x35, 0x32, 0x8a, 0x7f, 0x20,
|
||||
0x6e, 0xc4, 0x20, 0x9b, 0x88, 0x43, 0xd0, 0x93, 0x10, 0x16, 0xd1, 0xdc, 0x1e, 0x40, 0x56, 0xca,
|
||||
0x60, 0x00, 0xa8, 0x38, 0x76, 0x51, 0x3d, 0x32, 0x05, 0x8e, 0x4f, 0x1a, 0x7c, 0x0c, 0x1a, 0x02,
|
||||
0xb6, 0x1a, 0xf2, 0x1a, 0x02, 0x34, 0x1a, 0x0a, 0x4b, 0x47, 0x51, 0x3d, 0x32, 0x05, 0x8e, 0x77,
|
||||
0xa8, 0x0f, 0x06, 0x76, 0x51, 0x1e, 0x22, 0x03, 0x43, 0xa8, 0x06, 0x95, 0xdc, 0xe5, 0x8f, 0x05,
|
||||
0x8a, 0x8b, 0x76, 0x51, 0x76, 0x0b, 0x34, 0x76, 0x51, 0x76, 0xcc, 0x06, 0x1a, 0x07, 0x34, 0x1a,
|
||||
0xcc, 0x06, 0x33, 0x07, 0x34, 0x33, 0xcc, 0x64, 0x50, 0x26, 0x4e, 0x0c, 0x41, 0xb7, 0x32, 0x53,
|
||||
0x8b, 0x50, 0x69, 0x08, 0x22, 0x10, 0x14, 0x43, 0x82, 0x75, 0xa0, 0x0e, 0x57, 0x9c, 0x09, 0x59,
|
||||
0x9f, 0x07, 0x3f, 0x1f, 0x09, 0x30, 0x95, 0x97, 0x52, 0x06, 0x4c, 0x32, 0x02, 0x04, 0x06, 0x92,
|
||||
0x83, 0x0a, 0x22, 0xab, 0x02, 0x3d, 0xc3, 0x01, 0xab, 0x03, 0x1c, 0x7c, 0x44, 0x20, 0x04, 0x25,
|
||||
0x85, 0x4c, 0x72, 0x07, 0x1e, 0x38, 0x56, 0x37, 0x9a, 0x0b, 0x1e, 0x34, 0x05, 0x2f, 0x7a, 0x5a,
|
||||
0xe3, 0x4f, 0x1b, 0x5c, 0x08, 0x91, 0x77, 0x35, 0x32, 0x0c, 0x4b, 0x20, 0x9a, 0xb6, 0x2d, 0x20,
|
||||
0x9a, 0xb6, 0x20, 0xcb, 0x0b, 0x95, 0x89, 0x07, 0x04, 0x4c, 0x00, 0x32, 0x61, 0x0d, 0x94, 0x39,
|
||||
0x95, 0x3f, 0x4b, 0xa8, 0x5b, 0x83, 0x8f, 0x05, 0x08, 0x0b, 0xcf, 0x57, 0x89, 0x06, 0x01, 0x10,
|
||||
0x14, 0xd1, 0x0f, 0x46, 0x6b, 0xcd, 0x37, 0xac, 0xc5, 0x1c, 0xac, 0x10, 0x17, 0x82, 0x84, 0x51,
|
||||
0x50, 0x23, 0x84, 0xc9, 0xe0, 0xaf, 0xa1, 0x69, 0x32, 0xb6, 0x6b, 0x78, 0x0f, 0x77, 0x69, 0x9a,
|
||||
0x34, 0x36, 0x8e, 0x06, 0x71, 0x06, 0x22, 0x36, 0x7e, 0x0c, 0x71, 0x8a, 0x07, 0x36, 0x74, 0x08,
|
||||
0x26, 0x4e, 0x66, 0x6f, 0x49, 0x88, 0x05, 0x02, 0x00, 0x8f, 0x05, 0x8e, 0x93, 0x6f, 0x32, 0x0c,
|
||||
0x3f, 0x0c, 0x83, 0x32, 0x2c, 0x84, 0x93, 0x37, 0x6c, 0x0b, 0x0e, 0xb6, 0x0b, 0x73, 0x10, 0x16,
|
||||
0xd1, 0x8a, 0x06, 0x29, 0x3c, 0x0c, 0x27, 0x3c, 0x0c, 0x29, 0x8a, 0x06, 0x27, 0x8d, 0x02, 0x00,
|
||||
0x71, 0x74, 0x01, 0x29, 0x7c, 0x08, 0x00, 0x71, 0x08, 0x4b, 0x6b, 0x04, 0xb6, 0x00, 0x71, 0x53,
|
||||
0x8b, 0x6b, 0x78, 0x0f, 0x39, 0x69, 0x04, 0x34, 0x6f, 0x08, 0x4b, 0x69, 0x7c, 0x08, 0x6f, 0x74,
|
||||
0x01, 0x76, 0x8d, 0x02, 0x95, 0x8a, 0x07, 0x76, 0x7e, 0x0c, 0x83, 0x3c, 0x0c, 0x76, 0x8a, 0x06,
|
||||
0x83, 0xcc, 0x03, 0x1d, 0x9b, 0x62, 0x83, 0x49, 0x09, 0x1d, 0x49, 0x09, 0xa3, 0x53, 0x8b, 0x9f,
|
||||
0x78, 0x94, 0x64, 0xc6, 0x0d, 0x37, 0x07, 0x22, 0x41, 0x8e, 0x07, 0x37, 0x74, 0x02, 0x8f, 0x94,
|
||||
0x66, 0x2f, 0x8e, 0x07, 0x00, 0x07, 0x22, 0x31, 0x05, 0x34, 0x78, 0x0f, 0x39, 0x72, 0x91, 0x7e,
|
||||
0x62, 0x31, 0x09, 0x25, 0x93, 0x72, 0x9a, 0x25, 0x77, 0x35, 0x8a, 0x52, 0x20, 0x7e, 0x4f, 0x10,
|
||||
0x20, 0xd1, 0x78, 0x87, 0x76, 0x07, 0x84, 0x4f, 0x26, 0x04, 0x34, 0x41, 0x49, 0x07, 0x26, 0x7c,
|
||||
0x22, 0x26, 0x4e, 0x09, 0x41, 0x05, 0x22, 0x26, 0x91, 0xb6, 0x26, 0x8e, 0x05, 0x41, 0x8d, 0x01,
|
||||
0x1d, 0x9a, 0x34, 0x0d, 0x0f, 0x77, 0x47, 0x8d, 0x01, 0x41, 0x78, 0x87, 0x1d, 0x07, 0x4b, 0x49,
|
||||
0x07, 0x47, 0x04, 0x34, 0x1d, 0x49, 0x08, 0x47, 0x8e, 0x06, 0x06, 0x22, 0x47, 0x4e, 0x09, 0x41,
|
||||
0xc6, 0x0c, 0x47, 0x53, 0x66, 0x02, 0xb6, 0x47, 0x8a, 0x05, 0x1d, 0x8d, 0x01, 0x41, 0x9a, 0x34,
|
||||
0x00, 0x78, 0x0f, 0x77, 0x3d, 0x8d, 0x01, 0x47, 0x8a, 0x04, 0x3d, 0x7e, 0x09, 0x43, 0x49, 0x07,
|
||||
0x43, 0xc6, 0x0c, 0x76, 0x4e, 0x08, 0x3d, 0x8e, 0x06, 0x43, 0x06, 0x22, 0x3d, 0x49, 0x08, 0x76,
|
||||
0x97, 0x0c, 0x3d, 0x53, 0x66, 0x00, 0x8f, 0xb6, 0x3d, 0x8a, 0x04, 0x76, 0x8d, 0x01, 0x00, 0x9a,
|
||||
0x34, 0x41, 0x78, 0x0f, 0x77, 0x43, 0x8d, 0x01, 0x26, 0x8a, 0x05, 0x43, 0x7e, 0x09, 0x3d, 0x49,
|
||||
0x07, 0xc6, 0x0b, 0x69, 0x4e, 0x09, 0x43, 0x8e, 0x06, 0x3d, 0x05, 0x22, 0x43, 0x49, 0x08, 0x69,
|
||||
0x04, 0x34, 0x43, 0x53, 0x66, 0x41, 0x8f, 0xb6, 0x00, 0x78, 0x87, 0x47, 0xdc, 0x66, 0x04, 0x34,
|
||||
0x1d, 0x78, 0x0f, 0x8b, 0x02, 0xb6, 0x00, 0x71, 0x8e, 0x05, 0x7e, 0x09, 0x47, 0x49, 0x07, 0x06,
|
||||
0x22, 0x00, 0x71, 0x7e, 0x09, 0x8e, 0x05, 0x47, 0x05, 0x22, 0x7c, 0x07, 0x71, 0x9a, 0x34, 0x94,
|
||||
0x66, 0x1d, 0x8f, 0xb6, 0x53, 0x77, 0x27, 0x91, 0x34, 0x76, 0x78, 0x94, 0xb6, 0x29, 0x0b, 0x84,
|
||||
0x93, 0x26, 0x49, 0x4b, 0x29, 0x07, 0x84, 0x39, 0x26, 0x05, 0x84, 0x4f, 0x27, 0x9a, 0x25, 0x01,
|
||||
0x26, 0x74, 0x77, 0x10, 0x16, 0x43, 0xd1, 0x7c, 0x62, 0x76, 0xcc, 0x0a, 0x36, 0xcc, 0x0a, 0x26,
|
||||
0x7c, 0x62, 0x29, 0xc6, 0x39, 0x3d, 0xc6, 0x39, 0x83, 0x7c, 0x62, 0x41, 0xcc, 0x0a, 0x1f, 0xcc,
|
||||
0x0a, 0x3d, 0x7c, 0x62, 0x95, 0xc6, 0x39, 0xc6, 0x39, 0x37, 0x0a, 0xb6, 0x01, 0xcc, 0x0a, 0x2f,
|
||||
0xcc, 0x0a, 0x7c, 0x62, 0x2f, 0x05, 0xe3, 0x39, 0x1b, 0x7c, 0x4b, 0x35, 0xcc, 0x62, 0x1b, 0x05,
|
||||
0x84, 0x39, 0x1b, 0xcc, 0xb6, 0x01, 0x72, 0x7c, 0x90, 0x4b, 0x37, 0xc6, 0x39, 0x55, 0x39, 0x37,
|
||||
0xcc, 0x0a, 0x43, 0x7c, 0x62, 0x9f, 0x7c, 0x58, 0x43, 0xcc, 0x0a, 0x83, 0xc6, 0x8b, 0x43, 0xc6,
|
||||
0x39, 0x83, 0xcc, 0x09, 0x47, 0x7c, 0x62, 0x6f, 0x7c, 0x58, 0x47, 0xcc, 0x0a, 0x6b, 0xc6, 0x8b,
|
||||
0x47, 0xc6, 0x39, 0x6b, 0xcc, 0x09, 0x71, 0x7c, 0x62, 0x27, 0x7c, 0x58, 0x71, 0xcc, 0x0a, 0x10,
|
||||
0x14, 0xd1, 0x7c, 0x58, 0x69, 0x5f, 0x0a, 0x6b, 0xcc, 0x09, 0x69, 0x49, 0x62, 0x27, 0xc6, 0x8b,
|
||||
0x76, 0x97, 0x39, 0x95, 0x7c, 0x58, 0x1d, 0x5f, 0x0a, 0x83, 0xcc, 0x09, 0x1d, 0x49, 0x62, 0x6f,
|
||||
0xc6, 0x8b, 0x41, 0x97, 0x39, 0x2e, 0x7c, 0x58, 0x32, 0x0d, 0x4b, 0x37, 0xcc, 0x08, 0x00, 0x49,
|
||||
0x62, 0x37, 0x05, 0x84, 0x7e, 0x39, 0x72, 0x0a, 0x84, 0x4b, 0x1b, 0xcc, 0x57, 0x01, 0xd0, 0x39,
|
||||
0x1c, 0xac, 0xc5, 0x10, 0x16, 0x00, 0xd1, 0xcd, 0x6b, 0x46, 0x0c, 0x35, 0x5f, 0x7f, 0x35, 0x8e,
|
||||
0x77, 0x35, 0x09, 0x84, 0x06, 0x35, 0x3c, 0x5b, 0x35, 0x97, 0x88, 0x35, 0x6e, 0xc4, 0x72, 0x32,
|
||||
0x8a, 0x7f, 0x35, 0x7c, 0x8b, 0x35, 0x4e, 0x4f, 0xd0, 0x93, 0x1b, 0x9a, 0x53, 0x38, 0x35, 0x5f,
|
||||
0x58, 0x35, 0x0b, 0xb6, 0x03, 0x35, 0x49, 0x39, 0x35, 0x3c, 0x4f, 0x35, 0x97, 0x3a, 0x1b, 0x8f,
|
||||
0x91, 0x7d, 0x35, 0x0c, 0x46, 0x6b, 0xcd, 0x10, 0x0c, 0x2a, 0x18, 0x0f, 0x1b, 0xac, 0xae, 0xae,
|
||||
0xc5, 0x1c, 0x18, 0x0f, 0x10, 0x0b, 0xd1, 0x0d, 0x87, 0x20, 0x4e, 0x09, 0x1c, 0x04, 0x34, 0x3b,
|
||||
0x53, 0x77, 0x1c, 0x7c, 0x07, 0x43, 0xd0, 0xd2, 0x8d, 0x02, 0xb0, 0x74, 0x01, 0x1c, 0x8a, 0x05,
|
||||
0x1c, 0x4e, 0x09, 0x20, 0x9a, 0xb6, 0x3b, 0x53, 0x77, 0x1c, 0x49, 0x08, 0x43, 0xd0, 0xd2, 0xcc,
|
||||
0x02, 0xb0, 0x8d, 0x01, 0x1c, 0x8a, 0x05, 0x1c, 0x07, 0x4b, 0x1c, 0x9b, 0x28, 0x78, 0x87, 0x20,
|
||||
0x49, 0x08, 0x1c, 0x04, 0x34, 0x10, 0x0c, 0x2a, 0x18, 0x24, 0xae, 0xae, 0x3b, 0xac, 0x1b, 0x18,
|
||||
0x0f, 0x10, 0x1b, 0x76, 0x82, 0x80, 0x44, 0x1b, 0x5f, 0x0f, 0xc4, 0x2f, 0x32, 0x0c, 0xb6, 0x91,
|
||||
0x7d, 0x2e, 0x32, 0x8a, 0x44, 0x80, 0x7d, 0x2e, 0x8e, 0x44, 0x43, 0x80, 0x0b, 0x9f, 0x7c, 0x7d,
|
||||
0x41, 0x32, 0x0c, 0x4b, 0x83, 0x7c, 0x7d, 0x1d, 0x32, 0x0c, 0x4b, 0x6f, 0x49, 0x60, 0x26, 0xcb,
|
||||
0x09, 0x6b, 0x08, 0x4b, 0x27, 0x7c, 0x08, 0x10, 0x10, 0x48, 0x10, 0x10, 0x1d, 0x49, 0x03, 0x3b,
|
||||
0x0c, 0xc4, 0x1c, 0x6e, 0x09, 0x3b, 0x97, 0x04, 0x3b, 0x06, 0xc4, 0x3b, 0x0a, 0x3a, 0x10, 0x14,
|
||||
0x43, 0xa9, 0x7a, 0x09, 0xcf, 0x57, 0x0b, 0x9e, 0x2e, 0xe2, 0x1e, 0x6d, 0xca, 0x05, 0x1f, 0x78,
|
||||
0x08, 0x05, 0x4c, 0x32, 0x7a, 0x0d, 0xb6, 0x01, 0x35, 0x32, 0x8a, 0x06, 0x20, 0x9a, 0x4b, 0x3b,
|
||||
0x34, 0x2e, 0x05, 0x09, 0xcf, 0x25, 0xb6, 0x83, 0x9a, 0x0c, 0x3f, 0x83, 0x6e, 0x3f, 0x83, 0x09,
|
||||
0xb6, 0x7b, 0x86, 0x43, 0xe0, 0x95, 0x78, 0x0f, 0x39, 0x76, 0x74, 0x47, 0x51, 0x01, 0x76, 0x07,
|
||||
0x84, 0x83, 0x53, 0x8b, 0x1d, 0x9a, 0x0e, 0x84, 0x83, 0x0b, 0xb6, 0x6a, 0x00, 0x8c, 0x09, 0xe3,
|
||||
0x83, 0x04, 0x84, 0x1e, 0x93, 0x84, 0x1f, 0x3c, 0xe3, 0x93, 0xf2, 0x1f, 0x9a, 0x92, 0x57, 0x0d,
|
||||
0x56, 0xe0, 0x10, 0x14, 0x2a, 0xa7, 0x43, 0x04, 0x5a, 0x57, 0xa6, 0xbc, 0x95, 0xb1, 0x10, 0x12,
|
||||
0x1d, 0xa9, 0x75, 0xa0, 0x94, 0x9c, 0x08, 0x03, 0x37, 0x07, 0x0e, 0x21, 0x47, 0x7c, 0x21, 0x1d,
|
||||
0x7e, 0x52, 0x06, 0x86, 0x8f, 0x04, 0x08, 0x0c, 0x1f, 0xcc, 0x0a, 0x20, 0x07, 0x34, 0x1c, 0x8e,
|
||||
0x06, 0x20, 0x78, 0x0f, 0x66, 0x1c, 0xa1, 0x3d, 0xc3, 0x01, 0x20, 0x78, 0x0f, 0x66, 0x1c, 0x8e,
|
||||
0x06, 0x1c, 0x07, 0x34, 0x1c, 0xcc, 0x0a, 0x1c, 0x7e, 0x52, 0x06, 0x86, 0x00, 0x5c, 0x07, 0x0c,
|
||||
0x2e, 0x7c, 0x21, 0x76, 0x08, 0x25, 0x1e, 0x2f, 0x65, 0x0b, 0x91, 0x9c, 0x07, 0x03, 0x10, 0x14,
|
||||
0x2f, 0x3b, 0xae, 0x2e, 0xc8, 0xb2, 0xf2, 0x10, 0x14, 0x1d, 0xa9, 0x6c, 0xcf, 0x0e, 0x0b, 0x9e,
|
||||
0x2f, 0x08, 0x1e, 0xb6, 0x04, 0x2e, 0x0a, 0x25, 0x1e, 0x77, 0x1f, 0x7e, 0x93, 0x70, 0x00, 0x7a,
|
||||
0x0d, 0x34, 0x83, 0xcc, 0x04, 0x47, 0x5f, 0x05, 0x95, 0x7e, 0x08, 0x26, 0x05, 0x4b, 0x95, 0x8e,
|
||||
0x03, 0x76, 0x32, 0x34, 0x6f, 0x78, 0x3f, 0xb6, 0x95, 0x91, 0x30, 0x36, 0xe2, 0x3f, 0x95, 0xa1,
|
||||
0x1c, 0x8e, 0x04, 0x1c, 0x07, 0x22, 0x1c, 0x74, 0x08, 0x76, 0x8f, 0x0b, 0x1f, 0x4e, 0x38, 0x05,
|
||||
0x02, 0x32, 0x02, 0x05, 0x7c, 0x9f, 0x0a, 0x3f, 0x2e, 0x4e, 0xe3, 0x34, 0x04, 0x37, 0x65, 0x0b,
|
||||
0x0e, 0x57, 0x0d, 0x56, 0x10, 0x0b, 0x43, 0x2a, 0xc8, 0x84, 0x31, 0xcb, 0xe3, 0x31, 0x7e, 0x1e,
|
||||
0x31, 0x8a, 0x9d, 0x20, 0xa1, 0x6b, 0x50, 0xba, 0x42, 0xb8, 0x42, 0xb8, 0xe3, 0x72, 0xac, 0xae,
|
||||
0x10, 0x14, 0x1d, 0xa9, 0xc8, 0x67, 0xf2, 0x1f, 0x80, 0x84, 0x4b, 0xf2, 0x83, 0x5f, 0x1e, 0x93,
|
||||
0x84, 0x83, 0x7c, 0x93, 0x4c, 0x8c, 0x09, 0xe3, 0x95, 0x74, 0x06, 0x47, 0x06, 0x25, 0x95, 0x08,
|
||||
0x22, 0x26, 0x0b, 0x84, 0x95, 0x8e, 0x05, 0x26, 0x05, 0x84, 0x95, 0x53, 0x66, 0x26, 0x74, 0x33,
|
||||
0xf2, 0x33, 0xf2, 0x95, 0x53, 0x66, 0x26, 0x74, 0x95, 0x8e, 0x05, 0x26, 0x05, 0x84, 0x95, 0x08,
|
||||
0x22, 0x26, 0x0b, 0x84, 0x6f, 0x9a, 0x84, 0x06, 0x47, 0x06, 0x25, 0x83, 0x7c, 0x93, 0x4c, 0x8c,
|
||||
0x09, 0xe3, 0x83, 0x5f, 0x1e, 0x93, 0x84, 0x1f, 0x80, 0x84, 0x4b, 0x01, 0xb6, 0x2e, 0xc8, 0x67,
|
||||
0x02, 0x34, 0x1c, 0x05, 0x4b, 0xbe, 0x4e, 0x66, 0x1f, 0x0c, 0x7b, 0x86, 0x8f, 0x05, 0x8e, 0x3a,
|
||||
0x1f, 0xe2, 0x1e, 0xc4, 0x26, 0x51, 0x1e, 0x38, 0x02, 0x2e, 0x61, 0xa0, 0x0e, 0x57, 0x45, 0x05,
|
||||
0x10, 0x14, 0x2a, 0xa7, 0x00, 0x9a, 0xa5, 0xad, 0x10, 0x09, 0x2a, 0xb3, 0x72, 0x2a, 0xac, 0x3b,
|
||||
0xac, 0x10, 0x09, 0x2a, 0xb3, 0x72, 0x2a, 0xa7, 0xae, 0xae, 0xb4, 0x0f, 0x28, 0x97, 0x0c, 0x35,
|
||||
0x9a, 0x8a, 0x08, 0x1b, 0xe3, 0x66, 0x72, 0xe2, 0x4f, 0x31, 0xdc, 0x67, 0x10, 0x13, 0x2a, 0xa7,
|
||||
0x76, 0x98, 0x84, 0x06, 0x1d, 0x51, 0x47, 0x3c, 0x57, 0x04, 0x47, 0x51, 0x1d, 0x4e, 0x52, 0x03,
|
||||
0x3d, 0x50, 0x32, 0x7c, 0x38, 0x02, 0x1f, 0x4d, 0x32, 0x8a, 0x3a, 0x01, 0x69, 0x51, 0x9a, 0x0d,
|
||||
0x94, 0x5b, 0x6f, 0xb5, 0x98, 0x84, 0x06, 0x2f, 0xe2, 0xb6, 0x04, 0xba, 0x06, 0x37, 0xd4, 0x34,
|
||||
0x94, 0x8b, 0xc3, 0x80, 0x39, 0x2f, 0x4d, 0x80, 0x39, 0x26, 0x50, 0x80, 0x39, 0x76, 0x50, 0x32,
|
||||
0x0d, 0x84, 0x06, 0x83, 0xdc, 0xe5, 0x32, 0x0c, 0x84, 0x06, 0x26, 0x51, 0x3d, 0x32, 0x0c, 0x84,
|
||||
0x06, 0x76, 0x51, 0x1d, 0x32, 0x8a, 0x4f, 0x47, 0x51, 0x47, 0x32, 0x8a, 0x4f, 0x10, 0x09, 0x2a,
|
||||
0xac, 0xae, 0x3b, 0xac, 0x10, 0x1f, 0xce, 0x05, 0xa0, 0x52, 0x9d, 0x3d, 0x05, 0xa0, 0x52, 0x9d,
|
||||
0x69, 0x4d, 0x0a, 0x25, 0xb6, 0x03, 0x32, 0x0a, 0x25, 0xb6, 0x03, 0x43, 0xb5, 0x2c, 0x34, 0x00,
|
||||
0x7c, 0xe3, 0xc4, 0x1d, 0xdc, 0xb6, 0x6a, 0x8f, 0x4e, 0x88, 0x57, 0x6a, 0x00, 0x6c, 0x84, 0x06,
|
||||
0x3d, 0xd4, 0xb6, 0x03, 0x1d, 0x49, 0x57, 0x03, 0x1d, 0x09, 0x4b, 0x1d, 0xdc, 0x4f, 0x47, 0x9b,
|
||||
0x4f, 0x1d, 0x9a, 0x34, 0x1d, 0xdc, 0x66, 0x47, 0x8d, 0x02, 0x1d, 0x32, 0xb6, 0x00, 0xb5, 0x26,
|
||||
0x96, 0x4d, 0xb5, 0x26, 0x96, 0x4d, 0xb5, 0x10, 0x14, 0xce, 0x03, 0xa5, 0xad, 0x10, 0x14, 0x1d,
|
||||
0xa9, 0x04, 0x5a, 0x90, 0x67, 0x37, 0xcb, 0x1e, 0x60, 0x9f, 0x5f, 0x0f, 0x1e, 0xc4, 0x1f, 0x7c,
|
||||
0x3a, 0x4c, 0x8c, 0x7c, 0x3a, 0x83, 0x74, 0x07, 0x47, 0x7e, 0x66, 0x95, 0x4e, 0x0c, 0x26, 0x8a,
|
||||
0x08, 0x95, 0x8e, 0x05, 0x26, 0x06, 0x22, 0x95, 0x53, 0x66, 0x76, 0x8f, 0x34, 0x33, 0xf2, 0x33,
|
||||
0xf2, 0x95, 0x53, 0x66, 0x76, 0x8f, 0x34, 0x95, 0x8e, 0x05, 0x26, 0x05, 0x22, 0x95, 0x08, 0x22,
|
||||
0x26, 0x8a, 0x08, 0x95, 0x74, 0x07, 0x47, 0x7e, 0x66, 0x83, 0x7c, 0x3a, 0x4c, 0x8c, 0x7c, 0x3a,
|
||||
0x1f, 0x5f, 0x0f, 0x1e, 0xc4, 0x9f, 0xcb, 0x1e, 0x60, 0x2f, 0x05, 0x5a, 0x90, 0x67, 0x10, 0x14,
|
||||
0xce, 0x04, 0x5a, 0x57, 0xa6, 0xbc, 0x95, 0xb1, 0x2e, 0xa7, 0x10, 0x14, 0x1d, 0xa9, 0xc8, 0xb2,
|
||||
0xf2, 0x3b, 0xa7, 0x10, 0x0d, 0xce, 0x05, 0xa0, 0xf7, 0x71, 0x51, 0x01, 0x0a, 0x42, 0x71, 0x51,
|
||||
0x2c, 0x2f, 0xe3, 0x73, 0x00, 0xc3, 0x8b, 0x72, 0xdc, 0x93, 0x1b, 0xdc, 0x8b, 0x3d, 0xc3, 0x01,
|
||||
0x1c, 0xb3, 0xae, 0x10, 0x11, 0x43, 0xa9, 0x9a, 0x09, 0xcf, 0x0e, 0x9c, 0x08, 0x03, 0x37, 0x08,
|
||||
0x25, 0x1e, 0x2e, 0x3c, 0x21, 0x47, 0x0c, 0x34, 0x05, 0x02, 0x43, 0x5c, 0x07, 0x0c, 0x83, 0xdc,
|
||||
0x77, 0xab, 0x05, 0x1c, 0x0a, 0x84, 0x45, 0x05, 0x02, 0x72, 0x6e, 0x84, 0x34, 0x73, 0x37, 0x8f,
|
||||
0x09, 0x53, 0x1e, 0x06, 0x31, 0x5c, 0x08, 0x0b, 0x91, 0x87, 0x72, 0x32, 0x05, 0x0d, 0x22, 0x1c,
|
||||
0x97, 0x28, 0x8d, 0x9f, 0x0b, 0x02, 0x76, 0x04, 0xb6, 0x95, 0xdc, 0x85, 0x86, 0x01, 0x65, 0x0e,
|
||||
0x4b, 0x43, 0xa8, 0x03, 0x9f, 0x04, 0x0c, 0x1e, 0xb6, 0x04, 0x2f, 0x04, 0x92, 0x0e, 0x57, 0x85,
|
||||
0x01, 0x10, 0x0d, 0x82, 0xb3, 0x2d, 0x41, 0xba, 0x42, 0xb8, 0x42, 0xb8, 0xe3, 0x31, 0xb3, 0xae,
|
||||
0x3b, 0x53, 0x66, 0x1c, 0x0b, 0x22, 0x02, 0x20, 0x3c, 0x1e, 0x72, 0x8a, 0xe3, 0x1b, 0xc8, 0x84,
|
||||
0x10, 0x14, 0x68, 0x1a, 0x4d, 0x54, 0x54, 0x54, 0x54, 0x33, 0x84, 0x1a, 0x8d, 0x83, 0xa1, 0x47,
|
||||
0x9a, 0x84, 0x95, 0x78, 0x87, 0x47, 0x08, 0x84, 0x83, 0x0a, 0x22, 0x47, 0x04, 0x25, 0x6f, 0xc6,
|
||||
0x3a, 0x03, 0x00, 0x8c, 0x08, 0xe3, 0x1f, 0x8a, 0x1e, 0x5b, 0x84, 0x1f, 0x80, 0x25, 0x5b, 0xf2,
|
||||
0x9f, 0x75, 0xcf, 0x67, 0xf2, 0x10, 0x13, 0xa9, 0x8a, 0x06, 0x69, 0x3c, 0x0c, 0x6f, 0x07, 0x22,
|
||||
0x69, 0x8e, 0x07, 0x6f, 0x74, 0x02, 0x76, 0x74, 0x01, 0x95, 0x8e, 0x07, 0x76, 0x07, 0x22, 0x83,
|
||||
0x05, 0x34, 0x47, 0x78, 0x0f, 0x39, 0x83, 0xcc, 0x03, 0x1d, 0x9b, 0x62, 0x83, 0x7c, 0x08, 0x1d,
|
||||
0x08, 0x4b, 0xa3, 0x53, 0x8b, 0x2e, 0x53, 0x8b, 0x41, 0x04, 0x34, 0x37, 0x08, 0x4b, 0x41, 0x7c,
|
||||
0x08, 0x37, 0x9b, 0x62, 0xcc, 0x03, 0x2f, 0x8a, 0x06, 0x00, 0x3c, 0x0c, 0x31, 0x07, 0x22, 0x00,
|
||||
0x8e, 0x07, 0x31, 0x74, 0x79, 0x31, 0x0b, 0x34, 0x22, 0x1b, 0x05, 0x25, 0x39, 0x1b, 0xcc, 0x57,
|
||||
0x01, 0x35, 0x7c, 0x3a, 0x10, 0x1a, 0xa9, 0x0d, 0x0f, 0x77, 0x1d, 0x53, 0xb6, 0x3d, 0x9a, 0x34,
|
||||
0x71, 0x49, 0x07, 0x41, 0x8f, 0x25, 0x66, 0x3d, 0x7e, 0x09, 0x71, 0x06, 0x22, 0x3d, 0x06, 0xe3,
|
||||
0x06, 0x3d, 0x8e, 0x06, 0x69, 0x8f, 0xb6, 0x3d, 0x0a, 0x34, 0x4b, 0x3d, 0x53, 0x66, 0x71, 0x78,
|
||||
0x0f, 0x77, 0x41, 0x91, 0x06, 0xb6, 0x43, 0x9a, 0x34, 0x27, 0x7c, 0x07, 0x00, 0x8f, 0xb6, 0x00,
|
||||
0x53, 0x66, 0x43, 0x7e, 0x09, 0x27, 0x06, 0x22, 0x43, 0x06, 0x4b, 0x00, 0x7c, 0x06, 0x43, 0x8e,
|
||||
0x06, 0x27, 0x02, 0xb6, 0x43, 0x7c, 0x06, 0x00, 0x07, 0x4b, 0x43, 0x53, 0x66, 0x27, 0x78, 0x0f,
|
||||
0x77, 0x00, 0x53, 0x77, 0x9a, 0xb6, 0x9a, 0x34, 0x6b, 0x7c, 0x07, 0x03, 0xb6, 0x41, 0x91, 0x65,
|
||||
0x4b, 0x6b, 0x3c, 0x85, 0x4b, 0x41, 0x7c, 0x06, 0x8e, 0x06, 0x29, 0x8f, 0xb6, 0x7c, 0x06, 0x41,
|
||||
0x06, 0x4b, 0x53, 0x66, 0x6b, 0x78, 0x25, 0x77, 0x43, 0x9a, 0x84, 0x34, 0x6f, 0x7c, 0xb6, 0x1d,
|
||||
0x91, 0x4b, 0x6f, 0x3c, 0x4b, 0x1d, 0x0a, 0x25, 0x06, 0x36, 0x8f, 0x25, 0x06, 0x1d, 0x06, 0x84,
|
||||
0x66, 0x6f, 0x78, 0x94, 0x77, 0x1d, 0x9b, 0x52, 0x83, 0x0a, 0xb6, 0x76, 0x0e, 0x4b, 0x10, 0x13,
|
||||
0x00, 0xa9, 0x7c, 0x7f, 0x47, 0x6e, 0x3a, 0x95, 0x5f, 0x0c, 0x47, 0x8a, 0x58, 0x83, 0x9b, 0x5b,
|
||||
0x3d, 0x7e, 0x77, 0x9f, 0x7e, 0x8b, 0x43, 0x9b, 0x4f, 0x37, 0x8e, 0x58, 0x5f, 0x0b, 0x2f, 0x6e,
|
||||
0x3a, 0x7c, 0x7f, 0x31, 0x05, 0xe3, 0x39, 0x1b, 0x09, 0x84, 0x93, 0x35, 0xcc, 0x58, 0x35, 0x08,
|
||||
0x84, 0x77, 0x1b, 0x04, 0x25, 0xc4, 0x31, 0x6e, 0x88, 0x53, 0x93, 0x31, 0x8a, 0x58, 0x3c, 0x8b,
|
||||
0x37, 0x49, 0x77, 0x43, 0x7c, 0x58, 0x83, 0xc6, 0x4f, 0x41, 0xcc, 0x09, 0x1f, 0x6e, 0x3a, 0x41,
|
||||
0xc6, 0x8b, 0x6f, 0x32, 0x8a, 0x58, 0x47, 0x7c, 0x62, 0x36, 0x49, 0x77, 0x76, 0x5f, 0x0a, 0x10,
|
||||
0x13, 0xa9, 0x8a, 0x07, 0x69, 0x3c, 0x0c, 0x6f, 0x06, 0x34, 0x69, 0x8a, 0x06, 0x95, 0x53, 0x8b,
|
||||
0x76, 0x79, 0x6f, 0x08, 0x22, 0x76, 0x09, 0x4b, 0x83, 0x74, 0x02, 0x47, 0x53, 0x8b, 0x1f, 0x8e,
|
||||
0x08, 0x1d, 0x05, 0x34, 0xa3, 0x8e, 0x07, 0x9f, 0x78, 0x94, 0x06, 0x41, 0x74, 0x02, 0x2e, 0x7e,
|
||||
0x0c, 0x41, 0x08, 0x22, 0x37, 0x8d, 0x03, 0x00, 0x78, 0x0f, 0x39, 0x2f, 0x49, 0x09, 0x00, 0x04,
|
||||
0xb6, 0x2f, 0x9a, 0x84, 0x01, 0x7c, 0x08, 0x72, 0x8a, 0x4e, 0x77, 0x72, 0x06, 0x25, 0x38, 0x35,
|
||||
0x0e, 0x25, 0x06, 0x35, 0x4e, 0x57, 0x01, 0x35, 0x74, 0x09, 0x20, 0xcc, 0x04, 0x20, 0x05, 0x34,
|
||||
0x1c, 0x7c, 0x07, 0x20, 0x8d, 0x02, 0x1b, 0x8f, 0x0b, 0x4b, 0x1b, 0xe3, 0x77, 0x72, 0xe2, 0x93,
|
||||
0x2f, 0xd4, 0x34, 0x07, 0x10, 0x11, 0xa9, 0x2b, 0x2b, 0x3f, 0x57, 0x20, 0x4e, 0x8b, 0xd0, 0x5b,
|
||||
0x35, 0x6e, 0x88, 0x35, 0x5f, 0x58, 0x35, 0x8e, 0x77, 0x35, 0x08, 0x84, 0x06, 0xd0, 0x93, 0x35,
|
||||
0x6e, 0x38, 0x35, 0x5f, 0x7f, 0x35, 0x7c, 0x8b, 0x35, 0x7e, 0x4f, 0x35, 0x97, 0x3a, 0x20, 0x53,
|
||||
0x3f, 0x1f, 0x2b, 0x2b, 0x10, 0x14, 0x26, 0x2a, 0x06, 0x5a, 0x91, 0x1b, 0x0c, 0x1e, 0x72, 0x3c,
|
||||
0xe3, 0x72, 0x8e, 0x0c, 0x70, 0x35, 0x53, 0x77, 0x1c, 0xb3, 0x2d, 0xb4, 0x0f, 0x28, 0x3c, 0x0c,
|
||||
0x35, 0x7a, 0x53, 0x5b, 0xba, 0x60, 0x31, 0xe2, 0x5b, 0x1b, 0xe2, 0x4b, 0x35, 0x8f, 0x7e, 0x4f,
|
||||
0x1c, 0x7e, 0xd2, 0xaa, 0xf2, 0xc1, 0x72, 0xa1, 0x20, 0x78, 0x87, 0x20, 0x0b, 0x34, 0x70, 0x35,
|
||||
0x3c, 0xe3, 0x1b, 0x0b, 0x1e, 0x35, 0x05, 0x5a, 0x91, 0x10, 0x0b, 0x00, 0x2a, 0xac, 0xae, 0xae,
|
||||
0xc5, 0x1c, 0xac, 0x10, 0x14, 0x00, 0x2a, 0xb6, 0x89, 0x06, 0x35, 0xe3, 0x38, 0x37, 0xd4, 0x1e,
|
||||
0x06, 0x35, 0x5c, 0x0c, 0x22, 0x1c, 0x9b, 0x28, 0x8d, 0xc1, 0x72, 0xa1, 0x1c, 0x8a, 0x06, 0x1c,
|
||||
0x08, 0xb6, 0x59, 0x35, 0xcb, 0x25, 0x35, 0x08, 0xe3, 0x1b, 0x0a, 0x1e, 0x72, 0x07, 0x84, 0x6a,
|
||||
0x35, 0x8a, 0x07, 0xab, 0x02, 0x1c, 0xb3, 0x2d, 0xb4, 0x0f, 0x28, 0x04, 0x34, 0x35, 0x5c, 0x0c,
|
||||
0x22, 0xc3, 0x25, 0x06, 0xba, 0x0b, 0x1b, 0xb6, 0x0d, 0x5d, 0x10, 0x1b, 0x83, 0x3b, 0x82, 0xa9,
|
||||
0x32, 0x6b, 0x9a, 0x92, 0x0e, 0x40, 0x56, 0x26, 0xa2, 0x27, 0x32, 0x2c, 0xb6, 0x56, 0x02, 0x00,
|
||||
0x7a, 0x8a, 0x27, 0x78, 0x46, 0x0d, 0x69, 0xd4, 0x38, 0x59, 0x8f, 0x05, 0x09, 0x0e, 0x1e, 0x4b,
|
||||
0x01, 0x29, 0x0e, 0x06, 0x26, 0x04, 0x09, 0x0c, 0x90, 0x45, 0x03, 0x6b, 0x8f, 0x10,
|
||||
};
|
||||
|
||||
static const uint16_t mf_rlefont_DejaVuSans32_aa_glyph_offsets_0[95] = {
|
||||
0x0000, 0x0003, 0x001a, 0x0026, 0x00a6, 0x0132, 0x020e, 0x02a9,
|
||||
0x02ad, 0x0301, 0x0353, 0x039e, 0x03ad, 0x03b9, 0x03c3, 0x03cb,
|
||||
0x0416, 0x0497, 0x04b2, 0x0511, 0x0571, 0x05c3, 0x060c, 0x0698,
|
||||
0x06d4, 0x075f, 0x07e1, 0x07e9, 0x07f6, 0x0851, 0x0859, 0x08b2,
|
||||
0x08f5, 0x09fc, 0x0a79, 0x0ae0, 0x0b4c, 0x0bbd, 0x0bd3, 0x0be4,
|
||||
0x0c5e, 0x0c6e, 0x0c75, 0x0c8f, 0x0d08, 0x0d13, 0x0d9e, 0x0e15,
|
||||
0x0e76, 0x0eb5, 0x0f29, 0x0f86, 0x0ff0, 0x0ffc, 0x103f, 0x10c0,
|
||||
0x11b4, 0x1230, 0x1274, 0x12b8, 0x12c5, 0x1306, 0x1312, 0x1348,
|
||||
0x134b, 0x135f, 0x13c3, 0x13cf, 0x141f, 0x1428, 0x1485, 0x14a1,
|
||||
0x1521, 0x1529, 0x1532, 0x154d, 0x15ae, 0x15b5, 0x1608, 0x160e,
|
||||
0x166f, 0x167b, 0x1684, 0x16a4, 0x1702, 0x1721, 0x1756, 0x17b5,
|
||||
0x185f, 0x18c0, 0x1935, 0x1965, 0x19aa, 0x19b4, 0x19fb,
|
||||
};
|
||||
|
||||
static const struct mf_rlefont_char_range_s mf_rlefont_DejaVuSans32_aa_char_ranges[] = {
|
||||
{32, 95, mf_rlefont_DejaVuSans32_aa_glyph_offsets_0, mf_rlefont_DejaVuSans32_aa_glyph_data_0},
|
||||
};
|
||||
|
||||
const struct mf_rlefont_s mf_rlefont_DejaVuSans32_aa = {
|
||||
{
|
||||
"DejaVu Sans Book 32",
|
||||
"DejaVuSans32_aa",
|
||||
33, /* width */
|
||||
34, /* height */
|
||||
9, /* min x advance */
|
||||
32, /* max x advance */
|
||||
2, /* baseline x */
|
||||
26, /* baseline y */
|
||||
37, /* line height */
|
||||
0, /* flags */
|
||||
63, /* fallback character */
|
||||
&mf_rlefont_character_width,
|
||||
&mf_rlefont_render_character,
|
||||
},
|
||||
4, /* version */
|
||||
mf_rlefont_DejaVuSans32_aa_dictionary_data,
|
||||
mf_rlefont_DejaVuSans32_aa_dictionary_offsets,
|
||||
137, /* rle dict count */
|
||||
187, /* total dict count */
|
||||
1, /* char range count */
|
||||
mf_rlefont_DejaVuSans32_aa_char_ranges,
|
||||
};
|
||||
|
||||
#ifdef MF_INCLUDED_FONTS
|
||||
/* List entry for searching fonts by name. */
|
||||
static const struct mf_font_list_s mf_rlefont_DejaVuSans32_aa_listentry = {
|
||||
MF_INCLUDED_FONTS,
|
||||
(struct mf_font_s*)&mf_rlefont_DejaVuSans32_aa
|
||||
};
|
||||
#undef MF_INCLUDED_FONTS
|
||||
#define MF_INCLUDED_FONTS (&mf_rlefont_DejaVuSans32_aa_listentry)
|
||||
#endif
|
||||
|
||||
|
||||
/* End of automatically generated font definition for DejaVuSans32_aa. */
|
||||
|
186
src/gdisp/fonts/DejaVuSansBold12.c
Normal file
186
src/gdisp/fonts/DejaVuSansBold12.c
Normal file
@ -0,0 +1,186 @@
|
||||
|
||||
|
||||
/* Start of automatically generated font definition for DejaVuSansBold12. */
|
||||
|
||||
#ifndef MF_BWFONT_INTERNALS
|
||||
#define MF_BWFONT_INTERNALS
|
||||
#endif
|
||||
#include "mf_bwfont.h"
|
||||
|
||||
#ifndef MF_BWFONT_VERSION_4_SUPPORTED
|
||||
#error The font file is not compatible with this version of mcufont.
|
||||
#endif
|
||||
|
||||
static const uint8_t mf_bwfont_DejaVuSansBold12_glyph_data_0[1540] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x03, 0x7e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00,
|
||||
0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0xc8, 0x03, 0xf8, 0x01, 0x4e, 0x00,
|
||||
0xc8, 0x03, 0x7c, 0x00, 0x4e, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x02, 0x7c, 0x02,
|
||||
0x74, 0x02, 0xfe, 0x0f, 0xe4, 0x02, 0xe4, 0x03, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00,
|
||||
0x22, 0x00, 0x22, 0x00, 0x22, 0x03, 0xdc, 0x00, 0x70, 0x00, 0xd8, 0x01, 0x26, 0x02, 0x20, 0x02,
|
||||
0x20, 0x02, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0xec, 0x03, 0x3e, 0x02, 0x72, 0x02,
|
||||
0xe2, 0x02, 0xc4, 0x03, 0x80, 0x01, 0xe0, 0x03, 0x60, 0x02, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0xff, 0x07, 0x07, 0x07, 0x01, 0x04, 0x00, 0x00, 0x01, 0x04,
|
||||
0x07, 0x07, 0xff, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x18, 0x00, 0x7e, 0x00,
|
||||
0x18, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0xf8, 0x03,
|
||||
0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x07, 0x00, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0xc0, 0x03, 0x3c, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xf8, 0x00, 0xfc, 0x01, 0x06, 0x03, 0x02, 0x02, 0x06, 0x03, 0xfc, 0x01, 0xf8, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0xfe, 0x03, 0xfe, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00,
|
||||
0x00, 0x00, 0x04, 0x02, 0x02, 0x03, 0x82, 0x03, 0xc2, 0x02, 0x62, 0x02, 0x3e, 0x02, 0x1c, 0x02,
|
||||
0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x02, 0x02, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0xfe, 0x03,
|
||||
0xdc, 0x01, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0xb0, 0x00, 0x8c, 0x00, 0x86, 0x00, 0xfe, 0x03,
|
||||
0xfe, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x02, 0x1e, 0x02, 0x12, 0x02, 0x12, 0x02,
|
||||
0x32, 0x03, 0xf2, 0x03, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0xfc, 0x01, 0x16, 0x02,
|
||||
0x12, 0x02, 0x12, 0x02, 0xf2, 0x03, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x02,
|
||||
0x82, 0x03, 0xe2, 0x01, 0x7a, 0x00, 0x1e, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01,
|
||||
0xde, 0x03, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0xde, 0x03, 0xdc, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3c, 0x00, 0x7e, 0x02, 0x42, 0x02, 0x42, 0x02, 0x42, 0x03, 0xfc, 0x01, 0xf8, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x18, 0x03, 0x18, 0x03, 0x00, 0x00, 0x00, 0x08, 0x18, 0x07, 0x18, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x40, 0x00, 0xe0, 0x00, 0xa0, 0x00, 0xa0, 0x00, 0xb0, 0x01, 0x10, 0x01, 0x10, 0x01,
|
||||
0x18, 0x03, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0xa0, 0x00, 0xa0, 0x00, 0xa0, 0x00, 0xa0, 0x00,
|
||||
0xa0, 0x00, 0xa0, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x03, 0x10, 0x01, 0x10, 0x01,
|
||||
0xb0, 0x01, 0xa0, 0x00, 0xa0, 0x00, 0xe0, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
|
||||
0x62, 0x03, 0x72, 0x03, 0x1e, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x08, 0x02,
|
||||
0x04, 0x04, 0xe2, 0x08, 0x12, 0x09, 0x12, 0x09, 0xf2, 0x09, 0x04, 0x0d, 0x8c, 0x09, 0xf0, 0x00,
|
||||
0x00, 0x00, 0x00, 0x02, 0xc0, 0x03, 0xf8, 0x01, 0xbe, 0x00, 0x86, 0x00, 0xbe, 0x00, 0xf8, 0x01,
|
||||
0xc0, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xfe, 0x03, 0x22, 0x02, 0x22, 0x02,
|
||||
0x22, 0x02, 0xfe, 0x03, 0xdc, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0xfc, 0x01, 0x06, 0x03,
|
||||
0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xfe, 0x03,
|
||||
0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x03, 0xfc, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xfe, 0x03, 0xfe, 0x03, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00,
|
||||
0xfe, 0x03, 0xfe, 0x03, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xf8, 0x00, 0xfc, 0x01, 0x06, 0x03, 0x02, 0x02, 0x02, 0x02, 0x22, 0x02, 0xe2, 0x03, 0xe6, 0x03,
|
||||
0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xfe, 0x03, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
|
||||
0xfe, 0x03, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xfe, 0x03, 0x00, 0x08, 0x00, 0x08,
|
||||
0xfe, 0x0f, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xfe, 0x03, 0x20, 0x00, 0x70, 0x00,
|
||||
0xd8, 0x00, 0x8c, 0x01, 0x06, 0x03, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xfe, 0x03,
|
||||
0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xfe, 0x03,
|
||||
0x0e, 0x00, 0x38, 0x00, 0xe0, 0x00, 0xe0, 0x00, 0x38, 0x00, 0x0e, 0x00, 0xfe, 0x03, 0xfe, 0x03,
|
||||
0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xfe, 0x03, 0x0e, 0x00, 0x38, 0x00, 0xe0, 0x00, 0x80, 0x03,
|
||||
0xfe, 0x03, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0xfc, 0x01, 0x06, 0x03, 0x02, 0x02,
|
||||
0x02, 0x02, 0x02, 0x02, 0x06, 0x03, 0xfc, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03,
|
||||
0xfe, 0x03, 0x42, 0x00, 0x42, 0x00, 0x42, 0x00, 0x7e, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xf8, 0x00, 0xfc, 0x01, 0x06, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x06, 0x0f, 0xfc, 0x09,
|
||||
0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xfe, 0x03, 0x22, 0x00, 0x22, 0x00, 0x62, 0x00,
|
||||
0xfe, 0x01, 0x9c, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x03, 0x3e, 0x02, 0x32, 0x02,
|
||||
0x32, 0x02, 0x62, 0x02, 0xe6, 0x03, 0xc0, 0x01, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00,
|
||||
0xfe, 0x03, 0xfe, 0x03, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01,
|
||||
0xfe, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0xfe, 0x03, 0xfe, 0x01, 0x00, 0x00,
|
||||
0x02, 0x00, 0x1e, 0x00, 0xfc, 0x00, 0xe0, 0x03, 0x00, 0x03, 0xe0, 0x03, 0xfc, 0x00, 0x1e, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x7e, 0x00, 0xf8, 0x03, 0xc0, 0x03, 0xf8, 0x00,
|
||||
0x1e, 0x00, 0x1e, 0x00, 0xf8, 0x00, 0xc0, 0x03, 0xf8, 0x03, 0x7e, 0x00, 0x06, 0x00, 0x00, 0x00,
|
||||
0x02, 0x02, 0x06, 0x03, 0xdc, 0x01, 0xf8, 0x00, 0x20, 0x00, 0xf8, 0x00, 0xdc, 0x01, 0x06, 0x03,
|
||||
0x02, 0x02, 0x00, 0x00, 0x02, 0x00, 0x0e, 0x00, 0x1c, 0x00, 0xf0, 0x03, 0xf0, 0x03, 0x1c, 0x00,
|
||||
0x0e, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x82, 0x03, 0xc2, 0x02, 0x62, 0x02,
|
||||
0x32, 0x02, 0x1a, 0x02, 0x0e, 0x02, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0xff, 0x07,
|
||||
0x01, 0x04, 0x01, 0x04, 0x00, 0x00, 0x06, 0x00, 0x3c, 0x00, 0xc0, 0x03, 0x00, 0x06, 0x00, 0x00,
|
||||
0x01, 0x04, 0x01, 0x04, 0xff, 0x07, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
|
||||
0x04, 0x00, 0x06, 0x00, 0x06, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10,
|
||||
0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0xd0, 0x03, 0x48, 0x02, 0x48, 0x02, 0x48, 0x02,
|
||||
0xf8, 0x03, 0xf0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0xff, 0x03, 0x08, 0x02, 0x08, 0x02,
|
||||
0x08, 0x02, 0xf8, 0x03, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0xf0, 0x01, 0x18, 0x03,
|
||||
0x08, 0x02, 0x08, 0x02, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0xf8, 0x03, 0x08, 0x02,
|
||||
0x08, 0x02, 0x08, 0x02, 0xff, 0x03, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0xf0, 0x01,
|
||||
0x58, 0x03, 0x48, 0x02, 0x48, 0x02, 0x78, 0x02, 0x60, 0x01, 0x00, 0x00, 0x08, 0x00, 0xfe, 0x03,
|
||||
0xff, 0x03, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0xf8, 0x0b, 0x18, 0x12,
|
||||
0x08, 0x12, 0x18, 0x13, 0xf8, 0x1f, 0xf8, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0xff, 0x03,
|
||||
0x18, 0x00, 0x08, 0x00, 0x08, 0x00, 0xf8, 0x03, 0xf0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfb, 0x03,
|
||||
0xfb, 0x03, 0x00, 0x00, 0x00, 0x10, 0xfb, 0x1f, 0xfb, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
|
||||
0xff, 0x03, 0x60, 0x00, 0xf0, 0x00, 0x98, 0x01, 0x08, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0x03, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x03, 0xf8, 0x03, 0x08, 0x00, 0x08, 0x00,
|
||||
0xf8, 0x03, 0xf8, 0x03, 0x08, 0x00, 0x08, 0x00, 0xf8, 0x03, 0xf0, 0x03, 0x00, 0x00, 0x00, 0x00,
|
||||
0xf8, 0x03, 0xf8, 0x03, 0x18, 0x00, 0x08, 0x00, 0x08, 0x00, 0xf8, 0x03, 0xf0, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0xf0, 0x01, 0xf8, 0x03, 0x08, 0x02, 0x08, 0x02, 0x08, 0x02, 0xf8, 0x03, 0xf0, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f, 0xf8, 0x1f, 0x08, 0x02, 0x08, 0x02, 0x08, 0x02, 0xf8, 0x03,
|
||||
0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0xf8, 0x03, 0x08, 0x02, 0x08, 0x02, 0x08, 0x02,
|
||||
0xf8, 0x1f, 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x03, 0xf8, 0x03, 0x18, 0x00, 0x08, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x01, 0x78, 0x02, 0x48, 0x02, 0x48, 0x02, 0xc8, 0x03,
|
||||
0x90, 0x01, 0x00, 0x00, 0x08, 0x00, 0xfe, 0x03, 0xfe, 0x03, 0x08, 0x02, 0x08, 0x02, 0x00, 0x00,
|
||||
0x00, 0x00, 0xf8, 0x01, 0xf8, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0xf8, 0x03, 0xf8, 0x03,
|
||||
0x00, 0x00, 0x18, 0x00, 0xf8, 0x00, 0xe0, 0x03, 0x00, 0x03, 0xe0, 0x03, 0xf8, 0x00, 0x18, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0xf8, 0x01, 0x80, 0x03, 0xe0, 0x03, 0x78, 0x00, 0x78, 0x00,
|
||||
0xe0, 0x03, 0x80, 0x03, 0xf8, 0x01, 0x38, 0x00, 0x00, 0x00, 0x08, 0x02, 0x18, 0x03, 0xf0, 0x01,
|
||||
0xe0, 0x00, 0xf0, 0x01, 0x18, 0x03, 0x08, 0x02, 0x00, 0x00, 0x18, 0x00, 0x78, 0x10, 0xe0, 0x19,
|
||||
0x80, 0x0f, 0xe0, 0x07, 0xf8, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03, 0x88, 0x03,
|
||||
0xc8, 0x02, 0x68, 0x02, 0x38, 0x02, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00,
|
||||
0xfe, 0x03, 0xdf, 0x07, 0x01, 0x04, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x01, 0x04, 0xdf, 0x07, 0xfe, 0x03, 0x20, 0x00, 0x20, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x40, 0x00, 0x40, 0x00,
|
||||
0x40, 0x00, 0x20, 0x00,
|
||||
};
|
||||
|
||||
static const uint16_t mf_bwfont_DejaVuSansBold12_glyph_offsets_0[96] = {
|
||||
0x0000, 0x0000, 0x0005, 0x000a, 0x0014, 0x001d, 0x002a, 0x0035,
|
||||
0x0038, 0x003e, 0x0043, 0x004a, 0x0053, 0x0057, 0x005d, 0x0061,
|
||||
0x0066, 0x006f, 0x0077, 0x0080, 0x0089, 0x0092, 0x009b, 0x00a4,
|
||||
0x00ad, 0x00b6, 0x00bf, 0x00c3, 0x00c7, 0x00d1, 0x00db, 0x00e5,
|
||||
0x00ec, 0x00f8, 0x0102, 0x010b, 0x0114, 0x011e, 0x0126, 0x012e,
|
||||
0x0138, 0x0142, 0x0146, 0x014a, 0x0154, 0x015c, 0x0168, 0x0172,
|
||||
0x017d, 0x0186, 0x0191, 0x019b, 0x01a4, 0x01ad, 0x01b7, 0x01c1,
|
||||
0x01cf, 0x01d9, 0x01e2, 0x01ec, 0x01f2, 0x01f7, 0x01fc, 0x0205,
|
||||
0x020c, 0x0211, 0x021a, 0x0223, 0x022b, 0x0234, 0x023d, 0x0243,
|
||||
0x024c, 0x0255, 0x0259, 0x025d, 0x0266, 0x026a, 0x0276, 0x027f,
|
||||
0x0288, 0x0291, 0x029a, 0x02a1, 0x02a9, 0x02af, 0x02b8, 0x02c0,
|
||||
0x02cc, 0x02d4, 0x02dc, 0x02e4, 0x02ec, 0x02f0, 0x02f8, 0x0302,
|
||||
};
|
||||
|
||||
static const uint8_t mf_bwfont_DejaVuSansBold12_glyph_widths_0[95] = {
|
||||
0x04, 0x05, 0x06, 0x0a, 0x08, 0x0c, 0x0a, 0x04, 0x05, 0x05, 0x06, 0x0a, 0x05, 0x05, 0x05, 0x04,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x05, 0x05, 0x0a, 0x0a, 0x0a, 0x07,
|
||||
0x0c, 0x09, 0x09, 0x09, 0x0a, 0x08, 0x08, 0x0a, 0x0a, 0x04, 0x04, 0x09, 0x08, 0x0c, 0x0a, 0x0b,
|
||||
0x09, 0x0a, 0x09, 0x09, 0x08, 0x0a, 0x09, 0x0e, 0x09, 0x08, 0x0a, 0x05, 0x04, 0x05, 0x0a, 0x06,
|
||||
0x06, 0x09, 0x09, 0x07, 0x09, 0x09, 0x05, 0x09, 0x09, 0x04, 0x04, 0x08, 0x04, 0x0c, 0x09, 0x09,
|
||||
0x09, 0x09, 0x06, 0x08, 0x06, 0x09, 0x07, 0x0c, 0x07, 0x08, 0x08, 0x09, 0x04, 0x09, 0x0a,
|
||||
};
|
||||
|
||||
static const struct mf_bwfont_char_range_s mf_bwfont_DejaVuSansBold12_char_ranges[] = {
|
||||
{
|
||||
32, /* first char */
|
||||
95, /* char count */
|
||||
0, /* offset x */
|
||||
0, /* offset y */
|
||||
2, /* height in bytes */
|
||||
13, /* height in pixels */
|
||||
0, /* width */
|
||||
mf_bwfont_DejaVuSansBold12_glyph_widths_0, /* glyph widths */
|
||||
mf_bwfont_DejaVuSansBold12_glyph_offsets_0, /* glyph offsets */
|
||||
mf_bwfont_DejaVuSansBold12_glyph_data_0, /* glyph data */
|
||||
},
|
||||
};
|
||||
|
||||
const struct mf_bwfont_s mf_bwfont_DejaVuSansBold12 = {
|
||||
{
|
||||
"DejaVu Sans Bold 12",
|
||||
"DejaVuSansBold12",
|
||||
14, /* width */
|
||||
13, /* height */
|
||||
4, /* min x advance */
|
||||
14, /* max x advance */
|
||||
1, /* baseline x */
|
||||
10, /* baseline y */
|
||||
14, /* line height */
|
||||
2, /* flags */
|
||||
63, /* fallback character */
|
||||
&mf_bwfont_character_width,
|
||||
&mf_bwfont_render_character,
|
||||
},
|
||||
4, /* version */
|
||||
1, /* char range count */
|
||||
mf_bwfont_DejaVuSansBold12_char_ranges,
|
||||
};
|
||||
|
||||
#ifdef MF_INCLUDED_FONTS
|
||||
/* List entry for searching fonts by name. */
|
||||
static const struct mf_font_list_s mf_bwfont_DejaVuSansBold12_listentry = {
|
||||
MF_INCLUDED_FONTS,
|
||||
(struct mf_font_s*)&mf_bwfont_DejaVuSansBold12
|
||||
};
|
||||
#undef MF_INCLUDED_FONTS
|
||||
#define MF_INCLUDED_FONTS (&mf_bwfont_DejaVuSansBold12_listentry)
|
||||
#endif
|
||||
|
||||
|
||||
/* End of automatically generated font definition for DejaVuSansBold12. */
|
||||
|
257
src/gdisp/fonts/DejaVuSansBold12_aa.c
Normal file
257
src/gdisp/fonts/DejaVuSansBold12_aa.c
Normal file
@ -0,0 +1,257 @@
|
||||
|
||||
|
||||
/* Start of automatically generated font definition for DejaVuSansBold12_aa. */
|
||||
|
||||
#ifndef MF_RLEFONT_INTERNALS
|
||||
#define MF_RLEFONT_INTERNALS
|
||||
#endif
|
||||
#include "mf_rlefont.h"
|
||||
|
||||
#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
|
||||
#error The font file is not compatible with this version of mcufont.
|
||||
#endif
|
||||
|
||||
static const uint8_t mf_rlefont_DejaVuSansBold12_aa_dictionary_data[295] = {
|
||||
0x09, 0x06, 0xce, 0x80, 0xc2, 0x02, 0x11, 0x80, 0xc5, 0x07, 0x0a, 0x03, 0x0b, 0x02, 0x01, 0xc2,
|
||||
0x06, 0x81, 0x81, 0x0c, 0x81, 0x86, 0x04, 0x81, 0x2c, 0x83, 0x05, 0x2b, 0x80, 0xc3, 0x80, 0xcb,
|
||||
0x0f, 0x40, 0x07, 0xce, 0xcb, 0x80, 0xc6, 0x0c, 0xd9, 0x0c, 0x01, 0xca, 0x84, 0x1a, 0xc5, 0xc1,
|
||||
0xcb, 0x80, 0x2d, 0xc7, 0x80, 0xc8, 0xc2, 0x01, 0x0b, 0xc5, 0x07, 0x81, 0x02, 0x01, 0x80, 0x10,
|
||||
0xc4, 0xce, 0xc3, 0x80, 0x80, 0xca, 0xc3, 0xca, 0x04, 0x80, 0xcc, 0xce, 0xca, 0x07, 0x81, 0xc5,
|
||||
0xcd, 0xc3, 0xcc, 0xc2, 0x81, 0xce, 0x80, 0x80, 0xc2, 0x01, 0x81, 0x82, 0x80, 0xce, 0xc1, 0xc5,
|
||||
0x80, 0xc9, 0x0c, 0x01, 0xc5, 0x80, 0x08, 0xcd, 0x80, 0xcd, 0xc9, 0x80, 0xc7, 0x85, 0x08, 0xce,
|
||||
0xc9, 0xd1, 0xc1, 0x01, 0xce, 0x81, 0xc1, 0xc6, 0x80, 0xc4, 0xcc, 0xc6, 0xc3, 0xce, 0x07, 0xcd,
|
||||
0x80, 0xce, 0xc1, 0x81, 0xde, 0x80, 0xcd, 0xce, 0xcd, 0xc4, 0xcb, 0xc1, 0xc9, 0xc5, 0xcc, 0x80,
|
||||
0xc8, 0xcd, 0xc5, 0xc2, 0xc9, 0x0e, 0x0c, 0x06, 0x2c, 0x24, 0x50, 0x24, 0x05, 0x0f, 0x45, 0xdc,
|
||||
0x1a, 0x18, 0x0f, 0x52, 0xa4, 0x18, 0x94, 0x42, 0x09, 0x30, 0x1f, 0x06, 0x4f, 0x29, 0x1a, 0x22,
|
||||
0x63, 0x21, 0x9c, 0x26, 0x29, 0x1a, 0x22, 0x4d, 0x29, 0x09, 0x30, 0x1f, 0x06, 0x0f, 0x4f, 0x66,
|
||||
0x55, 0x45, 0x02, 0x22, 0x63, 0x19, 0x8a, 0x4d, 0x45, 0x02, 0x22, 0x63, 0x45, 0x09, 0x66, 0x55,
|
||||
0x29, 0xc0, 0x57, 0x00, 0x01, 0x01, 0x20, 0x24, 0x50, 0x24, 0x50, 0x24, 0x50, 0x24, 0x50, 0x09,
|
||||
0x0e, 0x28, 0x1d, 0x38, 0x66, 0x61, 0x5f, 0x39, 0x48, 0x45, 0xdc, 0x5f, 0x39, 0x48, 0x1d, 0x38,
|
||||
0x66, 0x61, 0x52, 0x09, 0x0c, 0x03, 0x45, 0x09, 0x4e, 0x63, 0x45, 0x24, 0x20, 0x02, 0x62, 0x04,
|
||||
0x01, 0x01, 0x4d, 0x21, 0x90, 0xb7, 0x5f, 0x39, 0x01, 0x63, 0x2a, 0x24, 0x3a, 0x1c, 0x20, 0x0c,
|
||||
0x07, 0x26, 0x23, 0x02, 0x1e, 0x1e, 0x01, 0x07, 0x20, 0x51, 0x0a, 0x1d, 0x0f, 0x1c, 0x18, 0x1d,
|
||||
0x36, 0x0b, 0x1c, 0x0d, 0x63, 0x0a, 0x49,
|
||||
};
|
||||
|
||||
static const uint16_t mf_rlefont_DejaVuSansBold12_aa_dictionary_offsets[115] = {
|
||||
0x0000, 0x0001, 0x0002, 0x0006, 0x0007, 0x0009, 0x000a, 0x000b,
|
||||
0x000c, 0x000d, 0x000e, 0x0010, 0x0012, 0x0015, 0x0016, 0x0018,
|
||||
0x0019, 0x001a, 0x001b, 0x001c, 0x001e, 0x0020, 0x0021, 0x0023,
|
||||
0x0025, 0x0027, 0x002a, 0x002c, 0x002d, 0x002e, 0x0030, 0x0032,
|
||||
0x0033, 0x0036, 0x0038, 0x003a, 0x003d, 0x003f, 0x0040, 0x0042,
|
||||
0x0044, 0x0046, 0x0048, 0x0049, 0x004b, 0x004d, 0x004f, 0x0051,
|
||||
0x0053, 0x0055, 0x0057, 0x0059, 0x005b, 0x005c, 0x005e, 0x0060,
|
||||
0x0062, 0x0063, 0x0066, 0x0067, 0x0069, 0x006b, 0x006d, 0x006f,
|
||||
0x0071, 0x0072, 0x0074, 0x0076, 0x0078, 0x007a, 0x007c, 0x007e,
|
||||
0x0081, 0x0083, 0x0084, 0x0085, 0x0087, 0x0089, 0x008b, 0x008d,
|
||||
0x008f, 0x0091, 0x0093, 0x0095, 0x0097, 0x0099, 0x009c, 0x009e,
|
||||
0x00a0, 0x00a2, 0x00a7, 0x00bd, 0x00d3, 0x00d5, 0x00d7, 0x00df,
|
||||
0x00f4, 0x00fb, 0x00fd, 0x0101, 0x0103, 0x0106, 0x0108, 0x010a,
|
||||
0x0111, 0x0113, 0x0115, 0x0117, 0x0119, 0x011c, 0x011f, 0x0121,
|
||||
0x0123, 0x0125, 0x0127,
|
||||
};
|
||||
|
||||
static const uint8_t mf_rlefont_DejaVuSansBold12_aa_glyph_data_0[2289] = {
|
||||
0x04, 0x00, 0x10, 0x05, 0x1b, 0x6d, 0x50, 0x0d, 0x0d, 0x50, 0x0c, 0x0c, 0x34, 0x24, 0x10, 0x06,
|
||||
0x2d, 0xee, 0x52, 0xac, 0x52, 0xac, 0x10, 0x0a, 0x52, 0x82, 0x4a, 0x06, 0x0d, 0x18, 0x46, 0x32,
|
||||
0x09, 0x19, 0x51, 0x56, 0x69, 0x3f, 0x01, 0x1d, 0x74, 0x4a, 0x06, 0x0d, 0x52, 0xc3, 0x1c, 0x1d,
|
||||
0x08, 0x0b, 0x00, 0x5d, 0x18, 0x0b, 0x08, 0x00, 0x2b, 0x18, 0x69, 0x3f, 0x01, 0x10, 0x08, 0x2d,
|
||||
0xd4, 0x82, 0x89, 0xf7, 0x86, 0x3f, 0x1e, 0x0e, 0x4f, 0x0f, 0x01, 0x18, 0x0c, 0x4c, 0x43, 0x03,
|
||||
0x1d, 0x03, 0x0d, 0x4c, 0x43, 0x18, 0x03, 0x2c, 0x4d, 0x1e, 0x4a, 0x2c, 0x29, 0xc0, 0x44, 0x81,
|
||||
0x0f, 0x52, 0xa4, 0x10, 0x0c, 0x3d, 0x47, 0x6b, 0x03, 0x21, 0x0c, 0x05, 0x29, 0x5d, 0x5b, 0x0c,
|
||||
0x00, 0x06, 0x0b, 0x19, 0x60, 0x74, 0x60, 0x0d, 0x03, 0x19, 0x5d, 0x5b, 0x0c, 0x08, 0x09, 0x1d,
|
||||
0x47, 0x6b, 0x3e, 0x04, 0x0c, 0x6b, 0x03, 0x19, 0x32, 0x08, 0x5d, 0x5b, 0x0c, 0x19, 0x03, 0x0d,
|
||||
0x01, 0x60, 0x74, 0x0e, 0x19, 0x0b, 0x06, 0x00, 0x5d, 0x5b, 0x0c, 0x29, 0x67, 0x21, 0x47, 0x6b,
|
||||
0x03, 0x10, 0x0a, 0x1b, 0x47, 0x64, 0x06, 0x18, 0x0d, 0x2b, 0x6a, 0x18, 0x0e, 0x5c, 0x20, 0x09,
|
||||
0x63, 0x01, 0x18, 0x06, 0x61, 0x2c, 0x22, 0x4d, 0x29, 0x0d, 0x1c, 0x0e, 0x68, 0x08, 0x40, 0x29,
|
||||
0x49, 0x01, 0x04, 0x4c, 0x5c, 0x29, 0x09, 0x68, 0x01, 0x0a, 0x0f, 0x43, 0x29, 0x74, 0x08, 0x88,
|
||||
0x0a, 0x06, 0x0e, 0x08, 0x10, 0x04, 0x3d, 0x71, 0x10, 0x05, 0x1f, 0x08, 0x40, 0x82, 0x49, 0x81,
|
||||
0x06, 0x40, 0x20, 0x87, 0x20, 0x49, 0x75, 0x61, 0x50, 0x49, 0x75, 0x87, 0x20, 0x07, 0x40, 0x00,
|
||||
0x82, 0x70, 0x08, 0x40, 0x10, 0x05, 0x32, 0x68, 0x1e, 0x22, 0x4d, 0x75, 0x0a, 0x30, 0x3a, 0x2c,
|
||||
0x20, 0x7b, 0x29, 0x45, 0x20, 0x7b, 0x3a, 0x2c, 0x1e, 0x32, 0x30, 0x18, 0x22, 0x0f, 0x60, 0x18,
|
||||
0x32, 0x68, 0x10, 0x06, 0x2d, 0xec, 0x1e, 0x32, 0x3f, 0x41, 0x18, 0x04, 0x88, 0x04, 0x18, 0x04,
|
||||
0x88, 0x04, 0x52, 0x32, 0x3f, 0x41, 0x19, 0xa4, 0x10, 0x0a, 0x21, 0x37, 0x71, 0x18, 0x25, 0x1e,
|
||||
0x71, 0x10, 0x05, 0x2e, 0x7f, 0x10, 0x05, 0x2d, 0x2e, 0x28, 0x52, 0xc0, 0x10, 0x05, 0x2a, 0x2e,
|
||||
0x24, 0x10, 0x04, 0x1b, 0x46, 0x31, 0x0d, 0x04, 0x20, 0x3f, 0x75, 0x07, 0x0b, 0x50, 0x0b, 0x83,
|
||||
0x01, 0x2b, 0x20, 0x04, 0x0d, 0x31, 0x69, 0x10, 0x08, 0x19, 0x3a, 0x53, 0x69, 0x52, 0x04, 0x4f,
|
||||
0x66, 0x2b, 0x86, 0x02, 0x22, 0x40, 0x5f, 0x21, 0x7e, 0x6f, 0x5f, 0x21, 0x7e, 0x86, 0x02, 0x22,
|
||||
0x40, 0x1d, 0x04, 0x4f, 0x66, 0x5c, 0x52, 0x05, 0x53, 0x69, 0x10, 0x08, 0x18, 0x45, 0x6d, 0x50,
|
||||
0x6d, 0x1e, 0xc3, 0x10, 0x08, 0x3d, 0x41, 0x0e, 0x63, 0x08, 0x01, 0x1d, 0x0b, 0x05, 0x58, 0x08,
|
||||
0x4f, 0x20, 0x7b, 0x20, 0x04, 0x63, 0x1e, 0x5e, 0x1c, 0x18, 0x3e, 0x30, 0x18, 0x05, 0x85, 0x07,
|
||||
0x4d, 0x04, 0x1e, 0x25, 0x10, 0x08, 0x3d, 0x65, 0x62, 0x54, 0x01, 0x1d, 0x0b, 0x04, 0x58, 0x08,
|
||||
0x2c, 0x20, 0x7b, 0x82, 0x07, 0x40, 0x21, 0x45, 0x63, 0x02, 0x82, 0x07, 0x2c, 0x00, 0x82, 0x61,
|
||||
0x1d, 0x0b, 0x04, 0x58, 0x08, 0x2c, 0x1d, 0x05, 0x36, 0x64, 0x08, 0x01, 0x10, 0x08, 0x21, 0x1b,
|
||||
0x0c, 0x61, 0x1e, 0x08, 0x0a, 0x61, 0x18, 0x03, 0x60, 0x61, 0x1d, 0x74, 0x69, 0x4b, 0x52, 0x09,
|
||||
0x09, 0xf0, 0x52, 0x0d, 0x01, 0xf0, 0x52, 0x25, 0x20, 0x24, 0x10, 0x08, 0x3d, 0x56, 0x79, 0x3c,
|
||||
0x4d, 0x6b, 0x83, 0x02, 0x0a, 0x68, 0x20, 0x7b, 0x20, 0x7b, 0x82, 0x0a, 0x68, 0x45, 0x4d, 0x5d,
|
||||
0x10, 0x08, 0x1b, 0x03, 0x0b, 0x4c, 0x52, 0x03, 0x2c, 0x81, 0x0a, 0x2b, 0x20, 0x0e, 0x43, 0x0e,
|
||||
0x57, 0x01, 0x45, 0x07, 0x01, 0x07, 0x4f, 0x5f, 0x59, 0x7b, 0x86, 0x59, 0x7e, 0x1d, 0x04, 0x55,
|
||||
0x01, 0x38, 0x52, 0x05, 0x88, 0x07, 0x10, 0x08, 0x3d, 0x25, 0x20, 0x04, 0x63, 0x20, 0x0c, 0x30,
|
||||
0x1e, 0x04, 0x63, 0x20, 0x87, 0x1e, 0x03, 0x43, 0x1e, 0x32, 0x5c, 0x18, 0x22, 0x43, 0x20, 0x09,
|
||||
0x5c, 0x10, 0x08, 0x2d, 0x22, 0x89, 0x44, 0x02, 0x86, 0x06, 0x01, 0x6c, 0x1d, 0x49, 0x59, 0x7b,
|
||||
0x19, 0x32, 0x30, 0x5b, 0x40, 0x19, 0x74, 0x0c, 0x61, 0x43, 0x01, 0x86, 0x06, 0x01, 0x6c, 0x1d,
|
||||
0x49, 0x59, 0x7b, 0x86, 0x06, 0x01, 0x6c, 0x19, 0x22, 0x89, 0x44, 0x02, 0x10, 0x08, 0x1b, 0x07,
|
||||
0x0d, 0x43, 0x05, 0x52, 0x08, 0x55, 0x01, 0x07, 0x2b, 0x5f, 0x01, 0x74, 0x2c, 0x1d, 0x49, 0x59,
|
||||
0x7e, 0x1d, 0x09, 0x55, 0x01, 0x07, 0x61, 0x1d, 0x66, 0x0e, 0x6b, 0x4d, 0x20, 0x03, 0x40, 0x18,
|
||||
0x22, 0x0b, 0x2b, 0x00, 0x45, 0x2c, 0x03, 0x10, 0x05, 0x27, 0x79, 0x2a, 0x24, 0x10, 0x05, 0x27,
|
||||
0x79, 0x7f, 0x10, 0x0a, 0x1f, 0x37, 0x22, 0x07, 0x0c, 0x52, 0x5b, 0x0c, 0x0f, 0x44, 0x19, 0x06,
|
||||
0x36, 0x44, 0x35, 0x45, 0x0a, 0x01, 0x1e, 0x06, 0x36, 0x44, 0x35, 0x18, 0x5b, 0x0c, 0x0f, 0x44,
|
||||
0x1e, 0x22, 0x07, 0x0c, 0x10, 0x0a, 0x2e, 0x3c, 0x25, 0x2d, 0xa4, 0x25, 0x10, 0x0a, 0x27, 0x0c,
|
||||
0x07, 0x02, 0x20, 0x89, 0x5d, 0x01, 0x18, 0x4e, 0x89, 0x0b, 0x06, 0x82, 0x0a, 0x61, 0x1d, 0x4e,
|
||||
0x89, 0x0b, 0x06, 0x19, 0x89, 0x5d, 0x01, 0x52, 0x0c, 0x07, 0x02, 0x10, 0x07, 0x18, 0x45, 0x43,
|
||||
0x04, 0x20, 0x03, 0x63, 0x20, 0x07, 0x63, 0x1e, 0x04, 0x0f, 0x5c, 0x1e, 0x0c, 0x30, 0x42, 0x45,
|
||||
0x01, 0x52, 0x1b, 0x24, 0x10, 0x0c, 0x00, 0x1b, 0x41, 0x62, 0x5d, 0x1d, 0x06, 0x0e, 0x06, 0x02,
|
||||
0x01, 0x65, 0x0a, 0x29, 0x5e, 0x02, 0x29, 0x0b, 0x06, 0x1f, 0x32, 0x07, 0x00, 0x04, 0x44, 0xfd,
|
||||
0x47, 0x42, 0x0e, 0x39, 0x0d, 0x04, 0x6e, 0x74, 0x0e, 0xd4, 0xa8, 0x22, 0x0d, 0x42, 0x0d, 0x39,
|
||||
0x0d, 0x04, 0x05, 0x4a, 0x0b, 0x07, 0x42, 0x09, 0x06, 0x00, 0x04, 0x2f, 0x63, 0x07, 0x42, 0x22,
|
||||
0x0d, 0x02, 0x50, 0x46, 0x35, 0x4e, 0x5d, 0x1d, 0x6a, 0x53, 0x44, 0x03, 0x10, 0x09, 0x1d, 0x82,
|
||||
0x49, 0x60, 0x52, 0x51, 0x85, 0x0b, 0x43, 0x40, 0x1d, 0x74, 0x61, 0x48, 0x01, 0x1d, 0x06, 0x40,
|
||||
0x00, 0x0b, 0x30, 0x1d, 0x87, 0x51, 0x0b, 0x29, 0x22, 0xc3, 0x4a, 0x29, 0x07, 0x40, 0x21, 0x32,
|
||||
0x55, 0x29, 0x0c, 0x1c, 0x1f, 0x05, 0x43, 0x10, 0x09, 0x2d, 0xe2, 0x44, 0x02, 0x3b, 0x6c, 0x3b,
|
||||
0x7b, 0x3b, 0x6c, 0x19, 0xc2, 0x2b, 0x3b, 0x05, 0x43, 0x6f, 0x3b, 0x05, 0x43, 0x29, 0xc0, 0x2f,
|
||||
0x03, 0x10, 0x09, 0x1b, 0x6a, 0x49, 0x2f, 0x19, 0x22, 0x62, 0x35, 0x41, 0x1d, 0x09, 0x30, 0x20,
|
||||
0x70, 0x61, 0x50, 0x70, 0x09, 0x30, 0x20, 0x7a, 0x41, 0x52, 0x6a, 0x49, 0x2f, 0x10, 0x0a, 0x2d,
|
||||
0xf2, 0x6b, 0x08, 0x01, 0x45, 0x22, 0x06, 0x64, 0x01, 0x29, 0x8a, 0x07, 0x4f, 0x42, 0x90, 0x22,
|
||||
0x63, 0x23, 0x80, 0x21, 0x22, 0x63, 0x29, 0x8a, 0x07, 0x4f, 0x1f, 0x9c, 0x5b, 0x64, 0x01, 0x1f,
|
||||
0xbc, 0x6b, 0x08, 0x01, 0x10, 0x08, 0x3d, 0x56, 0x6d, 0x28, 0x52, 0x6d, 0x28, 0x10, 0x08, 0x3d,
|
||||
0x56, 0x6d, 0x28, 0x52, 0x6d, 0x10, 0x0a, 0x1d, 0x82, 0x08, 0x53, 0x64, 0x0b, 0x29, 0x74, 0x0d,
|
||||
0x0e, 0x06, 0x58, 0x65, 0x19, 0x09, 0x55, 0x42, 0x7d, 0x1f, 0x45, 0xbc, 0x19, 0x1a, 0x4b, 0x19,
|
||||
0x09, 0x30, 0xdc, 0x29, 0x22, 0x62, 0x35, 0x48, 0x1d, 0x6a, 0x53, 0x6b, 0x09, 0x10, 0x0a, 0x18,
|
||||
0x45, 0x80, 0x80, 0x80, 0x80, 0xc3, 0x23, 0x80, 0x80, 0x80, 0x26, 0x10, 0x04, 0x3d, 0x76, 0x61,
|
||||
0x10, 0x04, 0x3d, 0x76, 0x4d, 0x20, 0x07, 0x2c, 0x29, 0xa4, 0x54, 0x01, 0x10, 0x09, 0x2d, 0x8a,
|
||||
0x03, 0x0d, 0x30, 0x1f, 0x90, 0x04, 0x62, 0x04, 0x23, 0x51, 0x0d, 0x03, 0x45, 0x06, 0x43, 0x59,
|
||||
0x45, 0x85, 0x0f, 0x30, 0x0f, 0x1c, 0x00, 0x45, 0x51, 0x1c, 0x3b, 0x3e, 0x30, 0x29, 0x8a, 0x3e,
|
||||
0x55, 0x10, 0x08, 0x3d, 0x76, 0xc3, 0x10, 0x0c, 0x20, 0xa4, 0x4f, 0x42, 0x09, 0xf7, 0xbc, 0x39,
|
||||
0x22, 0x4c, 0x26, 0x54, 0x21, 0x09, 0x53, 0xa5, 0x55, 0x4a, 0x02, 0x55, 0x61, 0x26, 0x01, 0x57,
|
||||
0x09, 0x60, 0xf7, 0x9c, 0x07, 0x0f, 0x55, 0x4b, 0x26, 0x74, 0x0e, 0x60, 0x4b, 0x80, 0x80, 0x10,
|
||||
0x0a, 0x20, 0xa4, 0x43, 0xdc, 0x23, 0x5c, 0xd0, 0xa4, 0x43, 0x0c, 0xd0, 0xa4, 0x5c, 0x1c, 0x8a,
|
||||
0x9c, 0x0b, 0x0c, 0x8a, 0x9c, 0x04, 0x0f, 0x6e, 0xc5, 0x90, 0x0b, 0x0c, 0x0f, 0xc5, 0x90, 0x03,
|
||||
0x61, 0xc5, 0x90, 0x32, 0x61, 0x10, 0x0b, 0x1b, 0x6a, 0x49, 0x54, 0x02, 0x19, 0x7a, 0x04, 0x62,
|
||||
0x39, 0x72, 0x4f, 0x29, 0x7a, 0x04, 0x62, 0x02, 0x19, 0x6a, 0x49, 0x57, 0x02, 0x10, 0x09, 0x2d,
|
||||
0xe2, 0x54, 0x01, 0x3b, 0x08, 0x4f, 0x3b, 0x7b, 0x3b, 0x7b, 0x3b, 0x08, 0x4f, 0x29, 0xc0, 0x54,
|
||||
0x01, 0x45, 0x50, 0x24, 0x10, 0x0a, 0x1b, 0x6a, 0x49, 0x57, 0x02, 0x19, 0x7a, 0x04, 0x62, 0x39,
|
||||
0x72, 0x40, 0x29, 0x7a, 0x3e, 0x2b, 0x19, 0x6a, 0x0d, 0x61, 0x5c, 0x82, 0x0d, 0x30, 0x20, 0x03,
|
||||
0x4d, 0x02, 0x10, 0x09, 0x2d, 0xe2, 0x2f, 0x02, 0x3b, 0x06, 0x43, 0x3b, 0x7b, 0x3b, 0x6c, 0x29,
|
||||
0xc0, 0x63, 0x01, 0x45, 0x22, 0x0b, 0x30, 0x3b, 0x7e, 0x3b, 0x32, 0x1c, 0x29, 0x8a, 0x05, 0x43,
|
||||
0x10, 0x09, 0x19, 0x82, 0x89, 0x6b, 0x1d, 0x32, 0x1c, 0x00, 0x41, 0x52, 0x70, 0x53, 0x57, 0x06,
|
||||
0x01, 0x52, 0x04, 0x0d, 0x61, 0x85, 0x03, 0x07, 0x88, 0x1e, 0x22, 0x4d, 0x1d, 0x0b, 0x35, 0x84,
|
||||
0x0a, 0x0d, 0x49, 0x54, 0x01, 0x10, 0x08, 0x1e, 0xa4, 0x25, 0x18, 0x76, 0x10, 0x0a, 0x18, 0x45,
|
||||
0x80, 0x80, 0x80, 0x80, 0x80, 0x26, 0x19, 0x53, 0x01, 0x21, 0x7e, 0x19, 0x08, 0x4f, 0x01, 0x66,
|
||||
0x68, 0x1d, 0x07, 0x53, 0x63, 0x07, 0x10, 0x09, 0x2d, 0x0c, 0x1c, 0x1f, 0x05, 0x43, 0x29, 0x07,
|
||||
0x40, 0x21, 0x32, 0x55, 0x42, 0x22, 0x0f, 0x60, 0x74, 0x1a, 0x42, 0x87, 0x51, 0x0b, 0x1d, 0x6c,
|
||||
0x00, 0x0b, 0x30, 0x19, 0x74, 0x0f, 0x2b, 0x61, 0x59, 0x86, 0x0c, 0x40, 0x52, 0x51, 0x85, 0x01,
|
||||
0x49, 0x60, 0x10, 0x0e, 0x3d, 0x0d, 0x2b, 0x74, 0x61, 0x59, 0x03, 0x63, 0x00, 0x32, 0x55, 0x51,
|
||||
0x1c, 0x00, 0x07, 0x40, 0x21, 0x06, 0x40, 0x00, 0x09, 0x0e, 0x44, 0x32, 0x30, 0x00, 0x22, 0x4d,
|
||||
0x00, 0x57, 0x09, 0x0e, 0x00, 0x1a, 0x00, 0x0e, 0x30, 0x1c, 0x05, 0x30, 0x4d, 0x1f, 0x32, 0x0f,
|
||||
0x49, 0x01, 0x7b, 0x40, 0x42, 0x07, 0x0f, 0x2c, 0x21, 0x36, 0x55, 0x42, 0x3f, 0x55, 0x21, 0x06,
|
||||
0x0f, 0x2b, 0x29, 0x1a, 0x02, 0x4d, 0x10, 0x09, 0x2d, 0x0a, 0x30, 0x1f, 0x06, 0x40, 0x42, 0x74,
|
||||
0x0d, 0x0e, 0x02, 0x22, 0x64, 0x01, 0x19, 0x04, 0x2c, 0x00, 0x0b, 0x5c, 0x52, 0x08, 0x43, 0x68,
|
||||
0x18, 0x48, 0x4a, 0x52, 0x32, 0x4f, 0x40, 0x52, 0x05, 0x40, 0x32, 0x1c, 0x29, 0x74, 0x0e, 0x60,
|
||||
0x74, 0x0e, 0x60, 0x42, 0x32, 0x1c, 0x21, 0x84, 0x10, 0x08, 0x2d, 0x0b, 0x2b, 0x21, 0x03, 0x2c,
|
||||
0x29, 0x22, 0x2c, 0x21, 0x0b, 0x4a, 0x1d, 0x08, 0x5c, 0x04, 0x68, 0x1d, 0x74, 0x6b, 0x0c, 0x60,
|
||||
0x18, 0x06, 0x0f, 0x30, 0x20, 0x6d, 0x10, 0x0a, 0x20, 0xa4, 0x25, 0x3a, 0x4d, 0x1e, 0x05, 0x4d,
|
||||
0x03, 0x18, 0x04, 0x4d, 0x03, 0x18, 0x5e, 0x5c, 0x18, 0x5e, 0x1c, 0x18, 0x5e, 0x30, 0x1e, 0x49,
|
||||
0x83, 0x0f, 0x25, 0x10, 0x05, 0xc0, 0x1e, 0x76, 0x24, 0x61, 0x10, 0x04, 0x2d, 0x69, 0x31, 0x04,
|
||||
0x0d, 0x21, 0x82, 0x2b, 0x50, 0x0b, 0x07, 0x50, 0x07, 0x0b, 0x50, 0x3f, 0x01, 0x50, 0x0d, 0x04,
|
||||
0x31, 0x46, 0x10, 0x05, 0x4b, 0x76, 0x24, 0x52, 0xc0, 0x10, 0x0a, 0x1d, 0x3a, 0x85, 0x06, 0x40,
|
||||
0x0a, 0x30, 0x1d, 0x07, 0x0e, 0x05, 0x21, 0x05, 0x0e, 0x07, 0x10, 0x06, 0x00, 0x34, 0x2e, 0x2e,
|
||||
0xc3, 0x10, 0x06, 0x21, 0x08, 0x0d, 0x01, 0x50, 0x08, 0x09, 0x10, 0x09, 0x37, 0x07, 0x61, 0x57,
|
||||
0x01, 0x52, 0x08, 0x03, 0x00, 0x06, 0x4f, 0x50, 0x63, 0x1d, 0x03, 0x0b, 0x0e, 0x28, 0x5f, 0x04,
|
||||
0x74, 0x61, 0x5f, 0x04, 0x66, 0x61, 0x1d, 0x04, 0x0c, 0x33, 0x10, 0x09, 0x21, 0x6d, 0x61, 0x57,
|
||||
0x52, 0x73, 0x10, 0x07, 0x37, 0x67, 0x64, 0x06, 0x52, 0x6c, 0x02, 0x66, 0x00, 0x7d, 0x1f, 0x45,
|
||||
0x29, 0x7d, 0x1e, 0x6c, 0x02, 0x01, 0x08, 0x18, 0x67, 0x64, 0x06, 0x10, 0x09, 0x45, 0x50, 0x24,
|
||||
0x52, 0x77, 0x0e, 0x28, 0x10, 0x09, 0x37, 0x06, 0x0c, 0x64, 0x06, 0x52, 0x06, 0x40, 0x01, 0x08,
|
||||
0x30, 0x7d, 0x7e, 0x1d, 0x25, 0x7d, 0x1e, 0x07, 0x40, 0x58, 0x65, 0x52, 0x67, 0x0e, 0x2f, 0x04,
|
||||
0x10, 0x05, 0x21, 0x46, 0xc7, 0x5f, 0x03, 0x42, 0x45, 0x1e, 0xc2, 0x1e, 0x24, 0x50, 0x6d, 0x10,
|
||||
0x09, 0x37, 0x08, 0x0e, 0x28, 0x1d, 0x07, 0x4f, 0x66, 0x61, 0x7d, 0x48, 0x6f, 0x7d, 0x48, 0x1d,
|
||||
0x38, 0x66, 0x61, 0x52, 0x08, 0x0e, 0x28, 0x20, 0x7b, 0x52, 0x09, 0x02, 0x01, 0x08, 0x4f, 0x52,
|
||||
0x06, 0x88, 0x07, 0x10, 0x09, 0x21, 0x6d, 0x4c, 0x78, 0x02, 0xf0, 0x6f, 0x6f, 0x6f, 0x6f, 0x10,
|
||||
0x04, 0x21, 0x24, 0x34, 0x79, 0x4b, 0x50, 0x6d, 0x10, 0x04, 0x21, 0x24, 0x34, 0x6d, 0x50, 0x6d,
|
||||
0x1e, 0x22, 0x43, 0x20, 0x63, 0x04, 0x10, 0x08, 0x21, 0x6d, 0x22, 0x0d, 0x55, 0x45, 0x02, 0x0d,
|
||||
0x55, 0x1f, 0xa4, 0x63, 0x55, 0x42, 0xa4, 0x4d, 0x60, 0x42, 0xa4, 0x5c, 0x43, 0x59, 0x45, 0x84,
|
||||
0xca, 0x38, 0x10, 0x04, 0x21, 0x76, 0x24, 0x10, 0x0c, 0x2a, 0xe2, 0x6b, 0x88, 0x04, 0xd4, 0x55,
|
||||
0x3f, 0x55, 0x03, 0x63, 0x26, 0x01, 0x4b, 0x01, 0x4b, 0x7c, 0x7c, 0x7c, 0x7c, 0x10, 0x09, 0x2a,
|
||||
0xc2, 0x78, 0x02, 0xf0, 0x6f, 0x6f, 0x6f, 0x6f, 0x10, 0x09, 0x37, 0x06, 0x0d, 0x64, 0x06, 0x52,
|
||||
0x38, 0x66, 0x30, 0x7d, 0x02, 0x63, 0x1d, 0x0e, 0xe5, 0x4d, 0x7d, 0x02, 0x63, 0x1d, 0x38, 0x66,
|
||||
0x55, 0x52, 0x07, 0x0d, 0x64, 0x07, 0x10, 0x09, 0x2a, 0xe2, 0x57, 0x52, 0x73, 0x52, 0x79, 0x4b,
|
||||
0x10, 0x09, 0x37, 0x77, 0x5a, 0x6d, 0x10, 0x06, 0x2a, 0xe2, 0xc5, 0xa4, 0x4f, 0x01, 0x1f, 0x45,
|
||||
0x75, 0x6d, 0x10, 0x08, 0x27, 0x03, 0x0b, 0x0e, 0x2f, 0x04, 0x00, 0x5f, 0x35, 0x65, 0x52, 0x0e,
|
||||
0x1c, 0x81, 0x06, 0x5a, 0x69, 0x1e, 0x03, 0x07, 0x63, 0x1d, 0x32, 0x03, 0x00, 0x03, 0x63, 0x52,
|
||||
0x65, 0x0e, 0x2f, 0x03, 0x10, 0x06, 0x3d, 0x79, 0x33, 0x1e, 0x6d, 0x50, 0x70, 0x06, 0x5a, 0x10,
|
||||
0x09, 0x20, 0x34, 0x6f, 0x6f, 0x6f, 0x6f, 0x3b, 0x48, 0x5f, 0x05, 0x66, 0x61, 0x1d, 0x47, 0x33,
|
||||
0x10, 0x07, 0x19, 0x34, 0x82, 0x43, 0x00, 0x74, 0x61, 0x01, 0x29, 0x32, 0x2b, 0x84, 0x04, 0x68,
|
||||
0x32, 0x5c, 0x52, 0x62, 0x7b, 0x18, 0x08, 0x40, 0x68, 0x52, 0x22, 0x4c, 0x81, 0x0c, 0x43, 0x10,
|
||||
0x0c, 0x2a, 0x03, 0x43, 0x74, 0x61, 0x59, 0x0c, 0x2b, 0x1f, 0x62, 0x51, 0x1c, 0x00, 0x4d, 0x42,
|
||||
0x09, 0x0f, 0x41, 0x0c, 0x0c, 0x09, 0x03, 0x4f, 0x42, 0x04, 0x30, 0x0e, 0x08, 0x08, 0x0e, 0x06,
|
||||
0x5c, 0x29, 0x6b, 0x5c, 0x04, 0x43, 0x0e, 0x29, 0x32, 0x61, 0x58, 0x0f, 0x40, 0x19, 0x05, 0x2c,
|
||||
0x21, 0x87, 0x10, 0x07, 0x2a, 0x0a, 0x5c, 0x00, 0x04, 0x40, 0x19, 0x74, 0x62, 0x02, 0x0e, 0x60,
|
||||
0x1d, 0x51, 0x85, 0x00, 0x88, 0x1e, 0x06, 0x4d, 0x30, 0x1d, 0x74, 0x64, 0x01, 0x0d, 0x60, 0x19,
|
||||
0x32, 0x5c, 0x00, 0x03, 0x40, 0x10, 0x08, 0x2d, 0x34, 0x22, 0x0f, 0x60, 0x22, 0x63, 0x86, 0x07,
|
||||
0x00, 0x38, 0x1d, 0x04, 0x63, 0x00, 0x0c, 0x2b, 0x52, 0x0c, 0x68, 0x4d, 0x18, 0x05, 0x61, 0x4f,
|
||||
0x1f, 0x5f, 0x5c, 0x1e, 0x07, 0x4d, 0x20, 0x03, 0x40, 0x82, 0x0c, 0x5c, 0x1e, 0x4d, 0x06, 0x10,
|
||||
0x08, 0x27, 0xc3, 0x3a, 0x61, 0x18, 0x51, 0x5c, 0x18, 0x04, 0x85, 0x04, 0x0f, 0x30, 0x1f, 0x45,
|
||||
0x83, 0xc3, 0x10, 0x09, 0x42, 0x46, 0x61, 0x1e, 0x0e, 0x5c, 0x20, 0x79, 0x06, 0x63, 0x1f, 0x45,
|
||||
0x1c, 0x20, 0x07, 0x63, 0x00, 0x82, 0x24, 0x50, 0x0e, 0x5c, 0x20, 0x46, 0x61, 0x10, 0x04, 0x1b,
|
||||
0x71, 0x50, 0x71, 0x50, 0x71, 0x50, 0x71, 0x10, 0x09, 0xf0, 0x69, 0x20, 0x04, 0x4d, 0x50, 0x24,
|
||||
0x50, 0x0d, 0x30, 0x3a, 0x8b, 0x5f, 0x83, 0x61, 0x75, 0x61, 0x20, 0x04, 0x4d, 0x1f, 0x45, 0x69,
|
||||
0x10, 0x0a, 0x00, 0x2e, 0x67, 0x2f, 0x35, 0x02, 0x0b, 0x19, 0x09, 0x02, 0x4e, 0x0b, 0x6b, 0x05,
|
||||
0x10,
|
||||
};
|
||||
|
||||
static const uint16_t mf_rlefont_DejaVuSansBold12_aa_glyph_offsets_0[95] = {
|
||||
0x0000, 0x0003, 0x000f, 0x0017, 0x003e, 0x0064, 0x00a2, 0x00d5,
|
||||
0x00d9, 0x00f5, 0x0113, 0x0129, 0x0132, 0x0136, 0x013d, 0x0142,
|
||||
0x0158, 0x017b, 0x0184, 0x01a5, 0x01cd, 0x01eb, 0x0201, 0x0227,
|
||||
0x0242, 0x026d, 0x0298, 0x029e, 0x02a3, 0x02c5, 0x02cd, 0x02ec,
|
||||
0x0305, 0x034d, 0x0378, 0x0392, 0x03ae, 0x03d5, 0x03de, 0x03e6,
|
||||
0x040e, 0x041c, 0x0421, 0x042d, 0x0452, 0x0457, 0x0480, 0x04a6,
|
||||
0x04be, 0x04d5, 0x04f3, 0x0511, 0x0536, 0x053d, 0x0557, 0x0583,
|
||||
0x05c7, 0x05f9, 0x0617, 0x0634, 0x063b, 0x0653, 0x065a, 0x066b,
|
||||
0x0672, 0x067b, 0x069b, 0x06a3, 0x06bc, 0x06c5, 0x06e1, 0x06f0,
|
||||
0x0714, 0x0720, 0x0729, 0x0737, 0x0753, 0x0758, 0x076e, 0x0779,
|
||||
0x0797, 0x07a1, 0x07a7, 0x07b3, 0x07d5, 0x07e0, 0x07f1, 0x0810,
|
||||
0x0843, 0x0866, 0x0890, 0x08a3, 0x08be, 0x08c8, 0x08e1,
|
||||
};
|
||||
|
||||
static const struct mf_rlefont_char_range_s mf_rlefont_DejaVuSansBold12_aa_char_ranges[] = {
|
||||
{32, 95, mf_rlefont_DejaVuSansBold12_aa_glyph_offsets_0, mf_rlefont_DejaVuSansBold12_aa_glyph_data_0},
|
||||
};
|
||||
|
||||
const struct mf_rlefont_s mf_rlefont_DejaVuSansBold12_aa = {
|
||||
{
|
||||
"DejaVu Sans Bold 12",
|
||||
"DejaVuSansBold12_aa",
|
||||
14, /* width */
|
||||
13, /* height */
|
||||
4, /* min x advance */
|
||||
14, /* max x advance */
|
||||
1, /* baseline x */
|
||||
10, /* baseline y */
|
||||
14, /* line height */
|
||||
0, /* flags */
|
||||
63, /* fallback character */
|
||||
&mf_rlefont_character_width,
|
||||
&mf_rlefont_render_character,
|
||||
},
|
||||
4, /* version */
|
||||
mf_rlefont_DejaVuSansBold12_aa_dictionary_data,
|
||||
mf_rlefont_DejaVuSansBold12_aa_dictionary_offsets,
|
||||
83, /* rle dict count */
|
||||
114, /* total dict count */
|
||||
1, /* char range count */
|
||||
mf_rlefont_DejaVuSansBold12_aa_char_ranges,
|
||||
};
|
||||
|
||||
#ifdef MF_INCLUDED_FONTS
|
||||
/* List entry for searching fonts by name. */
|
||||
static const struct mf_font_list_s mf_rlefont_DejaVuSansBold12_aa_listentry = {
|
||||
MF_INCLUDED_FONTS,
|
||||
(struct mf_font_s*)&mf_rlefont_DejaVuSansBold12_aa
|
||||
};
|
||||
#undef MF_INCLUDED_FONTS
|
||||
#define MF_INCLUDED_FONTS (&mf_rlefont_DejaVuSansBold12_aa_listentry)
|
||||
#endif
|
||||
|
||||
|
||||
/* End of automatically generated font definition for DejaVuSansBold12_aa. */
|
||||
|
58
src/gdisp/fonts/DejaVuSerif.license
Normal file
58
src/gdisp/fonts/DejaVuSerif.license
Normal file
@ -0,0 +1,58 @@
|
||||
This package was debianized by Peter Cernak <pce@users.sourceforge.net> on
|
||||
Sun, 5 Sep 2004 17:10:26 +0200.
|
||||
|
||||
It was downloaded from http://dejavu.sourceforge.net/
|
||||
|
||||
Upstream Authors: Stepan Roh <src@users.sourceforge.net> (original author),
|
||||
see /usr/share/doc/ttf-dejavu/AUTHORS for full list
|
||||
|
||||
Copyright:
|
||||
|
||||
Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
|
||||
|
||||
Bitstream Vera Fonts Copyright
|
||||
------------------------------
|
||||
|
||||
Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is
|
||||
a trademark of Bitstream, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of the fonts accompanying this license ("Fonts") and associated
|
||||
documentation files (the "Font Software"), to reproduce and distribute the
|
||||
Font Software, including without limitation the rights to use, copy, merge,
|
||||
publish, distribute, and/or sell copies of the Font Software, and to permit
|
||||
persons to whom the Font Software is furnished to do so, subject to the
|
||||
following conditions:
|
||||
|
||||
The above copyright and trademark notices and this permission notice shall
|
||||
be included in all copies of one or more of the Font Software typefaces.
|
||||
|
||||
The Font Software may be modified, altered, or added to, and in particular
|
||||
the designs of glyphs or characters in the Fonts may be modified and
|
||||
additional glyphs or characters may be added to the Fonts, only if the fonts
|
||||
are renamed to names not containing either the words "Bitstream" or the word
|
||||
"Vera".
|
||||
|
||||
This License becomes null and void to the extent applicable to Fonts or Font
|
||||
Software that has been modified and is distributed under the "Bitstream
|
||||
Vera" names.
|
||||
|
||||
The Font Software may be sold as part of a larger software package but no
|
||||
copy of one or more of the Font Software typefaces may be sold by itself.
|
||||
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
|
||||
TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
|
||||
FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING
|
||||
ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
|
||||
THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE
|
||||
FONT SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the names of Gnome, the Gnome
|
||||
Foundation, and Bitstream Inc., shall not be used in advertising or
|
||||
otherwise to promote the sale, use or other dealings in this Font Software
|
||||
without prior written authorization from the Gnome Foundation or Bitstream
|
||||
Inc., respectively. For further information, contact: fonts at gnome dot
|
||||
org.
|
BIN
src/gdisp/fonts/DejaVuSerif.ttf
Normal file
BIN
src/gdisp/fonts/DejaVuSerif.ttf
Normal file
Binary file not shown.
127
src/gdisp/fonts/LargeNumbers.c
Normal file
127
src/gdisp/fonts/LargeNumbers.c
Normal file
@ -0,0 +1,127 @@
|
||||
|
||||
|
||||
/* Start of automatically generated font definition for LargeNumbers. */
|
||||
|
||||
#ifndef MF_RLEFONT_INTERNALS
|
||||
#define MF_RLEFONT_INTERNALS
|
||||
#endif
|
||||
#include "mf_rlefont.h"
|
||||
|
||||
#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
|
||||
#error The font file is not compatible with this version of mcufont.
|
||||
#endif
|
||||
|
||||
static const uint8_t mf_rlefont_LargeNumbers_dictionary_data[141] = {
|
||||
0x82, 0x11, 0x85, 0x11, 0x82, 0x0f, 0x10, 0x82, 0x02, 0x82, 0x10, 0x82, 0x02, 0x82, 0x16, 0x0d,
|
||||
0x04, 0x15, 0x81, 0x8c, 0x0b, 0x8c, 0x03, 0x86, 0x11, 0x86, 0x80, 0x14, 0x82, 0x84, 0x0a, 0x1a,
|
||||
0x82, 0x08, 0x03, 0x81, 0x89, 0x80, 0x0c, 0x44, 0x10, 0x09, 0x82, 0x81, 0x13, 0x83, 0x13, 0x84,
|
||||
0x13, 0x83, 0x13, 0x84, 0x13, 0x83, 0x14, 0x83, 0x13, 0x82, 0x05, 0x82, 0x81, 0x0b, 0x8b, 0x0c,
|
||||
0x8a, 0x0f, 0x81, 0x09, 0x8e, 0x04, 0x84, 0x03, 0x82, 0x02, 0x80, 0x8f, 0x08, 0x8f, 0x08, 0x85,
|
||||
0x01, 0x81, 0x83, 0x01, 0x0b, 0x1d, 0x14, 0x82, 0x11, 0x40, 0x01, 0x82, 0x81, 0x0c, 0x83, 0x0d,
|
||||
0x89, 0x3d, 0x75, 0x84, 0x2c, 0x1f, 0xfd, 0x39, 0x9c, 0x19, 0x67, 0x2a, 0x28, 0x75, 0xc7, 0x2c,
|
||||
0x33, 0x83, 0x23, 0x23, 0x23, 0x23, 0x0f, 0x00, 0x2c, 0x85, 0xa2, 0x27, 0xa2, 0x64, 0x00, 0x83,
|
||||
0x3c, 0x65, 0x39, 0x23, 0x23, 0x00, 0x2e, 0x25, 0x2c, 0x3d, 0x2a, 0x23, 0x0f,
|
||||
};
|
||||
|
||||
static const uint16_t mf_rlefont_LargeNumbers_dictionary_offsets[55] = {
|
||||
0x0000, 0x0005, 0x0006, 0x000c, 0x000e, 0x000f, 0x0010, 0x0011,
|
||||
0x0013, 0x0016, 0x0018, 0x001a, 0x001d, 0x001e, 0x001f, 0x0021,
|
||||
0x0022, 0x0024, 0x0025, 0x0027, 0x0029, 0x002b, 0x003a, 0x003c,
|
||||
0x0043, 0x0045, 0x0047, 0x0049, 0x004b, 0x0050, 0x0052, 0x0054,
|
||||
0x0055, 0x0056, 0x0058, 0x0059, 0x005b, 0x005c, 0x005d, 0x005e,
|
||||
0x0061, 0x0065, 0x0068, 0x006e, 0x0070, 0x0072, 0x0077, 0x007e,
|
||||
0x0080, 0x0082, 0x0085, 0x0087, 0x0089, 0x008b, 0x008d,
|
||||
};
|
||||
|
||||
static const uint8_t mf_rlefont_LargeNumbers_glyph_data_0[630] = {
|
||||
0x08, 0x00, 0x10, 0x0b, 0x00, 0x26, 0x45, 0x49, 0x45, 0x3b, 0x7c, 0x49, 0x0f, 0x10, 0x0d, 0x26,
|
||||
0x1b, 0x1a, 0x1b, 0x1a, 0x1b, 0x1a, 0x1b, 0x10, 0x14, 0x37, 0x1f, 0x75, 0x19, 0x40, 0x42, 0x37,
|
||||
0x34, 0x29, 0x27, 0xd4, 0x75, 0x19, 0x40, 0xec, 0x2a, 0x34, 0x29, 0x37, 0x40, 0x42, 0x10, 0x11,
|
||||
0x1e, 0x9c, 0x1f, 0x1c, 0xe7, 0x22, 0x2a, 0xf0, 0x29, 0x25, 0x44, 0x93, 0x2c, 0x9f, 0x90, 0x2c,
|
||||
0x9d, 0x19, 0x53, 0x2a, 0x31, 0x36, 0x1d, 0x44, 0x4c, 0x44, 0x4c, 0x31, 0x36, 0x1d, 0x70, 0x4c,
|
||||
0xd4, 0x7d, 0x25, 0x87, 0x77, 0x85, 0x64, 0x83, 0xa3, 0x2c, 0x29, 0x25, 0x7c, 0xa3, 0x19, 0x9c,
|
||||
0x1f, 0x1c, 0xf7, 0x1f, 0x10, 0x18, 0x00, 0x1c, 0x31, 0x27, 0x8a, 0x31, 0x87, 0x9c, 0x84, 0x73,
|
||||
0x87, 0x92, 0xa4, 0xa7, 0x87, 0x8a, 0xa4, 0x67, 0x65, 0x2c, 0x28, 0x75, 0x2c, 0xec, 0x67, 0x25,
|
||||
0x73, 0x77, 0x27, 0x21, 0x9c, 0x80, 0x2e, 0x67, 0x21, 0x37, 0x6b, 0x7f, 0x25, 0x67, 0x75, 0x2c,
|
||||
0xf4, 0x8b, 0x8b, 0x64, 0x65, 0x75, 0x27, 0x87, 0x92, 0x92, 0x64, 0x85, 0x73, 0x87, 0x9c, 0x4a,
|
||||
0x93, 0xa4, 0x85, 0x31, 0x10, 0x15, 0xc4, 0x26, 0x4c, 0x31, 0x36, 0x1d, 0x29, 0xc4, 0x2c, 0x85,
|
||||
0x85, 0x2c, 0x23, 0x23, 0xf7, 0x3a, 0x82, 0x22, 0x75, 0x85, 0x21, 0xab, 0x8b, 0x31, 0x82, 0x92,
|
||||
0x4a, 0xb5, 0x83, 0x27, 0x36, 0x21, 0x2c, 0xc5, 0x82, 0x2c, 0xf7, 0x31, 0x25, 0x29, 0xa3, 0x30,
|
||||
0x84, 0xa4, 0xa3, 0x82, 0x10, 0x07, 0x26, 0x41, 0x41, 0x41, 0x10, 0x0b, 0xf4, 0x26, 0x23, 0x39,
|
||||
0x23, 0x49, 0x49, 0x45, 0x41, 0x4d, 0x41, 0x0f, 0x41, 0x0f, 0x10, 0x0b, 0x26, 0x0f, 0x41, 0x0f,
|
||||
0x41, 0x4d, 0x41, 0x45, 0x49, 0x49, 0x39, 0x23, 0x3a, 0x7c, 0x10, 0x0d, 0x38, 0xf7, 0x1f, 0x3a,
|
||||
0xc6, 0xa7, 0x27, 0x64, 0x5f, 0x4c, 0x44, 0x3a, 0xa2, 0x22, 0x2a, 0xf0, 0x5f, 0x4c, 0xc6, 0xa7,
|
||||
0x19, 0x9c, 0x1f, 0x10, 0x14, 0xfc, 0x3a, 0x3b, 0x41, 0x41, 0x41, 0x84, 0x30, 0x30, 0x30, 0x1d,
|
||||
0xa0, 0x39, 0x41, 0x41, 0x10, 0x09, 0x2b, 0x1b, 0x45, 0x39, 0x39, 0x23, 0x10, 0x0a, 0x38, 0x3b,
|
||||
0x3b, 0x3b, 0x22, 0x22, 0x22, 0x10, 0x09, 0x2b, 0x1b, 0x45, 0x10, 0x09, 0x00, 0x27, 0x41, 0x1f,
|
||||
0x41, 0x1f, 0x41, 0x1f, 0x41, 0x1f, 0x41, 0x1f, 0x41, 0x1f, 0x41, 0x10, 0x11, 0x38, 0xc3, 0x19,
|
||||
0x44, 0x19, 0x29, 0x1d, 0x48, 0x43, 0xe5, 0xa2, 0x46, 0x3d, 0x46, 0x3d, 0x46, 0x3d, 0x46, 0x3d,
|
||||
0x37, 0x48, 0x43, 0xc5, 0x3f, 0x1d, 0x44, 0x3a, 0xc3, 0x10, 0x11, 0xf4, 0x26, 0x4c, 0x31, 0x4c,
|
||||
0x74, 0xa3, 0x19, 0x77, 0x45, 0x49, 0x45, 0x00, 0x19, 0x29, 0x43, 0xc3, 0x4c, 0x3d, 0x29, 0x10,
|
||||
0x11, 0x37, 0x22, 0x3e, 0x21, 0x3f, 0x43, 0x00, 0x31, 0x37, 0x85, 0x7c, 0x49, 0x0f, 0x19, 0x31,
|
||||
0x1d, 0x64, 0x18, 0x18, 0x18, 0x29, 0x37, 0x20, 0x10, 0x11, 0x37, 0x22, 0x3e, 0x21, 0x3f, 0x3d,
|
||||
0x25, 0x88, 0x7c, 0x23, 0x4d, 0x4b, 0x2a, 0x21, 0x2a, 0x74, 0xa3, 0x1d, 0x44, 0x4d, 0x23, 0x23,
|
||||
0x4d, 0x84, 0x64, 0x4a, 0x2f, 0x24, 0x10, 0x11, 0x84, 0x1c, 0x31, 0x3a, 0x82, 0x22, 0x22, 0x3e,
|
||||
0x31, 0x4c, 0x7c, 0xa2, 0x1d, 0x52, 0x4c, 0xf0, 0x77, 0x85, 0x2c, 0x7c, 0x27, 0x64, 0xa7, 0x4c,
|
||||
0x48, 0x43, 0xa4, 0x8b, 0x30, 0x30, 0x30, 0x27, 0x2c, 0x23, 0x4d, 0x10, 0x11, 0x25, 0x22, 0x3f,
|
||||
0x2a, 0xfe, 0x29, 0x25, 0x7c, 0x49, 0x3c, 0x4c, 0x21, 0x4c, 0x44, 0x4c, 0xc6, 0x7c, 0x45, 0x84,
|
||||
0x64, 0x4a, 0x2f, 0x24, 0x10, 0x11, 0x1d, 0x22, 0x19, 0xc3, 0x3f, 0xe5, 0x2c, 0x87, 0x88, 0x2c,
|
||||
0x23, 0x39, 0xf1, 0x3f, 0x43, 0x29, 0x25, 0xc2, 0x31, 0x46, 0xf7, 0x2c, 0xe5, 0x7c, 0x37, 0x8b,
|
||||
0x7c, 0x84, 0x64, 0x87, 0x3f, 0x2a, 0xf0, 0x83, 0x19, 0x82, 0x10, 0x11, 0x26, 0x29, 0x37, 0x20,
|
||||
0x4b, 0x2d, 0x2d, 0x3d, 0x10, 0x11, 0x37, 0x22, 0x2a, 0xf0, 0x29, 0x27, 0x7c, 0x29, 0x84, 0x31,
|
||||
0x31, 0x46, 0xe7, 0x2c, 0xa5, 0x93, 0x2c, 0xc3, 0x4c, 0x1b, 0xa3, 0x1d, 0x29, 0x43, 0xe5, 0xa2,
|
||||
0x46, 0xf7, 0x2c, 0x85, 0xa2, 0x2c, 0x87, 0xa3, 0x27, 0x44, 0x3f, 0x1d, 0x44, 0x10, 0x11, 0x38,
|
||||
0xc3, 0x19, 0x82, 0x4c, 0x44, 0x4c, 0xa2, 0x7c, 0x84, 0x64, 0x87, 0xa0, 0x46, 0xf7, 0x2c, 0xe5,
|
||||
0x7c, 0x84, 0x31, 0x31, 0x37, 0x29, 0x4c, 0x29, 0x87, 0x2c, 0x7b, 0x23, 0x39, 0x2a, 0xf5, 0x31,
|
||||
0x37, 0x47, 0x3f, 0x3e, 0x21, 0x10,
|
||||
};
|
||||
|
||||
static const uint16_t mf_rlefont_LargeNumbers_glyph_offsets_0[26] = {
|
||||
0x0000, 0x0003, 0x000e, 0x0018, 0x002f, 0x0065, 0x00a5, 0x00d5,
|
||||
0x00db, 0x00eb, 0x00fb, 0x0114, 0x0125, 0x012d, 0x0136, 0x013b,
|
||||
0x014c, 0x016a, 0x0180, 0x0199, 0x01b7, 0x01dc, 0x01f5, 0x021b,
|
||||
0x0225, 0x024e,
|
||||
};
|
||||
|
||||
static const struct mf_rlefont_char_range_s mf_rlefont_LargeNumbers_char_ranges[] = {
|
||||
{32, 26, mf_rlefont_LargeNumbers_glyph_offsets_0, mf_rlefont_LargeNumbers_glyph_data_0},
|
||||
};
|
||||
|
||||
const struct mf_rlefont_s mf_rlefont_LargeNumbers = {
|
||||
{
|
||||
"DejaVu Sans Bold 24",
|
||||
"LargeNumbers",
|
||||
24, /* width */
|
||||
23, /* height */
|
||||
7, /* min x advance */
|
||||
24, /* max x advance */
|
||||
0, /* baseline x */
|
||||
19, /* baseline y */
|
||||
28, /* line height */
|
||||
2, /* flags */
|
||||
32, /* fallback character */
|
||||
&mf_rlefont_character_width,
|
||||
&mf_rlefont_render_character,
|
||||
},
|
||||
4, /* version */
|
||||
mf_rlefont_LargeNumbers_dictionary_data,
|
||||
mf_rlefont_LargeNumbers_dictionary_offsets,
|
||||
40, /* rle dict count */
|
||||
54, /* total dict count */
|
||||
1, /* char range count */
|
||||
mf_rlefont_LargeNumbers_char_ranges,
|
||||
};
|
||||
|
||||
#ifdef MF_INCLUDED_FONTS
|
||||
/* List entry for searching fonts by name. */
|
||||
static const struct mf_font_list_s mf_rlefont_LargeNumbers_listentry = {
|
||||
MF_INCLUDED_FONTS,
|
||||
(struct mf_font_s*)&mf_rlefont_LargeNumbers
|
||||
};
|
||||
#undef MF_INCLUDED_FONTS
|
||||
#define MF_INCLUDED_FONTS (&mf_rlefont_LargeNumbers_listentry)
|
||||
#endif
|
||||
|
||||
|
||||
/* End of automatically generated font definition for LargeNumbers. */
|
||||
|
77
src/gdisp/fonts/build_fonts.sh
Normal file
77
src/gdisp/fonts/build_fonts.sh
Normal file
@ -0,0 +1,77 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -x -e
|
||||
|
||||
# Path to the mcufont encoder program
|
||||
MCUFONT=mcufont
|
||||
|
||||
# Character ranges to include in the fonts.
|
||||
# Default: ASCII only
|
||||
CHARS=32-127
|
||||
|
||||
# Number of iterations in optimization
|
||||
# Higher numbers compress better
|
||||
ITERS=25
|
||||
|
||||
function build {
|
||||
infile=`basename $1`
|
||||
outfile=$2
|
||||
fmt=$3
|
||||
size=$4
|
||||
bw=$5
|
||||
ext="${infile##*.}"
|
||||
noext="${infile%.*}"
|
||||
if [ $ext = 'ttf' ]; then
|
||||
dat=$noext$size$bw.dat
|
||||
$MCUFONT import_ttf $1 $size $bw
|
||||
else
|
||||
dat=$noext.dat
|
||||
$MCUFONT import_bdf $1
|
||||
fi
|
||||
|
||||
$MCUFONT filter $dat $CHARS
|
||||
|
||||
if [ $outfile = 'LargeNumbers' ]; then
|
||||
$MCUFONT filter $dat 0x20-0x39
|
||||
fi
|
||||
|
||||
if [ $fmt = 'rlefont' ]; then
|
||||
$MCUFONT rlefont_optimize $dat $ITERS
|
||||
$MCUFONT rlefont_export $dat $outfile.c
|
||||
else
|
||||
$MCUFONT bwfont_export $dat $outfile.c
|
||||
fi
|
||||
}
|
||||
|
||||
# Commands are of form: build <input_file> <output_file> <output_format> [size] [bw]
|
||||
# If bw is not given, builds an antialiased font.
|
||||
|
||||
rm -f *.c
|
||||
build DejaVuSans.ttf DejaVuSans10 bwfont 10 bw
|
||||
build DejaVuSans.ttf DejaVuSans12 bwfont 12 bw
|
||||
build DejaVuSans.ttf DejaVuSans16 rlefont 16 bw
|
||||
build DejaVuSans.ttf DejaVuSans24 rlefont 24 bw
|
||||
build DejaVuSans.ttf DejaVuSans32 rlefont 32 bw
|
||||
build DejaVuSans.ttf DejaVuSans12_aa rlefont 12
|
||||
build DejaVuSans.ttf DejaVuSans16_aa rlefont 16
|
||||
build DejaVuSans.ttf DejaVuSans24_aa rlefont 24
|
||||
build DejaVuSans.ttf DejaVuSans32_aa rlefont 32
|
||||
build DejaVuSans-Bold.ttf DejaVuSansBold12 bwfont 12 bw
|
||||
build DejaVuSans-Bold.ttf DejaVuSansBold12_aa rlefont 12
|
||||
build DejaVuSans-Bold.ttf LargeNumbers rlefont 24 bw
|
||||
build fixed_10x20.bdf fixed_10x20 bwfont
|
||||
build fixed_7x14.bdf fixed_7x14 bwfont
|
||||
build fixed_5x8.bdf fixed_5x8 bwfont
|
||||
|
||||
echo > fonts.h
|
||||
echo '#include <gfx.h>' >> fonts.h
|
||||
for file in *.c; do
|
||||
echo >> fonts.h
|
||||
noext="${file%.*}"
|
||||
upper=${noext^^}
|
||||
defname='GDISP_INCLUDE_FONT_'$upper
|
||||
echo '#if defined('$defname') && '$defname >> fonts.h
|
||||
echo '#include "'$file'"' >> fonts.h
|
||||
echo '#endif' >> fonts.h
|
||||
done
|
||||
|
6279
src/gdisp/fonts/fixed_10x20.bdf
Normal file
6279
src/gdisp/fonts/fixed_10x20.bdf
Normal file
File diff suppressed because it is too large
Load Diff
227
src/gdisp/fonts/fixed_10x20.c
Normal file
227
src/gdisp/fonts/fixed_10x20.c
Normal file
@ -0,0 +1,227 @@
|
||||
|
||||
|
||||
/* Start of automatically generated font definition for fixed_10x20. */
|
||||
|
||||
#ifndef MF_BWFONT_INTERNALS
|
||||
#define MF_BWFONT_INTERNALS
|
||||
#endif
|
||||
#include "mf_bwfont.h"
|
||||
|
||||
#ifndef MF_BWFONT_VERSION_4_SUPPORTED
|
||||
#error The font file is not compatible with this version of mcufont.
|
||||
#endif
|
||||
|
||||
static const uint8_t mf_bwfont_fixed_10x20_glyph_data_0[2193] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x1b, 0x00, 0xff, 0x1b, 0x00, 0x00,
|
||||
0x00, 0x00, 0x07, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00,
|
||||
0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x0f, 0x00, 0xf0, 0x0f, 0x00, 0xfe, 0x01, 0x00,
|
||||
0x1e, 0x0f, 0x00, 0xf0, 0x0f, 0x00, 0xfe, 0x01, 0x00, 0x1e, 0x01, 0x00, 0x10, 0x00, 0x00, 0x3c,
|
||||
0x04, 0x00, 0x7e, 0x0c, 0x00, 0x42, 0x08, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x42, 0x08,
|
||||
0x00, 0xc6, 0x0f, 0x00, 0x84, 0x07, 0x00, 0x0c, 0x00, 0x00, 0x1e, 0x18, 0x00, 0x12, 0x1e, 0x00,
|
||||
0x9e, 0x07, 0x00, 0xec, 0x0d, 0x00, 0x78, 0x1e, 0x00, 0x1e, 0x12, 0x00, 0x06, 0x1e, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x80, 0x0f, 0x00, 0xde, 0x1f, 0x00, 0x7f, 0x18, 0x00, 0xf1, 0x10, 0x00, 0x9f, 0x19,
|
||||
0x00, 0x0e, 0x0f, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xf0, 0x01, 0x00, 0xfc, 0x07, 0x00, 0x0e, 0x0e, 0x00, 0x03, 0x18, 0x00, 0x01, 0x10,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x03, 0x18, 0x00, 0x0e, 0x0e, 0x00, 0xfc, 0x07, 0x00,
|
||||
0xf0, 0x01, 0x00, 0x40, 0x00, 0x00, 0x58, 0x03, 0x00, 0xf8, 0x03, 0x00, 0xe0, 0x00, 0x00, 0xe0,
|
||||
0x00, 0x00, 0xf8, 0x03, 0x00, 0x58, 0x03, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00,
|
||||
0x00, 0x40, 0x00, 0x00, 0xf8, 0x03, 0x00, 0xf8, 0x03, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x38, 0x00, 0x00,
|
||||
0x38, 0x00, 0x00, 0x18, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00,
|
||||
0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x1c, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x1e, 0x00, 0x80, 0x07, 0x00, 0xe0, 0x01, 0x00, 0x78, 0x00,
|
||||
0x00, 0x1e, 0x00, 0x00, 0x06, 0x00, 0x00, 0xf0, 0x01, 0x00, 0xfc, 0x07, 0x00, 0x0e, 0x0e, 0x00,
|
||||
0x03, 0x18, 0x00, 0x03, 0x18, 0x00, 0x0e, 0x0e, 0x00, 0xfc, 0x07, 0x00, 0xf0, 0x01, 0x00, 0x08,
|
||||
0x10, 0x00, 0x0c, 0x10, 0x00, 0x06, 0x10, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0x10,
|
||||
0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x0c, 0x1c, 0x00, 0x0e, 0x1e, 0x00, 0x03, 0x13, 0x00,
|
||||
0x81, 0x11, 0x00, 0x81, 0x10, 0x00, 0xc3, 0x10, 0x00, 0x7e, 0x10, 0x00, 0x3c, 0x10, 0x00, 0x0c,
|
||||
0x06, 0x00, 0x0e, 0x0e, 0x00, 0x03, 0x18, 0x00, 0x41, 0x10, 0x00, 0x41, 0x10, 0x00, 0xe3, 0x18,
|
||||
0x00, 0xbe, 0x0f, 0x00, 0x1c, 0x07, 0x00, 0xc0, 0x01, 0x00, 0xe0, 0x01, 0x00, 0x30, 0x01, 0x00,
|
||||
0x18, 0x01, 0x00, 0x0c, 0x01, 0x00, 0xfe, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0x01, 0x00, 0x7f,
|
||||
0x04, 0x00, 0x7f, 0x0c, 0x00, 0x41, 0x18, 0x00, 0x21, 0x10, 0x00, 0x21, 0x10, 0x00, 0x61, 0x18,
|
||||
0x00, 0xc1, 0x0f, 0x00, 0x81, 0x07, 0x00, 0xfc, 0x07, 0x00, 0xfe, 0x0f, 0x00, 0x43, 0x18, 0x00,
|
||||
0x21, 0x10, 0x00, 0x21, 0x10, 0x00, 0x63, 0x18, 0x00, 0xc6, 0x0f, 0x00, 0x80, 0x07, 0x00, 0x01,
|
||||
0x00, 0x00, 0x01, 0x18, 0x00, 0x01, 0x1e, 0x00, 0x81, 0x07, 0x00, 0xe1, 0x01, 0x00, 0x79, 0x00,
|
||||
0x00, 0x1f, 0x00, 0x00, 0x07, 0x00, 0x00, 0x1c, 0x07, 0x00, 0xbe, 0x0f, 0x00, 0xe3, 0x18, 0x00,
|
||||
0x41, 0x10, 0x00, 0x41, 0x10, 0x00, 0xe3, 0x18, 0x00, 0xbe, 0x0f, 0x00, 0x1c, 0x07, 0x00, 0x3c,
|
||||
0x00, 0x00, 0x7e, 0x0c, 0x00, 0xc3, 0x18, 0x00, 0x81, 0x10, 0x00, 0x81, 0x10, 0x00, 0x43, 0x18,
|
||||
0x00, 0xfe, 0x0f, 0x00, 0xfc, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x60, 0x18, 0x00, 0x60, 0x18, 0x00, 0x60, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x60, 0x38, 0x00, 0x60, 0x38, 0x00, 0x60, 0x18, 0x00, 0x40, 0x00, 0x00, 0xe0, 0x00,
|
||||
0x00, 0xb0, 0x01, 0x00, 0x18, 0x03, 0x00, 0x0c, 0x06, 0x00, 0x06, 0x0c, 0x00, 0x03, 0x18, 0x00,
|
||||
0x10, 0x02, 0x00, 0x10, 0x02, 0x00, 0x10, 0x02, 0x00, 0x10, 0x02, 0x00, 0x10, 0x02, 0x00, 0x10,
|
||||
0x02, 0x00, 0x10, 0x02, 0x00, 0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 0x18, 0x00, 0x06, 0x0c,
|
||||
0x00, 0x0c, 0x06, 0x00, 0x18, 0x03, 0x00, 0xb0, 0x01, 0x00, 0xe0, 0x00, 0x00, 0x40, 0x00, 0x00,
|
||||
0x1c, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x03, 0x00, 0x00, 0x81, 0x1b, 0x00, 0xc1, 0x1b, 0x00, 0x63,
|
||||
0x00, 0x00, 0x3e, 0x00, 0x00, 0x1c, 0x00, 0x00, 0xfc, 0x07, 0x00, 0xfe, 0x0f, 0x00, 0x03, 0x18,
|
||||
0x00, 0xf1, 0x11, 0x00, 0xf9, 0x13, 0x00, 0x1b, 0x13, 0x00, 0xfe, 0x19, 0x00, 0xfc, 0x08, 0x00,
|
||||
0xf0, 0x1f, 0x00, 0xfc, 0x1f, 0x00, 0x8e, 0x00, 0x00, 0x83, 0x00, 0x00, 0x83, 0x00, 0x00, 0x8e,
|
||||
0x00, 0x00, 0xfc, 0x1f, 0x00, 0xf0, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x41, 0x10,
|
||||
0x00, 0x41, 0x10, 0x00, 0x63, 0x10, 0x00, 0xfe, 0x18, 0x00, 0x9c, 0x0f, 0x00, 0x00, 0x07, 0x00,
|
||||
0xfc, 0x07, 0x00, 0xfe, 0x0f, 0x00, 0x03, 0x18, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0x03,
|
||||
0x18, 0x00, 0x06, 0x0c, 0x00, 0x04, 0x04, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x01, 0x10,
|
||||
0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0x03, 0x18, 0x00, 0xfe, 0x0f, 0x00, 0xfc, 0x07, 0x00,
|
||||
0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x41, 0x10, 0x00, 0x41, 0x10, 0x00, 0x41, 0x10, 0x00, 0x41,
|
||||
0x10, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x41, 0x00,
|
||||
0x00, 0x41, 0x00, 0x00, 0x41, 0x00, 0x00, 0x41, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0xfc, 0x07, 0x00, 0xfe, 0x0f, 0x00, 0x03, 0x18, 0x00, 0x01, 0x10, 0x00, 0x41, 0x10, 0x00, 0x43,
|
||||
0x18, 0x00, 0xc6, 0x0f, 0x00, 0xc4, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x40, 0x00,
|
||||
0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00,
|
||||
0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x01,
|
||||
0x10, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x18,
|
||||
0x00, 0x01, 0x10, 0x00, 0x01, 0x18, 0x00, 0xff, 0x0f, 0x00, 0xff, 0x07, 0x00, 0x01, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0xf0,
|
||||
0x01, 0x00, 0xbc, 0x07, 0x00, 0x0f, 0x1e, 0x00, 0x03, 0x18, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00,
|
||||
0x00, 0x10, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x1c, 0x00, 0x00, 0xf0, 0x01, 0x00, 0xf0,
|
||||
0x01, 0x00, 0x1c, 0x00, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x1e, 0x00, 0x00, 0x78, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x80, 0x07, 0x00, 0xff, 0x1f, 0x00,
|
||||
0xff, 0x1f, 0x00, 0xfc, 0x07, 0x00, 0xfe, 0x0f, 0x00, 0x03, 0x18, 0x00, 0x01, 0x10, 0x00, 0x01,
|
||||
0x10, 0x00, 0x03, 0x18, 0x00, 0xfe, 0x0f, 0x00, 0xfc, 0x07, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x81, 0x00, 0x00, 0x81, 0x00, 0x00, 0x81, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x7e, 0x00, 0x00,
|
||||
0x3c, 0x00, 0x00, 0xfc, 0x07, 0x00, 0xfe, 0x0f, 0x00, 0x03, 0x18, 0x00, 0x01, 0x12, 0x00, 0x01,
|
||||
0x16, 0x00, 0x03, 0x1c, 0x00, 0xfe, 0x3f, 0x00, 0xfc, 0x27, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x81, 0x00, 0x00, 0x81, 0x00, 0x00, 0x81, 0x01, 0x00, 0xc3, 0x07, 0x00, 0x7e, 0x1e, 0x00,
|
||||
0x3c, 0x18, 0x00, 0x1c, 0x04, 0x00, 0x3e, 0x0c, 0x00, 0x63, 0x18, 0x00, 0x41, 0x10, 0x00, 0x41,
|
||||
0x10, 0x00, 0xc3, 0x18, 0x00, 0x86, 0x0f, 0x00, 0x04, 0x07, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00,
|
||||
0x00, 0x01, 0x00, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0xff, 0x07, 0x00, 0xff, 0x0f, 0x00, 0x00, 0x18, 0x00, 0x00, 0x10, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x18, 0x00, 0xff, 0x0f, 0x00, 0xff, 0x07, 0x00, 0x0f, 0x00, 0x00, 0x7f, 0x00,
|
||||
0x00, 0xf0, 0x03, 0x00, 0x80, 0x1f, 0x00, 0x80, 0x1f, 0x00, 0xf0, 0x03, 0x00, 0x7f, 0x00, 0x00,
|
||||
0x0f, 0x00, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0x06, 0x00, 0xe0, 0x01, 0x00, 0xe0,
|
||||
0x01, 0x00, 0x00, 0x06, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x03, 0x18, 0x00, 0x0f, 0x1e,
|
||||
0x00, 0xbc, 0x07, 0x00, 0xf0, 0x01, 0x00, 0xf0, 0x01, 0x00, 0xbc, 0x07, 0x00, 0x0f, 0x1e, 0x00,
|
||||
0x03, 0x18, 0x00, 0x03, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x3c, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0xf0,
|
||||
0x1f, 0x00, 0x3c, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, 0x1c, 0x00, 0x01, 0x1e,
|
||||
0x00, 0x81, 0x13, 0x00, 0xc1, 0x11, 0x00, 0x71, 0x10, 0x00, 0x39, 0x10, 0x00, 0x0f, 0x10, 0x00,
|
||||
0x07, 0x10, 0x00, 0x00, 0x00, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x01, 0x10, 0x00, 0x01,
|
||||
0x10, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x1e, 0x00,
|
||||
0x00, 0x78, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x80, 0x07, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x18, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0xff,
|
||||
0x1f, 0x00, 0xff, 0x1f, 0x00, 0x08, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x06, 0x00, 0x00, 0x03, 0x00,
|
||||
0x00, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00,
|
||||
0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00,
|
||||
0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
|
||||
0x00, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x40, 0x1f, 0x00,
|
||||
0x60, 0x11, 0x00, 0x20, 0x11, 0x00, 0x20, 0x11, 0x00, 0x20, 0x11, 0x00, 0xe0, 0x0f, 0x00, 0xc0,
|
||||
0x1f, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x40, 0x08, 0x00, 0x20, 0x10, 0x00, 0x20, 0x10,
|
||||
0x00, 0x60, 0x18, 0x00, 0xc0, 0x0f, 0x00, 0x80, 0x07, 0x00, 0x80, 0x07, 0x00, 0xc0, 0x0f, 0x00,
|
||||
0x60, 0x18, 0x00, 0x20, 0x10, 0x00, 0x20, 0x10, 0x00, 0x20, 0x10, 0x00, 0x60, 0x18, 0x00, 0x40,
|
||||
0x08, 0x00, 0x80, 0x07, 0x00, 0xc0, 0x0f, 0x00, 0x60, 0x18, 0x00, 0x20, 0x10, 0x00, 0x20, 0x10,
|
||||
0x00, 0x40, 0x08, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x80, 0x07, 0x00, 0xc0, 0x0f, 0x00,
|
||||
0x60, 0x19, 0x00, 0x20, 0x11, 0x00, 0x20, 0x11, 0x00, 0x60, 0x11, 0x00, 0xc0, 0x19, 0x00, 0x80,
|
||||
0x09, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x21, 0x00,
|
||||
0x00, 0x21, 0x00, 0x00, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0xc0, 0xeb, 0x00, 0xe0, 0xff, 0x01,
|
||||
0x20, 0x14, 0x01, 0x20, 0x14, 0x01, 0x20, 0x14, 0x01, 0xe0, 0x17, 0x01, 0xc0, 0xf3, 0x01, 0x60,
|
||||
0xe0, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x40, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00,
|
||||
0x00, 0x60, 0x00, 0x00, 0xc0, 0x1f, 0x00, 0x80, 0x1f, 0x00, 0x00, 0x10, 0x00, 0x20, 0x10, 0x00,
|
||||
0x20, 0x10, 0x00, 0xec, 0x1f, 0x00, 0xec, 0x1f, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x01, 0x20, 0x00,
|
||||
0x01, 0x20, 0x00, 0x01, 0xec, 0xff, 0x01, 0xec, 0xff, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00,
|
||||
0x00, 0x03, 0x00, 0x80, 0x03, 0x00, 0xc0, 0x06, 0x00, 0x60, 0x0c, 0x00, 0x20, 0x18, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x10, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0xe0, 0x1f, 0x00, 0xc0, 0x1f, 0x00,
|
||||
0x60, 0x00, 0x00, 0xe0, 0x1f, 0x00, 0xc0, 0x1f, 0x00, 0x60, 0x00, 0x00, 0xe0, 0x1f, 0x00, 0xc0,
|
||||
0x1f, 0x00, 0xe0, 0x1f, 0x00, 0xe0, 0x1f, 0x00, 0x40, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00,
|
||||
0x00, 0x60, 0x00, 0x00, 0xc0, 0x1f, 0x00, 0x80, 0x1f, 0x00, 0x80, 0x07, 0x00, 0xc0, 0x0f, 0x00,
|
||||
0x60, 0x18, 0x00, 0x20, 0x10, 0x00, 0x20, 0x10, 0x00, 0x60, 0x18, 0x00, 0xc0, 0x0f, 0x00, 0x80,
|
||||
0x07, 0x00, 0xe0, 0xff, 0x01, 0xe0, 0xff, 0x01, 0x40, 0x08, 0x00, 0x20, 0x10, 0x00, 0x20, 0x10,
|
||||
0x00, 0x60, 0x18, 0x00, 0xc0, 0x0f, 0x00, 0x80, 0x07, 0x00, 0x80, 0x07, 0x00, 0xc0, 0x0f, 0x00,
|
||||
0x60, 0x18, 0x00, 0x20, 0x10, 0x00, 0x20, 0x10, 0x00, 0x40, 0x08, 0x00, 0xe0, 0xff, 0x01, 0xe0,
|
||||
0xff, 0x01, 0x20, 0x00, 0x00, 0xe0, 0x1f, 0x00, 0xc0, 0x1f, 0x00, 0x60, 0x00, 0x00, 0x20, 0x00,
|
||||
0x00, 0x20, 0x00, 0x00, 0x60, 0x00, 0x00, 0x40, 0x00, 0x00, 0xc0, 0x08, 0x00, 0xe0, 0x19, 0x00,
|
||||
0x20, 0x11, 0x00, 0x20, 0x11, 0x00, 0x20, 0x11, 0x00, 0x20, 0x11, 0x00, 0x60, 0x1f, 0x00, 0x40,
|
||||
0x0e, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0xfc, 0x0f, 0x00, 0xfc, 0x1f, 0x00, 0x20, 0x10,
|
||||
0x00, 0x20, 0x10, 0x00, 0x00, 0x18, 0x00, 0x00, 0x08, 0x00, 0xe0, 0x07, 0x00, 0xe0, 0x0f, 0x00,
|
||||
0x00, 0x18, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xe0, 0x1f, 0x00, 0xe0,
|
||||
0x1f, 0x00, 0x60, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x80, 0x07, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x1e,
|
||||
0x00, 0x80, 0x07, 0x00, 0xe0, 0x01, 0x00, 0x60, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0xe0, 0x1f, 0x00,
|
||||
0x00, 0x18, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x18, 0x00, 0xe0, 0x1f, 0x00, 0xe0,
|
||||
0x0f, 0x00, 0x20, 0x10, 0x00, 0x60, 0x18, 0x00, 0xc0, 0x0c, 0x00, 0x80, 0x07, 0x00, 0x80, 0x07,
|
||||
0x00, 0xc0, 0x0c, 0x00, 0x60, 0x18, 0x00, 0x20, 0x10, 0x00, 0xe0, 0x47, 0x00, 0xe0, 0xcf, 0x00,
|
||||
0x00, 0x98, 0x01, 0x00, 0x10, 0x01, 0x00, 0x10, 0x01, 0x00, 0x88, 0x01, 0xe0, 0xff, 0x00, 0xe0,
|
||||
0x7f, 0x00, 0x00, 0x00, 0x00, 0x20, 0x18, 0x00, 0x20, 0x1c, 0x00, 0x20, 0x16, 0x00, 0x20, 0x13,
|
||||
0x00, 0xa0, 0x11, 0x00, 0xe0, 0x10, 0x00, 0x60, 0x10, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0xfe, 0x0f, 0x00, 0xbf, 0x1f, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0x01,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0xbf, 0x1f, 0x00, 0xfe, 0x0f, 0x00,
|
||||
0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x00, 0x00, 0x03, 0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
static const uint16_t mf_bwfont_fixed_10x20_glyph_offsets_0[96] = {
|
||||
0x0000, 0x0000, 0x0005, 0x000c, 0x0015, 0x001d, 0x0026, 0x002f,
|
||||
0x0034, 0x003b, 0x0041, 0x0049, 0x0051, 0x0057, 0x005f, 0x0065,
|
||||
0x006d, 0x0075, 0x007d, 0x0085, 0x008d, 0x0095, 0x009d, 0x00a5,
|
||||
0x00ad, 0x00b5, 0x00bd, 0x00c3, 0x00c9, 0x00d0, 0x00d8, 0x00e0,
|
||||
0x00e8, 0x00f0, 0x00f8, 0x0100, 0x0108, 0x0110, 0x0118, 0x0120,
|
||||
0x0128, 0x0130, 0x0138, 0x0141, 0x0149, 0x0151, 0x0159, 0x0161,
|
||||
0x0169, 0x0171, 0x0179, 0x0181, 0x0189, 0x0191, 0x0199, 0x01a1,
|
||||
0x01a9, 0x01b1, 0x01b9, 0x01c1, 0x01c8, 0x01d0, 0x01d7, 0x01df,
|
||||
0x01e8, 0x01ee, 0x01f6, 0x01fe, 0x0206, 0x020e, 0x0216, 0x021e,
|
||||
0x0226, 0x022e, 0x0236, 0x023e, 0x0246, 0x024e, 0x0256, 0x025e,
|
||||
0x0266, 0x026e, 0x0276, 0x027e, 0x0286, 0x028e, 0x0296, 0x029e,
|
||||
0x02a6, 0x02ae, 0x02b6, 0x02be, 0x02c6, 0x02cb, 0x02d3, 0x02db,
|
||||
};
|
||||
|
||||
static const uint8_t mf_bwfont_fixed_10x20_glyph_widths_0[95] = {
|
||||
0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a,
|
||||
0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a,
|
||||
0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a,
|
||||
0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a,
|
||||
0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a,
|
||||
0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a,
|
||||
};
|
||||
|
||||
static const struct mf_bwfont_char_range_s mf_bwfont_fixed_10x20_char_ranges[] = {
|
||||
{
|
||||
32, /* first char */
|
||||
95, /* char count */
|
||||
0, /* offset x */
|
||||
0, /* offset y */
|
||||
3, /* height in bytes */
|
||||
17, /* height in pixels */
|
||||
0, /* width */
|
||||
mf_bwfont_fixed_10x20_glyph_widths_0, /* glyph widths */
|
||||
mf_bwfont_fixed_10x20_glyph_offsets_0, /* glyph offsets */
|
||||
mf_bwfont_fixed_10x20_glyph_data_0, /* glyph data */
|
||||
},
|
||||
};
|
||||
|
||||
const struct mf_bwfont_s mf_bwfont_fixed_10x20 = {
|
||||
{
|
||||
"-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-15",
|
||||
"fixed_10x20",
|
||||
9, /* width */
|
||||
17, /* height */
|
||||
10, /* min x advance */
|
||||
10, /* max x advance */
|
||||
-1, /* baseline x */
|
||||
13, /* baseline y */
|
||||
20, /* line height */
|
||||
3, /* flags */
|
||||
63, /* fallback character */
|
||||
&mf_bwfont_character_width,
|
||||
&mf_bwfont_render_character,
|
||||
},
|
||||
4, /* version */
|
||||
1, /* char range count */
|
||||
mf_bwfont_fixed_10x20_char_ranges,
|
||||
};
|
||||
|
||||
#ifdef MF_INCLUDED_FONTS
|
||||
/* List entry for searching fonts by name. */
|
||||
static const struct mf_font_list_s mf_bwfont_fixed_10x20_listentry = {
|
||||
MF_INCLUDED_FONTS,
|
||||
(struct mf_font_s*)&mf_bwfont_fixed_10x20
|
||||
};
|
||||
#undef MF_INCLUDED_FONTS
|
||||
#define MF_INCLUDED_FONTS (&mf_bwfont_fixed_10x20_listentry)
|
||||
#endif
|
||||
|
||||
|
||||
/* End of automatically generated font definition for fixed_10x20. */
|
||||
|
3602
src/gdisp/fonts/fixed_5x8.bdf
Normal file
3602
src/gdisp/fonts/fixed_5x8.bdf
Normal file
File diff suppressed because it is too large
Load Diff
95
src/gdisp/fonts/fixed_5x8.c
Normal file
95
src/gdisp/fonts/fixed_5x8.c
Normal file
@ -0,0 +1,95 @@
|
||||
|
||||
|
||||
/* Start of automatically generated font definition for fixed_5x8. */
|
||||
|
||||
#ifndef MF_BWFONT_INTERNALS
|
||||
#define MF_BWFONT_INTERNALS
|
||||
#endif
|
||||
#include "mf_bwfont.h"
|
||||
|
||||
#ifndef MF_BWFONT_VERSION_4_SUPPORTED
|
||||
#error The font file is not compatible with this version of mcufont.
|
||||
#endif
|
||||
|
||||
static const uint8_t mf_bwfont_fixed_5x8_glyph_data_0[475] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x14,
|
||||
0x7f, 0x14, 0x7f, 0x14, 0x04, 0x2a, 0x7f, 0x2a, 0x10, 0x00, 0x16, 0x08, 0x34, 0x00, 0x36, 0x49,
|
||||
0x36, 0x40, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x00, 0x00, 0x00, 0x42, 0x3c,
|
||||
0x00, 0x00, 0x54, 0x38, 0x38, 0x54, 0x00, 0x10, 0x10, 0x7c, 0x10, 0x10, 0x00, 0x80, 0x60, 0x20,
|
||||
0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x40, 0xe0, 0x40, 0x00, 0x60, 0x10, 0x08, 0x06, 0x00,
|
||||
0x00, 0x3c, 0x42, 0x3c, 0x00, 0x00, 0x44, 0x7e, 0x40, 0x00, 0x64, 0x52, 0x52, 0x4c, 0x00, 0x22,
|
||||
0x4a, 0x4e, 0x32, 0x00, 0x18, 0x14, 0x7e, 0x10, 0x00, 0x2e, 0x4a, 0x4a, 0x32, 0x00, 0x3c, 0x4a,
|
||||
0x4a, 0x30, 0x00, 0x02, 0x62, 0x1a, 0x06, 0x00, 0x34, 0x4a, 0x4a, 0x34, 0x00, 0x0c, 0x52, 0x52,
|
||||
0x3c, 0x00, 0x00, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x80, 0x6c, 0x2c, 0x00, 0x00, 0x18, 0x24, 0x42,
|
||||
0x00, 0x28, 0x28, 0x28, 0x28, 0x00, 0x00, 0x42, 0x24, 0x18, 0x00, 0x00, 0x04, 0x52, 0x0c, 0x00,
|
||||
0x3c, 0x42, 0x99, 0xa5, 0x1e, 0x7c, 0x12, 0x12, 0x7c, 0x00, 0x7e, 0x4a, 0x4a, 0x34, 0x00, 0x3c,
|
||||
0x42, 0x42, 0x24, 0x00, 0x7e, 0x42, 0x42, 0x3c, 0x00, 0x7e, 0x4a, 0x4a, 0x42, 0x00, 0x7e, 0x0a,
|
||||
0x0a, 0x02, 0x00, 0x3c, 0x42, 0x52, 0x34, 0x00, 0x7e, 0x08, 0x08, 0x7e, 0x00, 0x00, 0x42, 0x7e,
|
||||
0x42, 0x00, 0x20, 0x42, 0x3e, 0x02, 0x00, 0x7e, 0x08, 0x34, 0x42, 0x00, 0x7e, 0x40, 0x40, 0x40,
|
||||
0x00, 0x7e, 0x0c, 0x0c, 0x7e, 0x00, 0x7e, 0x0c, 0x38, 0x7e, 0x00, 0x3c, 0x42, 0x42, 0x3c, 0x00,
|
||||
0x7e, 0x12, 0x12, 0x0c, 0x00, 0x3c, 0x52, 0x62, 0xbc, 0x00, 0x7e, 0x12, 0x12, 0x6c, 0x00, 0x24,
|
||||
0x4a, 0x52, 0x24, 0x00, 0x00, 0x02, 0x7e, 0x02, 0x00, 0x3e, 0x40, 0x40, 0x3e, 0x00, 0x1e, 0x60,
|
||||
0x60, 0x1e, 0x00, 0x7e, 0x30, 0x30, 0x7e, 0x00, 0x66, 0x18, 0x18, 0x66, 0x00, 0x06, 0x08, 0x70,
|
||||
0x08, 0x06, 0x62, 0x52, 0x4a, 0x46, 0x00, 0x00, 0x7e, 0x42, 0x42, 0x00, 0x06, 0x08, 0x10, 0x60,
|
||||
0x00, 0x00, 0x42, 0x42, 0x7e, 0x00, 0x00, 0x04, 0x02, 0x04, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00,
|
||||
0x00, 0x02, 0x04, 0x00, 0x00, 0x30, 0x48, 0x48, 0x78, 0x00, 0x7e, 0x48, 0x48, 0x30, 0x00, 0x00,
|
||||
0x30, 0x48, 0x48, 0x00, 0x30, 0x48, 0x48, 0x7e, 0x00, 0x30, 0x68, 0x58, 0x10, 0x00, 0x10, 0x7c,
|
||||
0x12, 0x04, 0x00, 0x10, 0xa8, 0xa8, 0x70, 0x00, 0x7e, 0x08, 0x08, 0x70, 0x00, 0x00, 0x48, 0x7a,
|
||||
0x40, 0x00, 0x00, 0x40, 0x80, 0x7a, 0x00, 0x7e, 0x10, 0x10, 0x68, 0x00, 0x00, 0x42, 0x7e, 0x40,
|
||||
0x00, 0x78, 0x08, 0x70, 0x08, 0x70, 0x78, 0x08, 0x08, 0x70, 0x00, 0x30, 0x48, 0x48, 0x30, 0x00,
|
||||
0xf8, 0x28, 0x28, 0x10, 0x00, 0x10, 0x28, 0x28, 0xf8, 0x00, 0x78, 0x10, 0x08, 0x10, 0x00, 0x00,
|
||||
0x50, 0x58, 0x28, 0x00, 0x08, 0x3e, 0x48, 0x20, 0x00, 0x38, 0x40, 0x40, 0x78, 0x00, 0x00, 0x38,
|
||||
0x40, 0x38, 0x00, 0x38, 0x40, 0x30, 0x40, 0x38, 0x48, 0x30, 0x30, 0x48, 0x00, 0x58, 0xa0, 0xa0,
|
||||
0x78, 0x00, 0x48, 0x68, 0x58, 0x48, 0x00, 0x08, 0x2a, 0x55, 0x41, 0x00, 0x00, 0x00, 0x7e, 0x00,
|
||||
0x00, 0x41, 0x55, 0x2a, 0x08, 0x00, 0x04, 0x02, 0x04, 0x02, 0x00,
|
||||
};
|
||||
|
||||
static const struct mf_bwfont_char_range_s mf_bwfont_fixed_5x8_char_ranges[] = {
|
||||
{
|
||||
32, /* first char */
|
||||
95, /* char count */
|
||||
0, /* offset x */
|
||||
0, /* offset y */
|
||||
1, /* height in bytes */
|
||||
8, /* height in pixels */
|
||||
5, /* width */
|
||||
0, /* glyph widths */
|
||||
0, /* glyph offsets */
|
||||
mf_bwfont_fixed_5x8_glyph_data_0, /* glyph data */
|
||||
},
|
||||
};
|
||||
|
||||
const struct mf_bwfont_s mf_bwfont_fixed_5x8 = {
|
||||
{
|
||||
"-Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO8859-15",
|
||||
"fixed_5x8",
|
||||
5, /* width */
|
||||
8, /* height */
|
||||
5, /* min x advance */
|
||||
5, /* max x advance */
|
||||
0, /* baseline x */
|
||||
7, /* baseline y */
|
||||
8, /* line height */
|
||||
3, /* flags */
|
||||
63, /* fallback character */
|
||||
&mf_bwfont_character_width,
|
||||
&mf_bwfont_render_character,
|
||||
},
|
||||
4, /* version */
|
||||
1, /* char range count */
|
||||
mf_bwfont_fixed_5x8_char_ranges,
|
||||
};
|
||||
|
||||
#ifdef MF_INCLUDED_FONTS
|
||||
/* List entry for searching fonts by name. */
|
||||
static const struct mf_font_list_s mf_bwfont_fixed_5x8_listentry = {
|
||||
MF_INCLUDED_FONTS,
|
||||
(struct mf_font_s*)&mf_bwfont_fixed_5x8
|
||||
};
|
||||
#undef MF_INCLUDED_FONTS
|
||||
#define MF_INCLUDED_FONTS (&mf_bwfont_fixed_5x8_listentry)
|
||||
#endif
|
||||
|
||||
|
||||
/* End of automatically generated font definition for fixed_5x8. */
|
||||
|
4940
src/gdisp/fonts/fixed_7x14.bdf
Normal file
4940
src/gdisp/fonts/fixed_7x14.bdf
Normal file
File diff suppressed because it is too large
Load Diff
149
src/gdisp/fonts/fixed_7x14.c
Normal file
149
src/gdisp/fonts/fixed_7x14.c
Normal file
@ -0,0 +1,149 @@
|
||||
|
||||
|
||||
/* Start of automatically generated font definition for fixed_7x14. */
|
||||
|
||||
#ifndef MF_BWFONT_INTERNALS
|
||||
#define MF_BWFONT_INTERNALS
|
||||
#endif
|
||||
#include "mf_bwfont.h"
|
||||
|
||||
#ifndef MF_BWFONT_VERSION_4_SUPPORTED
|
||||
#error The font file is not compatible with this version of mcufont.
|
||||
#endif
|
||||
|
||||
static const uint8_t mf_bwfont_fixed_7x14_glyph_data_0[1330] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xfe, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0xfe, 0x07,
|
||||
0x90, 0x00, 0xfe, 0x07, 0x90, 0x00, 0x00, 0x00, 0x18, 0x03, 0x24, 0x04, 0x44, 0x04, 0xfe, 0x0f,
|
||||
0x44, 0x04, 0x98, 0x03, 0x00, 0x00, 0x0c, 0x06, 0x12, 0x01, 0xd2, 0x03, 0xbc, 0x04, 0x88, 0x04,
|
||||
0x06, 0x03, 0x00, 0x00, 0x80, 0x03, 0x5c, 0x04, 0x62, 0x04, 0xa2, 0x02, 0x1c, 0x03, 0xc0, 0x04,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x0c, 0x06, 0x02, 0x08, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x10, 0x02, 0x08, 0x0c, 0x06, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01,
|
||||
0xa0, 0x00, 0xf8, 0x03, 0xa0, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00,
|
||||
0xf8, 0x03, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x0e,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x04, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x18, 0x00, 0x06, 0x80, 0x01, 0x70, 0x00, 0x0c, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0xf8, 0x01, 0x04, 0x02, 0x02, 0x04, 0x02, 0x04, 0x04, 0x02, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x08, 0x04, 0x04, 0x04, 0xfe, 0x07, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x0c, 0x04, 0x02, 0x06,
|
||||
0x02, 0x05, 0x82, 0x04, 0x62, 0x04, 0x1c, 0x04, 0x00, 0x00, 0x02, 0x03, 0x02, 0x04, 0x22, 0x04,
|
||||
0x32, 0x04, 0x2a, 0x04, 0xc6, 0x03, 0x00, 0x00, 0x80, 0x01, 0x60, 0x01, 0x18, 0x01, 0x04, 0x01,
|
||||
0xfe, 0x07, 0x00, 0x01, 0x00, 0x00, 0x3e, 0x03, 0x12, 0x04, 0x12, 0x04, 0x12, 0x04, 0x12, 0x04,
|
||||
0xe2, 0x03, 0x00, 0x00, 0xf8, 0x03, 0x44, 0x04, 0x22, 0x04, 0x22, 0x04, 0x22, 0x04, 0xc0, 0x03,
|
||||
0x00, 0x00, 0x02, 0x00, 0x02, 0x06, 0x82, 0x01, 0x62, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x00, 0x00,
|
||||
0x8c, 0x03, 0x52, 0x04, 0x22, 0x04, 0x22, 0x04, 0x52, 0x04, 0x8c, 0x03, 0x00, 0x00, 0x3c, 0x03,
|
||||
0x42, 0x04, 0x42, 0x04, 0x42, 0x04, 0x22, 0x02, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x10, 0x02, 0x38, 0x07, 0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x09,
|
||||
0x30, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0xa0, 0x00, 0x10, 0x01,
|
||||
0x08, 0x02, 0x04, 0x04, 0x00, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00,
|
||||
0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x08, 0x02, 0x10, 0x01, 0xa0, 0x00, 0x40, 0x00,
|
||||
0x00, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x02, 0x00, 0xe2, 0x06, 0x12, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0xf8, 0x01, 0x04, 0x02, 0xf2, 0x04, 0x0a, 0x05, 0x0a, 0x05, 0xfc, 0x05, 0x00, 0x00, 0xf8, 0x07,
|
||||
0x44, 0x00, 0x42, 0x00, 0x42, 0x00, 0x44, 0x00, 0xf8, 0x07, 0x00, 0x00, 0xfe, 0x07, 0x22, 0x04,
|
||||
0x22, 0x04, 0x22, 0x04, 0x54, 0x02, 0x88, 0x01, 0x00, 0x00, 0xfc, 0x03, 0x02, 0x04, 0x02, 0x04,
|
||||
0x02, 0x04, 0x02, 0x04, 0x0c, 0x03, 0x00, 0x00, 0xfe, 0x07, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04,
|
||||
0x04, 0x02, 0xf8, 0x01, 0x00, 0x00, 0xfe, 0x07, 0x22, 0x04, 0x22, 0x04, 0x22, 0x04, 0x02, 0x04,
|
||||
0x02, 0x04, 0x00, 0x00, 0xfe, 0x07, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x02, 0x00, 0x02, 0x00,
|
||||
0x00, 0x00, 0xfc, 0x03, 0x02, 0x04, 0x02, 0x04, 0x42, 0x04, 0x42, 0x02, 0xcc, 0x07, 0x00, 0x00,
|
||||
0xfe, 0x07, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00,
|
||||
0x02, 0x04, 0x02, 0x04, 0xfe, 0x07, 0x02, 0x04, 0x02, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x04,
|
||||
0x00, 0x04, 0x02, 0x04, 0xfe, 0x03, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x07, 0x20, 0x00, 0x50, 0x00,
|
||||
0x88, 0x00, 0x04, 0x01, 0x02, 0x06, 0x00, 0x00, 0xfe, 0x07, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04,
|
||||
0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0xfe, 0x07, 0x0c, 0x00, 0x30, 0x00, 0x30, 0x00, 0x0c, 0x00,
|
||||
0xfe, 0x07, 0x00, 0x00, 0xfe, 0x07, 0x18, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x01, 0xfe, 0x07,
|
||||
0x00, 0x00, 0xfc, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0xfc, 0x03, 0x00, 0x00,
|
||||
0xfe, 0x07, 0x42, 0x00, 0x42, 0x00, 0x42, 0x00, 0x42, 0x00, 0x3c, 0x00, 0x00, 0x00, 0xfc, 0x03,
|
||||
0x82, 0x04, 0x82, 0x04, 0x02, 0x05, 0x02, 0x0e, 0xfc, 0x13, 0x00, 0x00, 0xfe, 0x07, 0x42, 0x00,
|
||||
0x42, 0x00, 0xc2, 0x00, 0x42, 0x01, 0x3c, 0x06, 0x00, 0x00, 0x1c, 0x03, 0x22, 0x04, 0x22, 0x04,
|
||||
0x42, 0x04, 0x42, 0x04, 0x8c, 0x03, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xfe, 0x07,
|
||||
0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xfe, 0x03, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04,
|
||||
0xfe, 0x03, 0x00, 0x00, 0x1e, 0x00, 0xe0, 0x00, 0x00, 0x07, 0x00, 0x07, 0xe0, 0x00, 0x1e, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x04, 0x80, 0x03, 0x00, 0x04, 0xfe, 0x03, 0x00, 0x00,
|
||||
0x06, 0x06, 0x98, 0x01, 0x60, 0x00, 0x60, 0x00, 0x98, 0x01, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0e, 0x00, 0x30, 0x00, 0xc0, 0x07, 0x30, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x02, 0x06, 0x82, 0x05,
|
||||
0x42, 0x04, 0x32, 0x04, 0x0a, 0x04, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x1f,
|
||||
0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x00, 0x00, 0x03, 0x00, 0x0c, 0x00, 0x70, 0x00, 0x80, 0x01,
|
||||
0x00, 0x06, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0xff, 0x1f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00,
|
||||
0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x03,
|
||||
0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0xe0, 0x07, 0x00, 0x00, 0xfe, 0x07, 0x20, 0x02,
|
||||
0x10, 0x04, 0x10, 0x04, 0x10, 0x04, 0xe0, 0x03, 0x00, 0x00, 0xe0, 0x03, 0x10, 0x04, 0x10, 0x04,
|
||||
0x10, 0x04, 0x10, 0x04, 0x20, 0x02, 0x00, 0x00, 0xe0, 0x03, 0x10, 0x04, 0x10, 0x04, 0x10, 0x04,
|
||||
0x20, 0x02, 0xfe, 0x07, 0x00, 0x00, 0xe0, 0x03, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04,
|
||||
0xe0, 0x02, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0xfc, 0x07, 0x22, 0x00, 0x22, 0x00, 0x04, 0x00,
|
||||
0x00, 0x00, 0xe0, 0x0c, 0x10, 0x13, 0x10, 0x15, 0x10, 0x15, 0xe0, 0x14, 0x10, 0x08, 0x00, 0x00,
|
||||
0xfe, 0x07, 0x20, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x04, 0x10, 0x04, 0xf6, 0x07, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
|
||||
0x00, 0x10, 0x00, 0x10, 0x10, 0x10, 0xf6, 0x0f, 0x00, 0x00, 0xfe, 0x07, 0x80, 0x00, 0xc0, 0x00,
|
||||
0x20, 0x01, 0x10, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x04, 0xfe, 0x07,
|
||||
0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x10, 0x00, 0xe0, 0x03, 0x10, 0x00,
|
||||
0xe0, 0x07, 0x00, 0x00, 0xf0, 0x07, 0x20, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0xe0, 0x07,
|
||||
0x00, 0x00, 0xe0, 0x03, 0x10, 0x04, 0x10, 0x04, 0x10, 0x04, 0x10, 0x04, 0xe0, 0x03, 0x00, 0x00,
|
||||
0xf0, 0x1f, 0x20, 0x02, 0x10, 0x04, 0x10, 0x04, 0x10, 0x04, 0xe0, 0x03, 0x00, 0x00, 0xe0, 0x03,
|
||||
0x10, 0x04, 0x10, 0x04, 0x10, 0x04, 0x20, 0x02, 0xf0, 0x1f, 0x00, 0x00, 0xf0, 0x07, 0x20, 0x00,
|
||||
0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x60, 0x00, 0x00, 0x00, 0x20, 0x02, 0x50, 0x04, 0x90, 0x04,
|
||||
0x90, 0x04, 0x10, 0x05, 0x20, 0x02, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0xfe, 0x03, 0x10, 0x04,
|
||||
0x10, 0x04, 0x00, 0x02, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x02,
|
||||
0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x80, 0x01, 0x00, 0x06, 0x80, 0x01, 0x70, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x04, 0xc0, 0x03, 0x00, 0x04, 0xf0, 0x03, 0x00, 0x00,
|
||||
0x30, 0x06, 0x40, 0x01, 0x80, 0x00, 0x80, 0x00, 0x40, 0x01, 0x30, 0x06, 0x00, 0x00, 0xf0, 0x09,
|
||||
0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x11, 0xf0, 0x0f, 0x00, 0x00, 0x10, 0x04, 0x10, 0x06,
|
||||
0x90, 0x05, 0x50, 0x04, 0x30, 0x04, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
|
||||
0xbe, 0x0f, 0x01, 0x10, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x01, 0x10, 0xbe, 0x0f, 0x40, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x06, 0x00,
|
||||
0x00, 0x00,
|
||||
};
|
||||
|
||||
static const struct mf_bwfont_char_range_s mf_bwfont_fixed_7x14_char_ranges[] = {
|
||||
{
|
||||
32, /* first char */
|
||||
95, /* char count */
|
||||
0, /* offset x */
|
||||
0, /* offset y */
|
||||
2, /* height in bytes */
|
||||
13, /* height in pixels */
|
||||
7, /* width */
|
||||
0, /* glyph widths */
|
||||
0, /* glyph offsets */
|
||||
mf_bwfont_fixed_7x14_glyph_data_0, /* glyph data */
|
||||
},
|
||||
};
|
||||
|
||||
const struct mf_bwfont_s mf_bwfont_fixed_7x14 = {
|
||||
{
|
||||
"-Misc-Fixed-Medium-R-Normal--14-130-75-75-C-70-ISO8859-15",
|
||||
"fixed_7x14",
|
||||
7, /* width */
|
||||
13, /* height */
|
||||
7, /* min x advance */
|
||||
7, /* max x advance */
|
||||
0, /* baseline x */
|
||||
11, /* baseline y */
|
||||
14, /* line height */
|
||||
3, /* flags */
|
||||
63, /* fallback character */
|
||||
&mf_bwfont_character_width,
|
||||
&mf_bwfont_render_character,
|
||||
},
|
||||
4, /* version */
|
||||
1, /* char range count */
|
||||
mf_bwfont_fixed_7x14_char_ranges,
|
||||
};
|
||||
|
||||
#ifdef MF_INCLUDED_FONTS
|
||||
/* List entry for searching fonts by name. */
|
||||
static const struct mf_font_list_s mf_bwfont_fixed_7x14_listentry = {
|
||||
MF_INCLUDED_FONTS,
|
||||
(struct mf_font_s*)&mf_bwfont_fixed_7x14
|
||||
};
|
||||
#undef MF_INCLUDED_FONTS
|
||||
#define MF_INCLUDED_FONTS (&mf_bwfont_fixed_7x14_listentry)
|
||||
#endif
|
||||
|
||||
|
||||
/* End of automatically generated font definition for fixed_7x14. */
|
||||
|
62
src/gdisp/fonts/fonts.h
Normal file
62
src/gdisp/fonts/fonts.h
Normal file
@ -0,0 +1,62 @@
|
||||
|
||||
#include <gfx.h>
|
||||
|
||||
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS10) && GDISP_INCLUDE_FONT_DEJAVUSANS10
|
||||
#include "DejaVuSans10.c"
|
||||
#endif
|
||||
|
||||
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS12_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS12_AA
|
||||
#include "DejaVuSans12_aa.c"
|
||||
#endif
|
||||
|
||||
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS12) && GDISP_INCLUDE_FONT_DEJAVUSANS12
|
||||
#include "DejaVuSans12.c"
|
||||
#endif
|
||||
|
||||
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS16_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS16_AA
|
||||
#include "DejaVuSans16_aa.c"
|
||||
#endif
|
||||
|
||||
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS16) && GDISP_INCLUDE_FONT_DEJAVUSANS16
|
||||
#include "DejaVuSans16.c"
|
||||
#endif
|
||||
|
||||
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS24_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS24_AA
|
||||
#include "DejaVuSans24_aa.c"
|
||||
#endif
|
||||
|
||||
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS24) && GDISP_INCLUDE_FONT_DEJAVUSANS24
|
||||
#include "DejaVuSans24.c"
|
||||
#endif
|
||||
|
||||
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS32_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS32_AA
|
||||
#include "DejaVuSans32_aa.c"
|
||||
#endif
|
||||
|
||||
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS32) && GDISP_INCLUDE_FONT_DEJAVUSANS32
|
||||
#include "DejaVuSans32.c"
|
||||
#endif
|
||||
|
||||
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA) && GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA
|
||||
#include "DejaVuSansBold12_aa.c"
|
||||
#endif
|
||||
|
||||
#if defined(GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12) && GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12
|
||||
#include "DejaVuSansBold12.c"
|
||||
#endif
|
||||
|
||||
#if defined(GDISP_INCLUDE_FONT_FIXED_10X20) && GDISP_INCLUDE_FONT_FIXED_10X20
|
||||
#include "fixed_10x20.c"
|
||||
#endif
|
||||
|
||||
#if defined(GDISP_INCLUDE_FONT_FIXED_5X8) && GDISP_INCLUDE_FONT_FIXED_5X8
|
||||
#include "fixed_5x8.c"
|
||||
#endif
|
||||
|
||||
#if defined(GDISP_INCLUDE_FONT_FIXED_7X14) && GDISP_INCLUDE_FONT_FIXED_7X14
|
||||
#include "fixed_7x14.c"
|
||||
#endif
|
||||
|
||||
#if defined(GDISP_INCLUDE_FONT_LARGENUMBERS) && GDISP_INCLUDE_FONT_LARGENUMBERS
|
||||
#include "LargeNumbers.c"
|
||||
#endif
|
@ -17,7 +17,7 @@
|
||||
#if GFX_USE_GDISP
|
||||
|
||||
#ifdef GDISP_NEED_TEXT
|
||||
#include "gdisp/fonts.h"
|
||||
#include "mcufont.h"
|
||||
#endif
|
||||
|
||||
/* Include the low level driver information */
|
||||
@ -400,13 +400,13 @@ void gdispFillRoundedBox(coord_t x, coord_t y, coord_t cx, coord_t cy, coord_t r
|
||||
#endif
|
||||
|
||||
#if (GDISP_NEED_TEXT && GDISP_NEED_MULTITHREAD)
|
||||
void gdispDrawChar(coord_t x, coord_t y, char c, font_t font, color_t color) {
|
||||
void gdispDrawChar(coord_t x, coord_t y, uint16_t c, font_t font, color_t color) {
|
||||
gfxMutexEnter(&gdispMutex);
|
||||
gdisp_lld_draw_char(x, y, c, font, color);
|
||||
gfxMutexExit(&gdispMutex);
|
||||
}
|
||||
#elif GDISP_NEED_TEXT && GDISP_NEED_ASYNC
|
||||
void gdispDrawChar(coord_t x, coord_t y, char c, font_t font, color_t color) {
|
||||
void gdispDrawChar(coord_t x, coord_t y, uint16_t c, font_t font, color_t color) {
|
||||
gdisp_lld_msg_t *p = gdispAllocMsg(GDISP_LLD_MSG_DRAWCHAR);
|
||||
p->drawchar.x = x;
|
||||
p->drawchar.y = y;
|
||||
@ -418,13 +418,13 @@ void gdispFillRoundedBox(coord_t x, coord_t y, coord_t cx, coord_t cy, coord_t r
|
||||
#endif
|
||||
|
||||
#if (GDISP_NEED_TEXT && GDISP_NEED_MULTITHREAD)
|
||||
void gdispFillChar(coord_t x, coord_t y, char c, font_t font, color_t color, color_t bgcolor) {
|
||||
void gdispFillChar(coord_t x, coord_t y, uint16_t c, font_t font, color_t color, color_t bgcolor) {
|
||||
gfxMutexEnter(&gdispMutex);
|
||||
gdisp_lld_fill_char(x, y, c, font, color, bgcolor);
|
||||
gfxMutexExit(&gdispMutex);
|
||||
}
|
||||
#elif GDISP_NEED_TEXT && GDISP_NEED_ASYNC
|
||||
void gdispFillChar(coord_t x, coord_t y, char c, font_t font, color_t color, color_t bgcolor) {
|
||||
void gdispFillChar(coord_t x, coord_t y, uint16_t c, font_t font, color_t color, color_t bgcolor) {
|
||||
gdisp_lld_msg_t *p = gdispAllocMsg(GDISP_LLD_MSG_FILLCHAR);
|
||||
p->fillchar.x = x;
|
||||
p->fillchar.y = y;
|
||||
@ -619,321 +619,206 @@ void gdispDrawBox(coord_t x, coord_t y, coord_t cx, coord_t cy, color_t color) {
|
||||
}
|
||||
#endif
|
||||
|
||||
#if GDISP_NEED_TEXT
|
||||
#if GDISP_NEED_TEXT
|
||||
typedef struct
|
||||
{
|
||||
font_t font;
|
||||
color_t color;
|
||||
} gdispDrawString_state_t;
|
||||
|
||||
/* Callback to render characters. */
|
||||
static uint8_t gdispDrawString_callback(int16_t x, int16_t y,
|
||||
mf_char character, void *state)
|
||||
{
|
||||
gdispDrawString_state_t *s = state;
|
||||
uint8_t w;
|
||||
|
||||
gdispDrawChar(x, y, character, s->font, s->color);
|
||||
w = mf_character_width(s->font, character);
|
||||
return w;
|
||||
}
|
||||
|
||||
void gdispDrawString(coord_t x, coord_t y, const char *str, font_t font, color_t color) {
|
||||
/* No mutex required as we only call high level functions which have their own mutex */
|
||||
coord_t w, p;
|
||||
char c;
|
||||
int first;
|
||||
gdispDrawString_state_t state;
|
||||
|
||||
if (!str) return;
|
||||
state.font = font;
|
||||
state.color = color;
|
||||
|
||||
first = 1;
|
||||
p = font->charPadding * font->xscale;
|
||||
while(*str) {
|
||||
/* Get the next printable character */
|
||||
c = *str++;
|
||||
w = _getCharWidth(font, c) * font->xscale;
|
||||
if (!w) continue;
|
||||
|
||||
/* Handle inter-character padding */
|
||||
if (p) {
|
||||
if (!first)
|
||||
x += p;
|
||||
else
|
||||
first = 0;
|
||||
}
|
||||
|
||||
/* Print the character */
|
||||
gdispDrawChar(x, y, c, font, color);
|
||||
x += w;
|
||||
}
|
||||
mf_render_aligned(font, x, y, MF_ALIGN_LEFT, str, 0,
|
||||
gdispDrawString_callback, &state);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if GDISP_NEED_TEXT
|
||||
typedef struct
|
||||
{
|
||||
coord_t y0;
|
||||
coord_t prev_x;
|
||||
font_t font;
|
||||
color_t color;
|
||||
color_t bgcolor;
|
||||
bool_t rightalign;
|
||||
} gdispFillString_state_t;
|
||||
|
||||
/* Callback to render characters. */
|
||||
static uint8_t gdispFillString_callback(int16_t x, int16_t y,
|
||||
mf_char character, void *state)
|
||||
{
|
||||
gdispFillString_state_t *s = state;
|
||||
uint8_t w;
|
||||
int16_t right_edge;
|
||||
w = mf_character_width(s->font, character);
|
||||
right_edge = x + w + s->font->baseline_x;
|
||||
|
||||
if (!s->rightalign)
|
||||
{
|
||||
if (s->prev_x < x)
|
||||
{
|
||||
/* Fill any space between characters */
|
||||
gdispFillArea(s->prev_x, s->y0, x - s->prev_x, s->font->height,
|
||||
s->bgcolor);
|
||||
}
|
||||
else if (s->prev_x > x)
|
||||
{
|
||||
/* Uh, looks like there is some kerning going on. If we would
|
||||
* just call gdispFillChar() here, it would overwrite part of
|
||||
* the previous character. Instead, fill background separately.
|
||||
*/
|
||||
gdispFillArea(s->prev_x, s->y0, right_edge - s->prev_x,
|
||||
s->font->height, s->bgcolor);
|
||||
gdispDrawChar(x, y, character, s->font, s->color);
|
||||
s->prev_x = right_edge;
|
||||
return w;
|
||||
}
|
||||
|
||||
s->prev_x = right_edge;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* When rendering right-aligned text, the characters are drawn
|
||||
* from right to left. */
|
||||
if (s->prev_x > right_edge)
|
||||
{
|
||||
/* Fill any space between characters */
|
||||
gdispFillArea(right_edge, s->y0, s->prev_x - right_edge,
|
||||
s->font->height, s->bgcolor);
|
||||
}
|
||||
else if (s->prev_x < right_edge)
|
||||
{
|
||||
gdispFillArea(x, s->y0, s->prev_x - x,
|
||||
s->font->height, s->bgcolor);
|
||||
gdispDrawChar(x, y, character, s->font, s->color);
|
||||
s->prev_x = x;
|
||||
return w;
|
||||
}
|
||||
|
||||
s->prev_x = x;
|
||||
}
|
||||
|
||||
gdispFillChar(x, y, character, s->font, s->color, s->bgcolor);
|
||||
|
||||
return w;
|
||||
}
|
||||
|
||||
void gdispFillString(coord_t x, coord_t y, const char *str, font_t font, color_t color, color_t bgcolor) {
|
||||
/* No mutex required as we only call high level functions which have their own mutex */
|
||||
coord_t w, h, p;
|
||||
char c;
|
||||
int first;
|
||||
gdispFillString_state_t state;
|
||||
|
||||
if (!str) return;
|
||||
state.y0 = y;
|
||||
state.prev_x = x;
|
||||
state.font = font;
|
||||
state.color = color;
|
||||
state.bgcolor = bgcolor;
|
||||
state.rightalign = false;
|
||||
|
||||
first = 1;
|
||||
h = font->height * font->yscale;
|
||||
p = font->charPadding * font->xscale;
|
||||
while(*str) {
|
||||
/* Get the next printable character */
|
||||
c = *str++;
|
||||
w = _getCharWidth(font, c) * font->xscale;
|
||||
if (!w) continue;
|
||||
|
||||
/* Handle inter-character padding */
|
||||
if (p) {
|
||||
if (!first) {
|
||||
gdispFillArea(x, y, p, h, bgcolor);
|
||||
x += p;
|
||||
} else
|
||||
first = 0;
|
||||
}
|
||||
|
||||
/* Print the character */
|
||||
gdispFillChar(x, y, c, font, color, bgcolor);
|
||||
x += w;
|
||||
}
|
||||
x += font->baseline_x;
|
||||
mf_render_aligned(font, x, y, MF_ALIGN_LEFT, str, 0,
|
||||
gdispFillString_callback, &state);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if GDISP_NEED_TEXT
|
||||
void gdispDrawStringBox(coord_t x, coord_t y, coord_t cx, coord_t cy, const char* str, font_t font, color_t color, justify_t justify) {
|
||||
/* No mutex required as we only call high level functions which have their own mutex */
|
||||
coord_t w, h, p, ypos, xpos;
|
||||
char c;
|
||||
int first;
|
||||
const char *rstr;
|
||||
gdispDrawString_state_t state;
|
||||
|
||||
if (!str) str = "";
|
||||
|
||||
h = font->height * font->yscale;
|
||||
p = font->charPadding * font->xscale;
|
||||
|
||||
/* Oops - font too large for the area */
|
||||
if (h > cy) return;
|
||||
|
||||
/* See if we need to fill above the font */
|
||||
ypos = (cy - h + 1)/2;
|
||||
if (ypos > 0) {
|
||||
y += ypos;
|
||||
cy -= ypos;
|
||||
}
|
||||
state.font = font;
|
||||
state.color = color;
|
||||
|
||||
/* See if we need to fill below the font */
|
||||
ypos = cy - h;
|
||||
if (ypos > 0)
|
||||
cy -= ypos;
|
||||
|
||||
/* get the start of the printable string and the xpos */
|
||||
switch(justify) {
|
||||
case justifyCenter:
|
||||
/* Get the length of the entire string */
|
||||
w = gdispGetStringWidth(str, font);
|
||||
if (w <= cx)
|
||||
xpos = x + (cx - w)/2;
|
||||
else {
|
||||
/* Calculate how much of the string we need to get rid of */
|
||||
ypos = (w - cx)/2;
|
||||
xpos = 0;
|
||||
first = 1;
|
||||
while(*str) {
|
||||
/* Get the next printable character */
|
||||
c = *str++;
|
||||
w = _getCharWidth(font, c) * font->xscale;
|
||||
if (!w) continue;
|
||||
|
||||
/* Handle inter-character padding */
|
||||
if (p) {
|
||||
if (!first) {
|
||||
xpos += p;
|
||||
if (xpos > ypos) break;
|
||||
} else
|
||||
first = 0;
|
||||
}
|
||||
/* Select the anchor position */
|
||||
if (justify == justifyLeft)
|
||||
x += font->baseline_x;
|
||||
else if (justify == justifyCenter)
|
||||
x += (cx + 1) / 2;
|
||||
else if (justify == justifyRight)
|
||||
x += cx;
|
||||
|
||||
/* Print the character */
|
||||
xpos += w;
|
||||
if (xpos > ypos) break;
|
||||
}
|
||||
xpos = ypos - xpos + x;
|
||||
}
|
||||
break;
|
||||
case justifyRight:
|
||||
/* Find the end of the string */
|
||||
for(rstr = str; *str; str++);
|
||||
xpos = x+cx - 2;
|
||||
first = 1;
|
||||
for(str--; str >= rstr; str--) {
|
||||
/* Get the next printable character */
|
||||
c = *str;
|
||||
w = _getCharWidth(font, c) * font->xscale;
|
||||
if (!w) continue;
|
||||
|
||||
/* Handle inter-character padding */
|
||||
if (p) {
|
||||
if (!first) {
|
||||
if (xpos - p < x) break;
|
||||
xpos -= p;
|
||||
} else
|
||||
first = 0;
|
||||
}
|
||||
|
||||
/* Print the character */
|
||||
if (xpos - w < x) break;
|
||||
xpos -= w;
|
||||
}
|
||||
str++;
|
||||
break;
|
||||
case justifyLeft:
|
||||
/* Fall through */
|
||||
default:
|
||||
xpos = x+1;
|
||||
break;
|
||||
}
|
||||
|
||||
/* Print characters until we run out of room */
|
||||
first = 1;
|
||||
while(*str) {
|
||||
/* Get the next printable character */
|
||||
c = *str++;
|
||||
w = _getCharWidth(font, c) * font->xscale;
|
||||
if (!w) continue;
|
||||
|
||||
/* Handle inter-character padding */
|
||||
if (p) {
|
||||
if (!first) {
|
||||
if (xpos + p > x+cx) break;
|
||||
xpos += p;
|
||||
} else
|
||||
first = 0;
|
||||
}
|
||||
|
||||
/* Print the character */
|
||||
if (xpos + w > x+cx) break;
|
||||
gdispDrawChar(xpos, y, c, font, color);
|
||||
xpos += w;
|
||||
}
|
||||
mf_render_aligned(font, x, y, justify, str, 0,
|
||||
gdispDrawString_callback, &state);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if GDISP_NEED_TEXT
|
||||
void gdispFillStringBox(coord_t x, coord_t y, coord_t cx, coord_t cy, const char* str, font_t font, color_t color, color_t bgcolor, justify_t justify) {
|
||||
/* No mutex required as we only call high level functions which have their own mutex */
|
||||
coord_t w, h, p, ypos, xpos;
|
||||
char c;
|
||||
int first;
|
||||
const char *rstr;
|
||||
gdispFillString_state_t state;
|
||||
int16_t min_x, max_x;
|
||||
|
||||
if (!str) str = "";
|
||||
|
||||
h = font->height * font->yscale;
|
||||
p = font->charPadding * font->xscale;
|
||||
|
||||
/* Oops - font too large for the area */
|
||||
if (h > cy) return;
|
||||
|
||||
/* See if we need to fill above the font */
|
||||
ypos = (cy - h + 1)/2;
|
||||
if (ypos > 0) {
|
||||
gdispFillArea(x, y, cx, ypos, bgcolor);
|
||||
y += ypos;
|
||||
cy -= ypos;
|
||||
min_x = x;
|
||||
max_x = x + cx;
|
||||
|
||||
state.y0 = y + (cy - font->height + 1) / 2;
|
||||
state.prev_x = x;
|
||||
state.font = font;
|
||||
state.color = color;
|
||||
state.bgcolor = bgcolor;
|
||||
state.rightalign = false;
|
||||
|
||||
/* Fill above the text */
|
||||
if (state.y0 > y)
|
||||
{
|
||||
gdispFillArea(x, y, cx, state.y0 - y, bgcolor);
|
||||
}
|
||||
|
||||
/* See if we need to fill below the font */
|
||||
ypos = cy - h;
|
||||
if (ypos > 0) {
|
||||
gdispFillArea(x, y+cy-ypos, cx, ypos, bgcolor);
|
||||
cy -= ypos;
|
||||
/* Fill below the text */
|
||||
if (state.y0 + font->height < y + cy)
|
||||
{
|
||||
gdispFillArea(x, state.y0 + font->height, cx,
|
||||
(y + cy) - (state.y0 + font->height), bgcolor);
|
||||
}
|
||||
|
||||
/* get the start of the printable string and the xpos */
|
||||
switch(justify) {
|
||||
case justifyCenter:
|
||||
/* Get the length of the entire string */
|
||||
w = gdispGetStringWidth(str, font);
|
||||
if (w <= cx)
|
||||
xpos = x + (cx - w)/2;
|
||||
else {
|
||||
/* Calculate how much of the string we need to get rid of */
|
||||
ypos = (w - cx)/2;
|
||||
xpos = 0;
|
||||
first = 1;
|
||||
while(*str) {
|
||||
/* Get the next printable character */
|
||||
c = *str++;
|
||||
w = _getCharWidth(font, c) * font->xscale;
|
||||
if (!w) continue;
|
||||
|
||||
/* Handle inter-character padding */
|
||||
if (p) {
|
||||
if (!first) {
|
||||
xpos += p;
|
||||
if (xpos > ypos) break;
|
||||
} else
|
||||
first = 0;
|
||||
}
|
||||
|
||||
/* Print the character */
|
||||
xpos += w;
|
||||
if (xpos > ypos) break;
|
||||
}
|
||||
xpos = ypos - xpos + x;
|
||||
}
|
||||
break;
|
||||
case justifyRight:
|
||||
/* Find the end of the string */
|
||||
for(rstr = str; *str; str++);
|
||||
xpos = x+cx - 2;
|
||||
first = 1;
|
||||
for(str--; str >= rstr; str--) {
|
||||
/* Get the next printable character */
|
||||
c = *str;
|
||||
w = _getCharWidth(font, c) * font->xscale;
|
||||
if (!w) continue;
|
||||
|
||||
/* Handle inter-character padding */
|
||||
if (p) {
|
||||
if (!first) {
|
||||
if (xpos - p < x) break;
|
||||
xpos -= p;
|
||||
} else
|
||||
first = 0;
|
||||
}
|
||||
|
||||
/* Print the character */
|
||||
if (xpos - w < x) break;
|
||||
xpos -= w;
|
||||
}
|
||||
str++;
|
||||
break;
|
||||
case justifyLeft:
|
||||
/* Fall through */
|
||||
default:
|
||||
xpos = x+1;
|
||||
break;
|
||||
/* Select the anchor position */
|
||||
if (justify == justifyLeft)
|
||||
{
|
||||
x += font->baseline_x;
|
||||
}
|
||||
else if (justify == justifyCenter)
|
||||
{
|
||||
x += (cx + 1) / 2;
|
||||
}
|
||||
else if (justify == justifyRight)
|
||||
{
|
||||
state.rightalign = true;
|
||||
state.prev_x = x + cx;
|
||||
x += cx;
|
||||
}
|
||||
|
||||
/* Fill any space to the left */
|
||||
if (x < xpos)
|
||||
gdispFillArea(x, y, xpos-x, cy, bgcolor);
|
||||
/* Render */
|
||||
mf_render_aligned(font, x, state.y0, justify, str, 0,
|
||||
gdispFillString_callback, &state);
|
||||
|
||||
/* Print characters until we run out of room */
|
||||
first = 1;
|
||||
while(*str) {
|
||||
/* Get the next printable character */
|
||||
c = *str++;
|
||||
w = _getCharWidth(font, c) * font->xscale;
|
||||
if (!w) continue;
|
||||
|
||||
/* Handle inter-character padding */
|
||||
if (p) {
|
||||
if (!first) {
|
||||
if (xpos + p > x+cx) break;
|
||||
gdispFillArea(xpos, y, p, cy, bgcolor);
|
||||
xpos += p;
|
||||
} else
|
||||
first = 0;
|
||||
}
|
||||
|
||||
/* Print the character */
|
||||
if (xpos + w > x+cx) break;
|
||||
gdispFillChar(xpos, y, c, font, color, bgcolor);
|
||||
xpos += w;
|
||||
/* Fill any space left */
|
||||
if (!state.rightalign && state.prev_x < max_x)
|
||||
{
|
||||
gdispFillArea(state.prev_x, state.y0, max_x - state.prev_x,
|
||||
state.font->height, bgcolor);
|
||||
}
|
||||
else if (state.rightalign && state.prev_x > min_x)
|
||||
{
|
||||
gdispFillArea(min_x, state.y0, state.prev_x - min_x,
|
||||
state.font->height, bgcolor);
|
||||
}
|
||||
|
||||
/* Fill any space to the right */
|
||||
if (xpos < x+cx)
|
||||
gdispFillArea(xpos, y, x+cx-xpos, cy, bgcolor);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -941,12 +826,12 @@ void gdispDrawBox(coord_t x, coord_t y, coord_t cx, coord_t cy, color_t color) {
|
||||
coord_t gdispGetFontMetric(font_t font, fontmetric_t metric) {
|
||||
/* No mutex required as we only read static data */
|
||||
switch(metric) {
|
||||
case fontHeight: return font->height * font->yscale;
|
||||
case fontDescendersHeight: return font->descenderHeight * font->yscale;
|
||||
case fontLineSpacing: return font->lineSpacing * font->yscale;
|
||||
case fontCharPadding: return font->charPadding * font->xscale;
|
||||
case fontMinWidth: return font->minWidth * font->xscale;
|
||||
case fontMaxWidth: return font->maxWidth * font->xscale;
|
||||
case fontHeight: return font->height;
|
||||
case fontDescendersHeight: return font->height - font->baseline_y;
|
||||
case fontLineSpacing: return font->line_height;
|
||||
case fontCharPadding: return 0;
|
||||
case fontMinWidth: return font->min_x_advance;
|
||||
case fontMaxWidth: return font->max_x_advance;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -955,41 +840,38 @@ void gdispDrawBox(coord_t x, coord_t y, coord_t cx, coord_t cy, color_t color) {
|
||||
#if GDISP_NEED_TEXT
|
||||
coord_t gdispGetCharWidth(char c, font_t font) {
|
||||
/* No mutex required as we only read static data */
|
||||
return _getCharWidth(font, c) * font->xscale;
|
||||
return mf_character_width(font, c);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if GDISP_NEED_TEXT
|
||||
coord_t gdispGetStringWidth(const char* str, font_t font) {
|
||||
/* No mutex required as we only read static data */
|
||||
coord_t w, p, x;
|
||||
char c;
|
||||
int first;
|
||||
|
||||
first = 1;
|
||||
x = 0;
|
||||
p = font->charPadding * font->xscale;
|
||||
while(*str) {
|
||||
/* Get the next printable character */
|
||||
c = *str++;
|
||||
w = _getCharWidth(font, c) * font->xscale;
|
||||
if (!w) continue;
|
||||
|
||||
/* Handle inter-character padding */
|
||||
if (p) {
|
||||
if (!first)
|
||||
x += p;
|
||||
else
|
||||
first = 0;
|
||||
}
|
||||
|
||||
/* Add the character width */
|
||||
x += w;
|
||||
}
|
||||
return x;
|
||||
return mf_get_string_width(font, str, 0, 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
color_t gdispBlendColor(color_t fg, color_t bg, uint8_t alpha)
|
||||
{
|
||||
uint16_t fg_ratio = alpha + 1;
|
||||
uint16_t bg_ratio = 256 - alpha;
|
||||
uint16_t r, g, b;
|
||||
|
||||
r = RED_OF(fg) * fg_ratio;
|
||||
g = GREEN_OF(fg) * fg_ratio;
|
||||
b = BLUE_OF(fg) * fg_ratio;
|
||||
|
||||
r += RED_OF(bg) * bg_ratio;
|
||||
g += GREEN_OF(bg) * bg_ratio;
|
||||
b += BLUE_OF(bg) * bg_ratio;
|
||||
|
||||
r /= 256;
|
||||
g /= 256;
|
||||
b /= 256;
|
||||
|
||||
return RGB2COLOR(r, g, b);
|
||||
}
|
||||
|
||||
#if (!defined(gdispPackPixels) && !defined(GDISP_PIXELFORMAT_CUSTOM))
|
||||
void gdispPackPixels(pixel_t *buf, coord_t cx, coord_t x, coord_t y, color_t color) {
|
||||
/* No mutex required as we only read static data */
|
||||
|
@ -7,3 +7,9 @@ GFXSRC += $(GFXLIB)/src/gdisp/gdisp.c \
|
||||
$(GFXLIB)/src/gdisp/image_jpg.c \
|
||||
$(GFXLIB)/src/gdisp/image_png.c
|
||||
|
||||
MFDIR = $(GFXLIB)/src/gdisp/mcufont
|
||||
include $(GFXLIB)/src/gdisp/mcufont/mcufont.mk
|
||||
GFXINC += $(MFDIR)
|
||||
GFXSRC += $(MFSRC)
|
||||
|
||||
GFXINC += $(GFXLIB)/src/gdisp/fonts
|
||||
|
14
src/gdisp/mcufont/mcufont.h
Normal file
14
src/gdisp/mcufont/mcufont.h
Normal file
@ -0,0 +1,14 @@
|
||||
/* Tiny library for rendering compressed bitmap fonts on microcontrollers. */
|
||||
|
||||
#ifndef _MCUFONT_H_
|
||||
#define _MCUFONT_H_
|
||||
|
||||
#include "mf_config.h"
|
||||
#include "mf_encoding.h"
|
||||
#include "mf_justify.h"
|
||||
#include "mf_kerning.h"
|
||||
#include "mf_rlefont.h"
|
||||
#include "mf_scaledfont.h"
|
||||
#include "mf_wordwrap.h"
|
||||
|
||||
#endif
|
19
src/gdisp/mcufont/mcufont.mk
Normal file
19
src/gdisp/mcufont/mcufont.mk
Normal file
@ -0,0 +1,19 @@
|
||||
# Makefile fragment listing the source files for the mcufont decoder.
|
||||
|
||||
# Directory where the decoder source code recides
|
||||
# Usually you'll want to set this in your own Makefile.
|
||||
MFDIR ?= mcufont/decoder
|
||||
|
||||
# Name of the include directory
|
||||
MFINC = $(MFDIR)
|
||||
|
||||
# Source code files to include
|
||||
MFSRC = \
|
||||
$(MFDIR)/mf_encoding.c \
|
||||
$(MFDIR)/mf_font.c \
|
||||
$(MFDIR)/mf_justify.c \
|
||||
$(MFDIR)/mf_kerning.c \
|
||||
$(MFDIR)/mf_rlefont.c \
|
||||
$(MFDIR)/mf_bwfont.c \
|
||||
$(MFDIR)/mf_scaledfont.c \
|
||||
$(MFDIR)/mf_wordwrap.c
|
134
src/gdisp/mcufont/mf_bwfont.c
Normal file
134
src/gdisp/mcufont/mf_bwfont.c
Normal file
@ -0,0 +1,134 @@
|
||||
#include "mf_bwfont.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
/* Find the character range and index that contains a given glyph.. */
|
||||
static const struct mf_bwfont_char_range_s *find_char_range(
|
||||
const struct mf_bwfont_s *font, uint16_t character, uint16_t *index_ret)
|
||||
{
|
||||
unsigned i, index;
|
||||
const struct mf_bwfont_char_range_s *range;
|
||||
for (i = 0; i < font->char_range_count; i++)
|
||||
{
|
||||
range = &font->char_ranges[i];
|
||||
index = character - range->first_char;
|
||||
if (character >= range->first_char && index < range->char_count)
|
||||
{
|
||||
*index_ret = index;
|
||||
return range;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static uint8_t get_width(const struct mf_bwfont_char_range_s *r, uint16_t index)
|
||||
{
|
||||
if (r->width)
|
||||
{
|
||||
return r->width + r->offset_x;
|
||||
}
|
||||
else
|
||||
{
|
||||
return r->glyph_widths[index];
|
||||
}
|
||||
}
|
||||
|
||||
static uint8_t render_char(const struct mf_bwfont_char_range_s *r,
|
||||
int16_t x0, int16_t y0, uint16_t index,
|
||||
mf_pixel_callback_t callback,
|
||||
void *state)
|
||||
{
|
||||
const uint8_t *data, *p;
|
||||
uint8_t stride, runlen;
|
||||
uint8_t x, y, height, num_cols;
|
||||
uint8_t bit, byte, mask;
|
||||
bool oldstate, newstate;
|
||||
|
||||
if (r->width)
|
||||
{
|
||||
data = r->glyph_data + r->width * index * r->height_bytes;
|
||||
num_cols = r->width;
|
||||
}
|
||||
else
|
||||
{
|
||||
data = r->glyph_data + r->glyph_offsets[index] * r->height_bytes;
|
||||
num_cols = r->glyph_offsets[index + 1] - r->glyph_offsets[index];
|
||||
}
|
||||
|
||||
stride = r->height_bytes;
|
||||
height = r->height_pixels;
|
||||
y0 += r->offset_y;
|
||||
x0 += r->offset_x;
|
||||
bit = 0;
|
||||
byte = 0;
|
||||
|
||||
for (y = 0; y < height; y++)
|
||||
{
|
||||
mask = (1 << bit);
|
||||
|
||||
oldstate = false;
|
||||
runlen = 0;
|
||||
p = data + byte;
|
||||
for (x = 0; x < num_cols; x++, p += stride)
|
||||
{
|
||||
newstate = *p & mask;
|
||||
if (newstate != oldstate)
|
||||
{
|
||||
if (oldstate && runlen)
|
||||
{
|
||||
callback(x0 + x - runlen, y0 + y, runlen, 255, state);
|
||||
}
|
||||
|
||||
oldstate = newstate;
|
||||
runlen = 0;
|
||||
}
|
||||
|
||||
runlen++;
|
||||
}
|
||||
|
||||
if (oldstate && runlen)
|
||||
{
|
||||
callback(x0 + x - runlen, y0 + y, runlen, 255, state);
|
||||
}
|
||||
|
||||
bit++;
|
||||
if (bit > 7)
|
||||
{
|
||||
bit = 0;
|
||||
byte++;
|
||||
}
|
||||
}
|
||||
|
||||
return get_width(r, index);
|
||||
}
|
||||
|
||||
uint8_t mf_bwfont_render_character(const struct mf_font_s *font,
|
||||
int16_t x0, int16_t y0,
|
||||
uint16_t character,
|
||||
mf_pixel_callback_t callback,
|
||||
void *state)
|
||||
{
|
||||
const struct mf_bwfont_s *bwfont = (const struct mf_bwfont_s*)font;
|
||||
const struct mf_bwfont_char_range_s *range;
|
||||
uint16_t index;
|
||||
|
||||
range = find_char_range(bwfont, character, &index);
|
||||
if (!range)
|
||||
return 0;
|
||||
|
||||
return render_char(range, x0, y0, index, callback, state);
|
||||
}
|
||||
|
||||
uint8_t mf_bwfont_character_width(const struct mf_font_s *font,
|
||||
uint16_t character)
|
||||
{
|
||||
const struct mf_bwfont_s *bwfont = (const struct mf_bwfont_s*)font;
|
||||
const struct mf_bwfont_char_range_s *range;
|
||||
uint16_t index;
|
||||
|
||||
range = find_char_range(bwfont, character, &index);
|
||||
if (!range)
|
||||
return 0;
|
||||
|
||||
return get_width(range, index);
|
||||
}
|
77
src/gdisp/mcufont/mf_bwfont.h
Normal file
77
src/gdisp/mcufont/mf_bwfont.h
Normal file
@ -0,0 +1,77 @@
|
||||
/* Uncompressed font format for storing black & white fonts. Very efficient
|
||||
* to decode and works well for small font sizes.
|
||||
*/
|
||||
|
||||
#ifndef _MF_BWFONT_H_
|
||||
#define _MF_BWFONT_H_
|
||||
|
||||
#include "mf_font.h"
|
||||
|
||||
/* Versions of the BW font format that are supported. */
|
||||
#define MF_BWFONT_VERSION_4_SUPPORTED 1
|
||||
|
||||
/* Structure for a range of characters. */
|
||||
struct mf_bwfont_char_range_s
|
||||
{
|
||||
/* The number of the first character in this range. */
|
||||
uint16_t first_char;
|
||||
|
||||
/* The total count of characters in this range. */
|
||||
uint16_t char_count;
|
||||
|
||||
/* The left and top skips of the characters in this range.
|
||||
* This is the number of empty rows at left and at top. */
|
||||
uint8_t offset_x;
|
||||
uint8_t offset_y;
|
||||
|
||||
/* Column height for glyphs in this range, in bytes and pixels. */
|
||||
uint8_t height_bytes;
|
||||
uint8_t height_pixels;
|
||||
|
||||
/* Positive value if the width of all glyphs in this range is the
|
||||
* same, or zero if it is not. */
|
||||
uint8_t width;
|
||||
|
||||
/* Lookup table for the character widths. NULL if width is specified. */
|
||||
const uint8_t *glyph_widths;
|
||||
|
||||
/* Lookup table for the character offsets. Multiply by height_bytes
|
||||
* to get the byte offset. Also allows lookup of the number of columns.
|
||||
* NULL if width is specified. */
|
||||
const uint16_t *glyph_offsets;
|
||||
|
||||
/* Table for the glyph data.
|
||||
* The data for each glyph is column-by-column, with N bytes per each
|
||||
* column. The LSB of the first byte is the top left pixel.
|
||||
*/
|
||||
const uint8_t *glyph_data;
|
||||
};
|
||||
|
||||
/* Structure for the font */
|
||||
struct mf_bwfont_s
|
||||
{
|
||||
struct mf_font_s font;
|
||||
|
||||
/* Version of the font format. */
|
||||
const uint8_t version;
|
||||
|
||||
/* Number of character ranges. */
|
||||
const uint8_t char_range_count;
|
||||
|
||||
/* Array of the character ranges */
|
||||
const struct mf_bwfont_char_range_s *char_ranges;
|
||||
};
|
||||
|
||||
#ifdef MF_BWFONT_INTERNALS
|
||||
/* Internal functions, don't use these directly. */
|
||||
MF_EXTERN uint8_t mf_bwfont_render_character(const struct mf_font_s *font,
|
||||
int16_t x0, int16_t y0,
|
||||
mf_char character,
|
||||
mf_pixel_callback_t callback,
|
||||
void *state);
|
||||
|
||||
MF_EXTERN uint8_t mf_bwfont_character_width(const struct mf_font_s *font,
|
||||
mf_char character);
|
||||
#endif
|
||||
|
||||
#endif
|
148
src/gdisp/mcufont/mf_config.h
Normal file
148
src/gdisp/mcufont/mf_config.h
Normal file
@ -0,0 +1,148 @@
|
||||
/* Configuration constants for mcufont. */
|
||||
|
||||
#ifndef _MF_CONFIG_H_
|
||||
#define _MF_CONFIG_H_
|
||||
|
||||
#include <gfx.h>
|
||||
|
||||
/* Mapping from uGFX settings to mcufont settings */
|
||||
#if GDISP_NEED_UTF8
|
||||
#define MF_ENCODING MF_ENCODING_UTF8
|
||||
#else
|
||||
#define MF_ENCODING MF_ENCODING_ASCII
|
||||
#endif
|
||||
|
||||
#define MF_USE_KERNING GDISP_NEED_TEXT_KERNING
|
||||
|
||||
/* These are not used for now */
|
||||
#define MF_USE_ADVANCED_WORDWRAP 0
|
||||
#define MF_USE_JUSTIFY 0
|
||||
|
||||
|
||||
/*******************************************************
|
||||
* Configuration settings related to build environment *
|
||||
*******************************************************/
|
||||
|
||||
/* Name of the file that contains all the included fonts. */
|
||||
#ifndef MF_FONT_FILE_NAME
|
||||
#define MF_FONT_FILE_NAME "fonts.h"
|
||||
#endif
|
||||
|
||||
|
||||
/*****************************************
|
||||
* Configuration settings related to API *
|
||||
*****************************************/
|
||||
|
||||
/* Encoding for the input data.
|
||||
* With the unicode encodings, the library supports the range of unicode
|
||||
* characters 0x0000-0xFFFF (the Basic Multilingual Plane).
|
||||
*
|
||||
* ASCII: Plain ascii (somewhat works with ISO8859-1 also)
|
||||
* UTF8: UTF8 encoding (variable number of bytes)
|
||||
* UTF16: UTF16 encoding (2 bytes per character, compatible with UCS-2)
|
||||
* WCHAR: Use compiler's wchar_t (usually same as UTF16)
|
||||
*/
|
||||
#define MF_ENCODING_ASCII 0
|
||||
#define MF_ENCODING_UTF8 1
|
||||
#define MF_ENCODING_UTF16 2
|
||||
#define MF_ENCODING_WCHAR 3
|
||||
#ifndef MF_ENCODING
|
||||
#define MF_ENCODING MF_ENCODING_UTF8
|
||||
#endif
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* Configuration settings related to visual appearance of rendered text *
|
||||
************************************************************************/
|
||||
|
||||
/* Minimum space between characters, in percents of the glyph width.
|
||||
* Increasing this causes the kerning module to leave more space between
|
||||
* characters.
|
||||
*/
|
||||
#ifndef MF_KERNING_SPACE_PERCENT
|
||||
#define MF_KERNING_SPACE_PERCENT 15
|
||||
#endif
|
||||
|
||||
/* Minimum space between characters, in pixels. Added to the percentual
|
||||
* spacing. This pixel-based value guarantees enough space even with small
|
||||
* fonts.
|
||||
*/
|
||||
#ifndef MF_KERNING_SPACE_PIXELS
|
||||
#define MF_KERNING_SPACE_PIXELS 3
|
||||
#endif
|
||||
|
||||
/* Maximum adjustment done by the kerning algorithm, as percent of the
|
||||
* glyph width.
|
||||
*/
|
||||
#ifndef MF_KERNING_LIMIT
|
||||
#define MF_KERNING_LIMIT 20
|
||||
#endif
|
||||
|
||||
/* Spacing of tabulator stops. The value is multiplied by the width of the
|
||||
* 'm' character in the current font.
|
||||
*/
|
||||
#ifndef MF_TABSIZE
|
||||
#define MF_TABSIZE 8
|
||||
#endif
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
* Configuration settings to strip down library to reduce resource usage *
|
||||
*************************************************************************/
|
||||
|
||||
/* Enable or disable the kerning module.
|
||||
* Disabling it saves some code size and run time, but causes the spacing
|
||||
* between characters to be less consistent.
|
||||
*/
|
||||
#ifndef MF_USE_KERNING
|
||||
#define MF_USE_KERNING 1
|
||||
#endif
|
||||
|
||||
/* Enable or disable the advanced word wrap algorithm.
|
||||
* If disabled, uses a simpler algorithm.
|
||||
*/
|
||||
#ifndef MF_USE_ADVANCED_WORDWRAP
|
||||
#define MF_USE_ADVANCED_WORDWRAP 1
|
||||
#endif
|
||||
|
||||
/* Enable of disable the justification algorithm.
|
||||
* If disabled, mf_render_justified renders just left-aligned.
|
||||
*/
|
||||
#ifndef MF_USE_JUSTIFY
|
||||
#define MF_USE_JUSTIFY 1
|
||||
#endif
|
||||
|
||||
/* Enable or disable the center and right alignment code.
|
||||
* If disabled, any alignment results in MF_ALIGN_LEFT.
|
||||
*/
|
||||
#ifndef MF_USE_ALIGN
|
||||
#define MF_USE_ALIGN 1
|
||||
#endif
|
||||
|
||||
/* Enable or disable the support for tab alignment.
|
||||
* If disabled, tabs will be rendered as regular space character.
|
||||
*/
|
||||
#ifndef MF_USE_TABS
|
||||
#define MF_USE_TABS 1
|
||||
#endif
|
||||
|
||||
/* Number of vertical zones to use when computing kerning.
|
||||
* Larger values give more accurate kerning, but are slower and use somewhat
|
||||
* more memory. There is no point to increase this beyond the height of the
|
||||
* font.
|
||||
*/
|
||||
#ifndef MF_KERNING_ZONES
|
||||
#define MF_KERNING_ZONES 16
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/* Add extern "C" when used from C++. */
|
||||
#ifdef __cplusplus
|
||||
#define MF_EXTERN extern "C"
|
||||
#else
|
||||
#define MF_EXTERN extern
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
69
src/gdisp/mcufont/mf_encoding.c
Normal file
69
src/gdisp/mcufont/mf_encoding.c
Normal file
@ -0,0 +1,69 @@
|
||||
#include "mf_encoding.h"
|
||||
|
||||
#if MF_ENCODING == MF_ENCODING_UTF8
|
||||
|
||||
mf_char mf_getchar(mf_str *str)
|
||||
{
|
||||
uint8_t c;
|
||||
uint8_t tmp, seqlen;
|
||||
uint16_t result;
|
||||
|
||||
c = **str;
|
||||
if (!c)
|
||||
return 0;
|
||||
|
||||
(*str)++;
|
||||
|
||||
if ((c & 0x80) == 0)
|
||||
{
|
||||
/* Just normal ASCII character. */
|
||||
return c;
|
||||
}
|
||||
else if ((c & 0xC0) == 0x80)
|
||||
{
|
||||
/* Dangling piece of corrupted multibyte sequence.
|
||||
* Did you cut the string in the wrong place?
|
||||
*/
|
||||
return c;
|
||||
}
|
||||
else if ((**str & 0xC0) == 0xC0)
|
||||
{
|
||||
/* Start of multibyte sequence without any following bytes.
|
||||
* Silly. Maybe you are using the wrong encoding.
|
||||
*/
|
||||
return c;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Beginning of a multi-byte sequence.
|
||||
* Find out how many characters and combine them.
|
||||
*/
|
||||
seqlen = 2;
|
||||
tmp = 0x20;
|
||||
result = 0;
|
||||
while ((c & tmp) && (seqlen < 5))
|
||||
{
|
||||
seqlen++;
|
||||
tmp >>= 1;
|
||||
|
||||
result = (result << 6) | (**str & 0x3F);
|
||||
(*str)++;
|
||||
}
|
||||
|
||||
result = (result << 6) | (**str & 0x3F);
|
||||
(*str)++;
|
||||
|
||||
result |= (c & (tmp - 1)) << ((seqlen - 1) * 6);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
void mf_rewind(mf_str *str)
|
||||
{
|
||||
(*str)--;
|
||||
|
||||
while ((**str & 0x80) != 0x00 && (**str & 0xC0) != 0xC0)
|
||||
(*str)--;
|
||||
}
|
||||
|
||||
#endif
|
53
src/gdisp/mcufont/mf_encoding.h
Normal file
53
src/gdisp/mcufont/mf_encoding.h
Normal file
@ -0,0 +1,53 @@
|
||||
/* Simple UTF-8 decoder. Also implements the much simpler ASCII and UTF16
|
||||
* input encodings.
|
||||
*/
|
||||
|
||||
#ifndef _MF_ENCODING_H_
|
||||
#define _MF_ENCODING_H_
|
||||
|
||||
#include "mf_config.h"
|
||||
#include <stdint.h>
|
||||
|
||||
/* Type used to represent characters internally. */
|
||||
#if MF_ENCODING == MF_ENCODING_ASCII
|
||||
typedef char mf_char;
|
||||
#else
|
||||
typedef uint16_t mf_char;
|
||||
#endif
|
||||
|
||||
/* Type used to represent input strings. */
|
||||
#if MF_ENCODING == MF_ENCODING_ASCII
|
||||
typedef const char * mf_str;
|
||||
#elif MF_ENCODING == MF_ENCODING_UTF8
|
||||
typedef const char * mf_str;
|
||||
#elif MF_ENCODING == MF_ENCODING_UTF16
|
||||
typedef const uint16_t * mf_str;
|
||||
#elif MF_ENCODING == MF_ENCODING_WCHAR
|
||||
#include <stddef.h>
|
||||
typedef const wchar_t * mf_str;
|
||||
#endif
|
||||
|
||||
/* Returns the next character in the string and advances the pointer.
|
||||
* When the string ends, returns 0 and leaves the pointer at the 0 byte.
|
||||
*
|
||||
* str: Pointer to variable holding current location in string.
|
||||
* Initialize it to the start of the string.
|
||||
*
|
||||
* Returns: The next character, as unicode codepoint.
|
||||
*/
|
||||
#if MF_ENCODING == MF_ENCODING_UTF8
|
||||
MF_EXTERN mf_char mf_getchar(mf_str *str);
|
||||
#else
|
||||
static mf_char mf_getchar(mf_str *str) { return *(*str)++; }
|
||||
#endif
|
||||
|
||||
/* Moves back the pointer to the beginning of the previous character.
|
||||
* Be careful not to go beyond the start of the string.
|
||||
*/
|
||||
#if MF_ENCODING == MF_ENCODING_UTF8
|
||||
MF_EXTERN void mf_rewind(mf_str *str);
|
||||
#else
|
||||
static void mf_rewind(mf_str *str) { (*str)--; }
|
||||
#endif
|
||||
|
||||
#endif
|
77
src/gdisp/mcufont/mf_font.c
Normal file
77
src/gdisp/mcufont/mf_font.c
Normal file
@ -0,0 +1,77 @@
|
||||
#include "mf_font.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
/* This will be made into a list of included fonts using macro magic. */
|
||||
#define MF_INCLUDED_FONTS 0
|
||||
|
||||
/* Included fonts begin here */
|
||||
#include MF_FONT_FILE_NAME
|
||||
/* Include fonts end here */
|
||||
|
||||
uint8_t mf_render_character(const struct mf_font_s *font,
|
||||
int16_t x0, int16_t y0,
|
||||
mf_char character,
|
||||
mf_pixel_callback_t callback,
|
||||
void *state)
|
||||
{
|
||||
uint8_t width;
|
||||
width = font->render_character(font, x0, y0, character, callback, state);
|
||||
|
||||
if (!width)
|
||||
{
|
||||
width = font->render_character(font, x0, y0, font->fallback_character,
|
||||
callback, state);
|
||||
}
|
||||
|
||||
return width;
|
||||
}
|
||||
|
||||
uint8_t mf_character_width(const struct mf_font_s *font,
|
||||
mf_char character)
|
||||
{
|
||||
uint8_t width;
|
||||
width = font->character_width(font, character);
|
||||
|
||||
if (!width)
|
||||
{
|
||||
width = font->character_width(font, font->fallback_character);
|
||||
}
|
||||
|
||||
return width;
|
||||
}
|
||||
|
||||
/* Avoids a dependency on libc */
|
||||
static bool strequals(const char *a, const char *b)
|
||||
{
|
||||
while (*a)
|
||||
{
|
||||
if (*a++ != *b++)
|
||||
return false;
|
||||
}
|
||||
return (!*b);
|
||||
}
|
||||
|
||||
const struct mf_font_s *mf_find_font(const char *name)
|
||||
{
|
||||
const struct mf_font_list_s *f;
|
||||
f = MF_INCLUDED_FONTS;
|
||||
|
||||
while (f)
|
||||
{
|
||||
if (strequals(f->font->full_name, name) ||
|
||||
strequals(f->font->short_name, name))
|
||||
{
|
||||
return f->font;
|
||||
}
|
||||
|
||||
f = f->next;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
const struct mf_font_list_s *mf_get_font_list()
|
||||
{
|
||||
return MF_INCLUDED_FONTS;
|
||||
}
|
||||
|
118
src/gdisp/mcufont/mf_font.h
Normal file
118
src/gdisp/mcufont/mf_font.h
Normal file
@ -0,0 +1,118 @@
|
||||
/* Generic font type that supports fonts with multiple kinds of compression.
|
||||
* Provides an interface for decoding and rendering single characters.
|
||||
*/
|
||||
|
||||
#ifndef _MF_FONT_H_
|
||||
#define _MF_FONT_H_
|
||||
|
||||
#include "mf_encoding.h"
|
||||
|
||||
/* Callback function that writes pixels to screen / buffer / whatever.
|
||||
*
|
||||
* x: X coordinate of the first pixel to write.
|
||||
* y: Y coordinate of the first pixel to write.
|
||||
* count: Number of pixels to fill (horizontally).
|
||||
* alpha: The "opaqueness" of the pixels, 0 for background, 255 for text.
|
||||
* state: Free variable that was passed to render_character().
|
||||
*/
|
||||
typedef void (*mf_pixel_callback_t) (int16_t x, int16_t y, uint8_t count,
|
||||
uint8_t alpha, void *state);
|
||||
|
||||
/* General information about a font. */
|
||||
struct mf_font_s
|
||||
{
|
||||
/* Full name of the font, comes from the original font file. */
|
||||
const char *full_name;
|
||||
|
||||
/* Short name of the font, comes from file name. */
|
||||
const char *short_name;
|
||||
|
||||
/* Width and height of the character bounding box. */
|
||||
uint8_t width;
|
||||
uint8_t height;
|
||||
|
||||
/* Minimum and maximum tracking width of characters. */
|
||||
uint8_t min_x_advance;
|
||||
uint8_t max_x_advance;
|
||||
|
||||
/* Location of the text baseline relative to character. */
|
||||
uint8_t baseline_x;
|
||||
uint8_t baseline_y;
|
||||
|
||||
/* Line height of the font (vertical advance). */
|
||||
uint8_t line_height;
|
||||
|
||||
/* Flags identifying various aspects of the font. */
|
||||
uint8_t flags;
|
||||
|
||||
/* Fallback character to use for missing glyphs. */
|
||||
mf_char fallback_character;
|
||||
|
||||
/* Function to get character width. Should return 0 if character is
|
||||
* not found. */
|
||||
uint8_t (*character_width)(const struct mf_font_s *font, mf_char character);
|
||||
|
||||
/* Function to render a character. Returns the character width or 0 if
|
||||
* character is not found. */
|
||||
uint8_t (*render_character)(const struct mf_font_s *font,
|
||||
int16_t x0, int16_t y0,
|
||||
mf_char character,
|
||||
mf_pixel_callback_t callback,
|
||||
void *state);
|
||||
};
|
||||
|
||||
/* The flag definitions for the font.flags field. */
|
||||
#define MF_FONT_FLAG_MONOSPACE 0x01
|
||||
#define MF_FONT_FLAG_BW 0x02
|
||||
|
||||
/* Lookup structure for searching fonts by name. */
|
||||
struct mf_font_list_s
|
||||
{
|
||||
const struct mf_font_list_s *next;
|
||||
const struct mf_font_s *font;
|
||||
};
|
||||
|
||||
|
||||
/* Function to decode and render a single character.
|
||||
*
|
||||
* font: Pointer to the font definition.
|
||||
* x0, y0: Upper left corner of the target area.
|
||||
* character: The character code (unicode) to render.
|
||||
* callback: Callback function to write out the pixels.
|
||||
* state: Free variable for caller to use (can be NULL).
|
||||
*
|
||||
* Returns width of the character.
|
||||
*/
|
||||
MF_EXTERN uint8_t mf_render_character(const struct mf_font_s *font,
|
||||
int16_t x0, int16_t y0,
|
||||
mf_char character,
|
||||
mf_pixel_callback_t callback,
|
||||
void *state);
|
||||
|
||||
/* Function to get the width of a single character.
|
||||
* This is not necessarily the bounding box of the character
|
||||
* data, but rather the tracking width.
|
||||
*
|
||||
* font: Pointer to the font definition.
|
||||
* character: The character code (unicode) to render.
|
||||
*
|
||||
* Returns width of the character in pixels.
|
||||
*/
|
||||
MF_EXTERN uint8_t mf_character_width(const struct mf_font_s *font,
|
||||
mf_char character);
|
||||
|
||||
/* Find a font based on name. The name can be either short name or full name.
|
||||
* Note: You can pass MF_INCLUDED_FONTS to search among all the included .h
|
||||
* files.
|
||||
*
|
||||
* name: Font name to search for.
|
||||
* fonts: Pointer to the first font search entry.
|
||||
*
|
||||
* Returns a pointer to the font or NULL if not found.
|
||||
*/
|
||||
MF_EXTERN const struct mf_font_s *mf_find_font(const char *name);
|
||||
|
||||
/* Get the list of included fonts */
|
||||
MF_EXTERN const struct mf_font_list_s *mf_get_font_list();
|
||||
|
||||
#endif
|
321
src/gdisp/mcufont/mf_justify.c
Normal file
321
src/gdisp/mcufont/mf_justify.c
Normal file
@ -0,0 +1,321 @@
|
||||
#include "mf_justify.h"
|
||||
#include "mf_kerning.h"
|
||||
|
||||
#if MF_USE_TABS
|
||||
/* Round the X coordinate up to the nearest tab stop. */
|
||||
static int16_t mf_round_to_tab(const struct mf_font_s *font,
|
||||
int16_t x0, int16_t x)
|
||||
{
|
||||
int16_t tabw, dx;
|
||||
|
||||
tabw = mf_character_width(font, 'm') * MF_TABSIZE;
|
||||
|
||||
/* Always atleast 1 space */
|
||||
x += mf_character_width(font, ' ');
|
||||
|
||||
/* Round to next tab stop */
|
||||
dx = x - x0 + font->baseline_x;
|
||||
x += tabw - (dx % tabw);
|
||||
|
||||
return x;
|
||||
}
|
||||
|
||||
/* Round the X coordinate down to the nearest tab stop. */
|
||||
static int16_t mf_round_to_prev_tab(const struct mf_font_s *font,
|
||||
int16_t x0, int16_t x)
|
||||
{
|
||||
int16_t tabw, dx;
|
||||
|
||||
tabw = mf_character_width(font, 'm') * MF_TABSIZE;
|
||||
|
||||
/* Always atleast 1 space */
|
||||
x -= mf_character_width(font, ' ');
|
||||
|
||||
/* Round to previous tab stop */
|
||||
dx = x0 - x + font->baseline_x;
|
||||
x -= tabw - (dx % tabw);
|
||||
|
||||
return x;
|
||||
}
|
||||
#endif
|
||||
|
||||
int16_t mf_get_string_width(const struct mf_font_s *font, mf_str text,
|
||||
uint16_t count, bool kern)
|
||||
{
|
||||
int16_t result = 0;
|
||||
uint16_t c1 = 0, c2;
|
||||
|
||||
if (!count)
|
||||
count = 0xFFFF;
|
||||
|
||||
while (count-- && *text)
|
||||
{
|
||||
c2 = mf_getchar(&text);
|
||||
|
||||
if (kern && c1 != 0)
|
||||
result += mf_compute_kerning(font, c1, c2);
|
||||
|
||||
result += mf_character_width(font, c2);
|
||||
c1 = c2;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/* Return the length of the string without trailing spaces. */
|
||||
static uint16_t strip_spaces(mf_str text, uint16_t count, mf_char *last_char)
|
||||
{
|
||||
uint16_t i = 0, result = 0;
|
||||
mf_char tmp = 0;
|
||||
|
||||
if (!count)
|
||||
count = 0xFFFF;
|
||||
|
||||
while (count-- && *text)
|
||||
{
|
||||
i++;
|
||||
tmp = mf_getchar(&text);
|
||||
if (tmp != ' ' && tmp != 0xA0 && tmp != '\n' &&
|
||||
tmp != '\r' && tmp != '\t')
|
||||
{
|
||||
result = i;
|
||||
}
|
||||
}
|
||||
|
||||
if (last_char)
|
||||
{
|
||||
if (!*text)
|
||||
*last_char = 0;
|
||||
else
|
||||
*last_char = tmp;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/* Render left-aligned string, left edge at x0. */
|
||||
static void render_left(const struct mf_font_s *font,
|
||||
int16_t x0, int16_t y0,
|
||||
mf_str text, uint16_t count,
|
||||
mf_character_callback_t callback,
|
||||
void *state)
|
||||
{
|
||||
int16_t x;
|
||||
mf_char c1 = 0, c2;
|
||||
|
||||
x = x0 - font->baseline_x;
|
||||
while (count--)
|
||||
{
|
||||
c2 = mf_getchar(&text);
|
||||
|
||||
if (c2 == '\t')
|
||||
{
|
||||
#if MF_USE_TABS
|
||||
x = mf_round_to_tab(font, x0, x);
|
||||
c1 = ' ';
|
||||
continue;
|
||||
#else
|
||||
c2 = ' ';
|
||||
#endif
|
||||
}
|
||||
|
||||
if (c1 != 0)
|
||||
x += mf_compute_kerning(font, c1, c2);
|
||||
|
||||
x += callback(x, y0, c2, state);
|
||||
c1 = c2;
|
||||
}
|
||||
}
|
||||
|
||||
#if !MF_USE_ALIGN
|
||||
|
||||
void mf_render_aligned(const struct mf_font_s *font,
|
||||
int16_t x0, int16_t y0,
|
||||
enum mf_align_t align,
|
||||
mf_str text, uint16_t count,
|
||||
mf_character_callback_t callback,
|
||||
void *state)
|
||||
{
|
||||
int16_t string_width;
|
||||
count = strip_spaces(text, count, 0);
|
||||
render_left(font, x0, y0, text, count, callback, state);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
/* Render right-aligned string, right edge at x0. */
|
||||
static void render_right(const struct mf_font_s *font,
|
||||
int16_t x0, int16_t y0,
|
||||
mf_str text, uint16_t count,
|
||||
mf_character_callback_t callback,
|
||||
void *state)
|
||||
{
|
||||
int16_t x;
|
||||
uint16_t i;
|
||||
mf_char c1, c2 = 0;
|
||||
mf_str tmp;
|
||||
|
||||
/* Go to the end of the line. */
|
||||
for (i = 0; i < count; i++)
|
||||
mf_getchar(&text);
|
||||
|
||||
x = x0 - font->baseline_x;
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
mf_rewind(&text);
|
||||
tmp = text;
|
||||
c1 = mf_getchar(&tmp);
|
||||
|
||||
/* Perform tab alignment */
|
||||
if (c1 == '\t')
|
||||
{
|
||||
#if MF_USE_TABS
|
||||
x = mf_round_to_prev_tab(font, x0, x);
|
||||
c2 = ' ';
|
||||
continue;
|
||||
#else
|
||||
c1 = ' ';
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Apply the nominal character width */
|
||||
x -= mf_character_width(font, c1);
|
||||
|
||||
/* Apply kerning */
|
||||
if (c2 != 0)
|
||||
x -= mf_compute_kerning(font, c1, c2);
|
||||
|
||||
callback(x, y0, c1, state);
|
||||
c2 = c1;
|
||||
}
|
||||
}
|
||||
|
||||
void mf_render_aligned(const struct mf_font_s *font,
|
||||
int16_t x0, int16_t y0,
|
||||
enum mf_align_t align,
|
||||
mf_str text, uint16_t count,
|
||||
mf_character_callback_t callback,
|
||||
void *state)
|
||||
{
|
||||
int16_t string_width;
|
||||
count = strip_spaces(text, count, 0);
|
||||
|
||||
if (align == MF_ALIGN_LEFT)
|
||||
{
|
||||
render_left(font, x0, y0, text, count, callback, state);
|
||||
}
|
||||
if (align == MF_ALIGN_CENTER)
|
||||
{
|
||||
string_width = mf_get_string_width(font, text, count, false);
|
||||
x0 -= string_width / 2;
|
||||
render_left(font, x0, y0, text, count, callback, state);
|
||||
}
|
||||
else if (align == MF_ALIGN_RIGHT)
|
||||
{
|
||||
render_right(font, x0, y0, text, count, callback, state);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#if !MF_USE_JUSTIFY
|
||||
|
||||
void mf_render_justified(const struct mf_font_s *font,
|
||||
int16_t x0, int16_t y0, int16_t width,
|
||||
mf_str text, uint16_t count,
|
||||
mf_character_callback_t callback,
|
||||
void *state)
|
||||
{
|
||||
mf_render_aligned(font, x0, y0, MF_ALIGN_LEFT, text, count, callback, state);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
/* Returns true if the character is a justification point, i.e. expands
|
||||
* when the text is being justified. */
|
||||
static bool is_justify_space(uint16_t c)
|
||||
{
|
||||
return c == ' ' || c == 0xA0;
|
||||
}
|
||||
|
||||
/* Count the number of space characters in string */
|
||||
static uint16_t count_spaces(mf_str text, uint16_t count)
|
||||
{
|
||||
uint16_t spaces = 0;
|
||||
while (count-- && *text)
|
||||
{
|
||||
if (is_justify_space(mf_getchar(&text)))
|
||||
spaces++;
|
||||
}
|
||||
return spaces;
|
||||
}
|
||||
|
||||
void mf_render_justified(const struct mf_font_s *font,
|
||||
int16_t x0, int16_t y0, int16_t width,
|
||||
mf_str text, uint16_t count,
|
||||
mf_character_callback_t callback,
|
||||
void *state)
|
||||
{
|
||||
int16_t string_width, adjustment;
|
||||
uint16_t num_spaces;
|
||||
mf_char last_char;
|
||||
|
||||
count = strip_spaces(text, count, &last_char);
|
||||
|
||||
if (last_char == '\n' || last_char == 0)
|
||||
{
|
||||
/* Line ends in linefeed, do not justify. */
|
||||
render_left(font, x0, y0, text, count, callback, state);
|
||||
return;
|
||||
}
|
||||
|
||||
string_width = mf_get_string_width(font, text, count, false);
|
||||
adjustment = width - string_width;
|
||||
num_spaces = count_spaces(text, count);
|
||||
|
||||
{
|
||||
int16_t x, tmp;
|
||||
uint16_t c1 = 0, c2;
|
||||
|
||||
x = x0 - font->baseline_x;
|
||||
while (count--)
|
||||
{
|
||||
c2 = mf_getchar(&text);
|
||||
|
||||
if (c2 == '\t')
|
||||
{
|
||||
#if MF_USE_TABS
|
||||
tmp = x;
|
||||
x = mf_round_to_tab(font, x0, x);
|
||||
adjustment -= x - tmp - mf_character_width(font, '\t');
|
||||
c1 = c2;
|
||||
continue;
|
||||
#else
|
||||
c2 = ' ';
|
||||
#endif
|
||||
}
|
||||
|
||||
if (is_justify_space(c2))
|
||||
{
|
||||
tmp = (adjustment + num_spaces / 2) / num_spaces;
|
||||
adjustment -= tmp;
|
||||
num_spaces--;
|
||||
x += tmp;
|
||||
}
|
||||
|
||||
if (c1 != 0)
|
||||
{
|
||||
tmp = mf_compute_kerning(font, c1, c2);
|
||||
x += tmp;
|
||||
adjustment -= tmp;
|
||||
}
|
||||
|
||||
x += callback(x, y0, c2, state);
|
||||
c1 = c2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
74
src/gdisp/mcufont/mf_justify.h
Normal file
74
src/gdisp/mcufont/mf_justify.h
Normal file
@ -0,0 +1,74 @@
|
||||
/* Text alignment and justification algorithm. Supports left, right, center
|
||||
* alignment and justify. Supports tab stops and kerning.
|
||||
*/
|
||||
|
||||
#ifndef _MF_JUSTIFY_H_
|
||||
#define _MF_JUSTIFY_H_
|
||||
|
||||
#include "mf_rlefont.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
enum mf_align_t
|
||||
{
|
||||
MF_ALIGN_LEFT = 0,
|
||||
MF_ALIGN_CENTER,
|
||||
MF_ALIGN_RIGHT
|
||||
};
|
||||
|
||||
/* Callback for rendering a single character.
|
||||
* x0: Left edge of the target position of character.
|
||||
* y0: Upper edge of the target position of character.
|
||||
* character: Character to render.
|
||||
* state: Free state variable for use by the callback.
|
||||
* Returns the width of the character.
|
||||
*/
|
||||
typedef uint8_t (*mf_character_callback_t) (int16_t x0, int16_t y0,
|
||||
mf_char character, void *state);
|
||||
|
||||
/* Get width of a string in pixels.
|
||||
*
|
||||
* font: Pointer to the font definition.
|
||||
* text: Pointer to start of the text to measure.
|
||||
* count: Number of characters on the line or 0 to read until end of string.
|
||||
* kern: True to consider kerning (slower).
|
||||
*/
|
||||
MF_EXTERN int16_t mf_get_string_width(const struct mf_font_s *font,
|
||||
mf_str text, uint16_t count, bool kern);
|
||||
|
||||
/* Render a single line of aligned text.
|
||||
*
|
||||
* font: Pointer to the font definition.
|
||||
* x0: Depending on aligned, either left, center or right edge of target.
|
||||
* y0: Upper edge of the target area.
|
||||
* align: Type of alignment.
|
||||
* text: Pointer to start of the text to render.
|
||||
* count: Number of characters on the line or 0 to read until end of string.
|
||||
* callback: Callback to call for each character.
|
||||
* state: Free variable for use in the callback.
|
||||
*/
|
||||
MF_EXTERN void mf_render_aligned(const struct mf_font_s *font,
|
||||
int16_t x0, int16_t y0,
|
||||
enum mf_align_t align,
|
||||
mf_str text, uint16_t count,
|
||||
mf_character_callback_t callback,
|
||||
void *state);
|
||||
|
||||
/* Render a single line of justified text.
|
||||
*
|
||||
* font: Pointer to the font definition.
|
||||
* x0: Left edge of the target area.
|
||||
* y0: Upper edge of the target area.
|
||||
* width: Width of the target area.
|
||||
* text: Pointer to start of the text to render.
|
||||
* count: Number of characters on the line or 0 to read until end of string.
|
||||
* callback: Callback to call for each character.
|
||||
* state: Free variable for use in the callback.
|
||||
*/
|
||||
MF_EXTERN void mf_render_justified(const struct mf_font_s *font,
|
||||
int16_t x0, int16_t y0, int16_t width,
|
||||
mf_str text, uint16_t count,
|
||||
mf_character_callback_t callback,
|
||||
void *state);
|
||||
|
||||
|
||||
#endif
|
118
src/gdisp/mcufont/mf_kerning.c
Normal file
118
src/gdisp/mcufont/mf_kerning.c
Normal file
@ -0,0 +1,118 @@
|
||||
#include "mf_kerning.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
#if MF_USE_KERNING
|
||||
|
||||
/* Structure for keeping track of the edge of the glyph as it is rendered. */
|
||||
struct kerning_state_s
|
||||
{
|
||||
uint8_t edgepos[MF_KERNING_ZONES];
|
||||
uint8_t zoneheight;
|
||||
};
|
||||
|
||||
/* Pixel callback for analyzing the left edge of a glyph. */
|
||||
static void fit_leftedge(int16_t x, int16_t y, uint8_t count, uint8_t alpha,
|
||||
void *state)
|
||||
{
|
||||
struct kerning_state_s *s = state;
|
||||
|
||||
if (alpha > 7)
|
||||
{
|
||||
uint8_t zone = y / s->zoneheight;
|
||||
if (x < s->edgepos[zone])
|
||||
s->edgepos[zone] = x;
|
||||
}
|
||||
}
|
||||
|
||||
/* Pixel callback for analyzing the right edge of a glyph. */
|
||||
static void fit_rightedge(int16_t x, int16_t y, uint8_t count, uint8_t alpha,
|
||||
void *state)
|
||||
{
|
||||
struct kerning_state_s *s = state;
|
||||
|
||||
if (alpha > 7)
|
||||
{
|
||||
uint8_t zone = y / s->zoneheight;
|
||||
x += count - 1;
|
||||
if (x > s->edgepos[zone])
|
||||
s->edgepos[zone] = x;
|
||||
}
|
||||
}
|
||||
|
||||
/* Should kerning be done against this character? */
|
||||
static bool do_kerning(mf_char c)
|
||||
{
|
||||
/* Just a speed optimization, spaces would be ignored anyway. */
|
||||
if (c == ' ' || c == '\n' || c == '\r' || c == '\t')
|
||||
return false;
|
||||
|
||||
/* Do not kern against digits, in order to keep values in tables nicely
|
||||
* aligned. Most fonts have constant width for digits. */
|
||||
if (c >= '0' && c <= '9')
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static int16_t min16(int16_t a, int16_t b) { return (a < b) ? a : b; }
|
||||
static int16_t max16(int16_t a, int16_t b) { return (a > b) ? a : b; }
|
||||
static int16_t avg16(int16_t a, int16_t b) { return (a + b) / 2; }
|
||||
|
||||
int8_t mf_compute_kerning(const struct mf_font_s *font,
|
||||
mf_char c1, mf_char c2)
|
||||
{
|
||||
struct kerning_state_s leftedge, rightedge;
|
||||
uint8_t w1, w2, i, min_space;
|
||||
int16_t normal_space, adjust, max_adjust;
|
||||
|
||||
if (font->flags & MF_FONT_FLAG_MONOSPACE)
|
||||
return 0; /* No kerning for monospace fonts */
|
||||
|
||||
if (!do_kerning(c1) || !do_kerning(c2))
|
||||
return 0;
|
||||
|
||||
/* Compute the height of one kerning zone in pixels */
|
||||
i = (font->height + MF_KERNING_ZONES - 1) / MF_KERNING_ZONES;
|
||||
if (i < 1) i = 1;
|
||||
|
||||
/* Initialize structures */
|
||||
leftedge.zoneheight = rightedge.zoneheight = i;
|
||||
for (i = 0; i < MF_KERNING_ZONES; i++)
|
||||
{
|
||||
leftedge.edgepos[i] = 255;
|
||||
rightedge.edgepos[i] = 0;
|
||||
}
|
||||
|
||||
/* Analyze the edges of both glyphs. */
|
||||
w1 = mf_render_character(font, 0, 0, c1, fit_rightedge, &rightedge);
|
||||
w2 = mf_render_character(font, 0, 0, c2, fit_leftedge, &leftedge);
|
||||
|
||||
/* Find the minimum horizontal space between the glyphs. */
|
||||
min_space = 255;
|
||||
for (i = 0; i < MF_KERNING_ZONES; i++)
|
||||
{
|
||||
uint8_t space;
|
||||
if (leftedge.edgepos[i] == 255 || rightedge.edgepos[i] == 0)
|
||||
continue; /* Outside glyph area. */
|
||||
|
||||
space = w1 - rightedge.edgepos[i] + leftedge.edgepos[i];
|
||||
if (space < min_space)
|
||||
min_space = space;
|
||||
}
|
||||
|
||||
if (min_space == 255)
|
||||
return 0; /* One of the characters is space, or both are punctuation. */
|
||||
|
||||
/* Compute the adjustment of the glyph position. */
|
||||
normal_space = avg16(w1, w2) * MF_KERNING_SPACE_PERCENT / 100;
|
||||
normal_space += MF_KERNING_SPACE_PIXELS;
|
||||
adjust = normal_space - min_space;
|
||||
max_adjust = -max16(w1, w2) * MF_KERNING_LIMIT / 100;
|
||||
|
||||
if (adjust > 0) adjust = 0;
|
||||
if (adjust < max_adjust) adjust = max_adjust;
|
||||
|
||||
return adjust;
|
||||
}
|
||||
|
||||
#endif
|
29
src/gdisp/mcufont/mf_kerning.h
Normal file
29
src/gdisp/mcufont/mf_kerning.h
Normal file
@ -0,0 +1,29 @@
|
||||
/* Automatic kerning for font rendering. This solves the issue where some
|
||||
* fonts (especially serif fonts) have too much space between specific
|
||||
* character pairs, like WA or L'.
|
||||
*/
|
||||
|
||||
#ifndef _MF_KERNING_H_
|
||||
#define _MF_KERNING_H_
|
||||
|
||||
#include "mf_config.h"
|
||||
#include "mf_rlefont.h"
|
||||
|
||||
/* Compute the kerning adjustment when c1 is followed by c2.
|
||||
*
|
||||
* font: Pointer to the font definition.
|
||||
* c1: The previous character.
|
||||
* c2: The next character to render.
|
||||
*
|
||||
* Returns the offset to add to the x position for c2.
|
||||
*/
|
||||
#if MF_USE_KERNING
|
||||
MF_EXTERN int8_t mf_compute_kerning(const struct mf_font_s *font,
|
||||
mf_char c1, mf_char c2);
|
||||
#else
|
||||
static int8_t mf_compute_kerning(const struct mf_font_s *font,
|
||||
mf_char c1, mf_char c2)
|
||||
{ return 0; }
|
||||
#endif
|
||||
|
||||
#endif
|
282
src/gdisp/mcufont/mf_rlefont.c
Normal file
282
src/gdisp/mcufont/mf_rlefont.c
Normal file
@ -0,0 +1,282 @@
|
||||
#include "mf_rlefont.h"
|
||||
|
||||
/* Number of reserved codes before the dictionary entries. */
|
||||
#define DICT_START 24
|
||||
|
||||
/* Special reference to mean "fill with zeros to the end of the glyph" */
|
||||
#define REF_FILLZEROS 16
|
||||
|
||||
/* RLE codes */
|
||||
#define RLE_CODEMASK 0xC0
|
||||
#define RLE_VALMASK 0x3F
|
||||
#define RLE_ZEROS 0x00
|
||||
#define RLE_64ZEROS 0x40
|
||||
#define RLE_ONES 0x80
|
||||
#define RLE_SHADE 0xC0
|
||||
|
||||
/* Dictionary "fill entries" for encoding bits directly. */
|
||||
#define DICT_START7BIT 4
|
||||
#define DICT_START6BIT 132
|
||||
#define DICT_START5BIT 196
|
||||
#define DICT_START4BIT 228
|
||||
#define DICT_START3BIT 244
|
||||
#define DICT_START2BIT 252
|
||||
|
||||
/* Find a pointer to the glyph matching a given character by searching
|
||||
* through the character ranges. If the character is not found, return
|
||||
* pointer to the default glyph.
|
||||
*/
|
||||
static const uint8_t *find_glyph(const struct mf_rlefont_s *font,
|
||||
uint16_t character)
|
||||
{
|
||||
unsigned i, index;
|
||||
const struct mf_rlefont_char_range_s *range;
|
||||
for (i = 0; i < font->char_range_count; i++)
|
||||
{
|
||||
range = &font->char_ranges[i];
|
||||
index = character - range->first_char;
|
||||
if (character >= range->first_char && index < range->char_count)
|
||||
{
|
||||
uint16_t offset = range->glyph_offsets[index];
|
||||
return &range->glyph_data[offset];
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Structure to keep track of coordinates of the next pixel to be written,
|
||||
* and also the bounds of the character. */
|
||||
struct renderstate_r
|
||||
{
|
||||
int16_t x_begin;
|
||||
int16_t x_end;
|
||||
int16_t x;
|
||||
int16_t y;
|
||||
int16_t y_end;
|
||||
mf_pixel_callback_t callback;
|
||||
void *state;
|
||||
};
|
||||
|
||||
/* Call the callback to write one pixel to screen, and advance to next
|
||||
* pixel position. */
|
||||
static void write_pixels(struct renderstate_r *rstate, uint16_t count,
|
||||
uint8_t alpha)
|
||||
{
|
||||
uint8_t rowlen;
|
||||
|
||||
/* Write row-by-row if the run spans multiple rows. */
|
||||
while (rstate->x + count >= rstate->x_end)
|
||||
{
|
||||
rowlen = rstate->x_end - rstate->x;
|
||||
rstate->callback(rstate->x, rstate->y, rowlen, alpha, rstate->state);
|
||||
count -= rowlen;
|
||||
rstate->x = rstate->x_begin;
|
||||
rstate->y++;
|
||||
}
|
||||
|
||||
/* Write the remaining part */
|
||||
if (count)
|
||||
{
|
||||
rstate->callback(rstate->x, rstate->y, count, alpha, rstate->state);
|
||||
rstate->x += count;
|
||||
}
|
||||
}
|
||||
|
||||
/* Skip the given number of pixels (0 alpha) */
|
||||
static void skip_pixels(struct renderstate_r *rstate, uint16_t count)
|
||||
{
|
||||
rstate->x += count;
|
||||
while (rstate->x >= rstate->x_end)
|
||||
{
|
||||
rstate->x -= rstate->x_end - rstate->x_begin;
|
||||
rstate->y++;
|
||||
}
|
||||
}
|
||||
|
||||
/* Decode and write out a RLE-encoded dictionary entry. */
|
||||
static void write_rle_dictentry(const struct mf_rlefont_s *font,
|
||||
struct renderstate_r *rstate,
|
||||
uint8_t index)
|
||||
{
|
||||
uint16_t offset = font->dictionary_offsets[index];
|
||||
uint16_t length = font->dictionary_offsets[index + 1] - offset;
|
||||
uint16_t i;
|
||||
|
||||
for (i = 0; i < length; i++)
|
||||
{
|
||||
uint8_t code = font->dictionary_data[offset + i];
|
||||
if ((code & RLE_CODEMASK) == RLE_ZEROS)
|
||||
{
|
||||
skip_pixels(rstate, code & RLE_VALMASK);
|
||||
}
|
||||
else if ((code & RLE_CODEMASK) == RLE_64ZEROS)
|
||||
{
|
||||
skip_pixels(rstate, ((code & RLE_VALMASK) + 1) * 64);
|
||||
}
|
||||
else if ((code & RLE_CODEMASK) == RLE_ONES)
|
||||
{
|
||||
write_pixels(rstate, (code & RLE_VALMASK) + 1, 255);
|
||||
}
|
||||
else if ((code & RLE_CODEMASK) == RLE_SHADE)
|
||||
{
|
||||
uint8_t count, alpha;
|
||||
count = ((code & RLE_VALMASK) >> 4) + 1;
|
||||
alpha = ((code & RLE_VALMASK) & 0xF) * 0x11;
|
||||
write_pixels(rstate, count, alpha);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Get bit count for the "fill entries" */
|
||||
static uint8_t fillentry_bitcount(uint8_t index)
|
||||
{
|
||||
if (index >= DICT_START2BIT)
|
||||
return 2;
|
||||
else if (index >= DICT_START3BIT)
|
||||
return 3;
|
||||
else if (index >= DICT_START4BIT)
|
||||
return 4;
|
||||
else if (index >= DICT_START5BIT)
|
||||
return 5;
|
||||
else if (index >= DICT_START6BIT)
|
||||
return 6;
|
||||
else
|
||||
return 7;
|
||||
}
|
||||
|
||||
/* Decode and write out a direct binary codeword */
|
||||
static void write_bin_codeword(const struct mf_rlefont_s *font,
|
||||
struct renderstate_r *rstate,
|
||||
uint8_t code)
|
||||
{
|
||||
uint8_t bitcount = fillentry_bitcount(code);
|
||||
uint8_t byte = code - DICT_START7BIT;
|
||||
uint8_t runlen = 0;
|
||||
|
||||
while (bitcount--)
|
||||
{
|
||||
if (byte & 1)
|
||||
{
|
||||
runlen++;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (runlen)
|
||||
{
|
||||
write_pixels(rstate, runlen, 255);
|
||||
runlen = 0;
|
||||
}
|
||||
|
||||
skip_pixels(rstate, 1);
|
||||
}
|
||||
|
||||
byte >>= 1;
|
||||
}
|
||||
|
||||
if (runlen)
|
||||
write_pixels(rstate, runlen, 255);
|
||||
}
|
||||
|
||||
/* Decode and write out a reference codeword */
|
||||
static void write_ref_codeword(const struct mf_rlefont_s *font,
|
||||
struct renderstate_r *rstate,
|
||||
uint8_t code)
|
||||
{
|
||||
if (code <= 15)
|
||||
{
|
||||
write_pixels(rstate, 1, 0x11 * code);
|
||||
}
|
||||
else if (code == REF_FILLZEROS)
|
||||
{
|
||||
/* Fill with zeroes to end */
|
||||
rstate->y = rstate->y_end;
|
||||
}
|
||||
else if (code < DICT_START)
|
||||
{
|
||||
/* Reserved */
|
||||
}
|
||||
else if (code < DICT_START + font->rle_entry_count)
|
||||
{
|
||||
write_rle_dictentry(font, rstate, code - DICT_START);
|
||||
}
|
||||
else
|
||||
{
|
||||
write_bin_codeword(font, rstate, code);
|
||||
}
|
||||
}
|
||||
|
||||
/* Decode and write out a reference encoded dictionary entry. */
|
||||
static void write_ref_dictentry(const struct mf_rlefont_s *font,
|
||||
struct renderstate_r *rstate,
|
||||
uint8_t index)
|
||||
{
|
||||
uint16_t offset = font->dictionary_offsets[index];
|
||||
uint16_t length = font->dictionary_offsets[index + 1] - offset;
|
||||
uint16_t i;
|
||||
|
||||
for (i = 0; i < length; i++)
|
||||
{
|
||||
uint8_t code = font->dictionary_data[offset + i];
|
||||
write_ref_codeword(font, rstate, code);
|
||||
}
|
||||
}
|
||||
|
||||
/* Decode and write out an arbitrary glyph codeword */
|
||||
static void write_glyph_codeword(const struct mf_rlefont_s *font,
|
||||
struct renderstate_r *rstate,
|
||||
uint8_t code)
|
||||
{
|
||||
if (code >= DICT_START + font->rle_entry_count &&
|
||||
code < DICT_START + font->dict_entry_count)
|
||||
{
|
||||
write_ref_dictentry(font, rstate, code - DICT_START);
|
||||
}
|
||||
else
|
||||
{
|
||||
write_ref_codeword(font, rstate, code);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
uint8_t mf_rlefont_render_character(const struct mf_font_s *font,
|
||||
int16_t x0, int16_t y0,
|
||||
uint16_t character,
|
||||
mf_pixel_callback_t callback,
|
||||
void *state)
|
||||
{
|
||||
const uint8_t *p;
|
||||
uint8_t width;
|
||||
|
||||
struct renderstate_r rstate;
|
||||
rstate.x_begin = x0;
|
||||
rstate.x_end = x0 + font->width;
|
||||
rstate.x = x0;
|
||||
rstate.y = y0;
|
||||
rstate.y_end = y0 + font->height;
|
||||
rstate.callback = callback;
|
||||
rstate.state = state;
|
||||
|
||||
p = find_glyph((struct mf_rlefont_s*)font, character);
|
||||
if (!p)
|
||||
return 0;
|
||||
|
||||
width = *p++;
|
||||
while (rstate.y < rstate.y_end)
|
||||
{
|
||||
write_glyph_codeword((struct mf_rlefont_s*)font, &rstate, *p++);
|
||||
}
|
||||
|
||||
return width;
|
||||
}
|
||||
|
||||
uint8_t mf_rlefont_character_width(const struct mf_font_s *font,
|
||||
uint16_t character)
|
||||
{
|
||||
const uint8_t *p;
|
||||
p = find_glyph((struct mf_rlefont_s*)font, character);
|
||||
if (!p)
|
||||
return 0;
|
||||
|
||||
return *p;
|
||||
}
|
74
src/gdisp/mcufont/mf_rlefont.h
Normal file
74
src/gdisp/mcufont/mf_rlefont.h
Normal file
@ -0,0 +1,74 @@
|
||||
/* A compressed font format based on run length encoding and dictionary
|
||||
* compression.
|
||||
*/
|
||||
|
||||
#ifndef _MF_RLEFONT_H_
|
||||
#define _MF_RLEFONT_H_
|
||||
|
||||
#include "mf_font.h"
|
||||
|
||||
/* Versions of the RLE font format that are supported. */
|
||||
#define MF_RLEFONT_VERSION_4_SUPPORTED 1
|
||||
|
||||
/* Structure for a range of characters. This implements a sparse storage of
|
||||
* character indices, so that you can e.g. pick a 100 characters in the middle
|
||||
* of the UTF16 range and just store them. */
|
||||
struct mf_rlefont_char_range_s
|
||||
{
|
||||
/* The number of the first character in this range. */
|
||||
uint16_t first_char;
|
||||
|
||||
/* The total count of characters in this range. */
|
||||
uint16_t char_count;
|
||||
|
||||
/* Lookup table with the start indices into glyph_data. */
|
||||
const uint16_t *glyph_offsets;
|
||||
|
||||
/* The encoded glyph data for glyphs in this range. */
|
||||
const uint8_t *glyph_data;
|
||||
};
|
||||
|
||||
/* Structure for a single encoded font. */
|
||||
struct mf_rlefont_s
|
||||
{
|
||||
struct mf_font_s font;
|
||||
|
||||
/* Version of the font definition used. */
|
||||
const uint8_t version;
|
||||
|
||||
/* Big array of the data for all the dictionary entries. */
|
||||
const uint8_t *dictionary_data;
|
||||
|
||||
/* Lookup table with the start indices into dictionary_data.
|
||||
* Contains N+1 entries, so that the length of the entry can
|
||||
* be determined by subtracting from the next offset. */
|
||||
const uint16_t *dictionary_offsets;
|
||||
|
||||
/* Number of dictionary entries using the RLE encoding.
|
||||
* Entries starting at this index use the dictionary encoding. */
|
||||
const uint8_t rle_entry_count;
|
||||
|
||||
/* Total number of dictionary entries.
|
||||
* Entries after this are nonexistent. */
|
||||
const uint8_t dict_entry_count;
|
||||
|
||||
/* Number of discontinuous character ranges */
|
||||
const uint8_t char_range_count;
|
||||
|
||||
/* Array of the character ranges */
|
||||
const struct mf_rlefont_char_range_s *char_ranges;
|
||||
};
|
||||
|
||||
#ifdef MF_RLEFONT_INTERNALS
|
||||
/* Internal functions, don't use these directly. */
|
||||
MF_EXTERN uint8_t mf_rlefont_render_character(const struct mf_font_s *font,
|
||||
int16_t x0, int16_t y0,
|
||||
mf_char character,
|
||||
mf_pixel_callback_t callback,
|
||||
void *state);
|
||||
|
||||
MF_EXTERN uint8_t mf_rlefont_character_width(const struct mf_font_s *font,
|
||||
mf_char character);
|
||||
#endif
|
||||
|
||||
#endif
|
83
src/gdisp/mcufont/mf_scaledfont.c
Normal file
83
src/gdisp/mcufont/mf_scaledfont.c
Normal file
@ -0,0 +1,83 @@
|
||||
#include "mf_scaledfont.h"
|
||||
|
||||
struct scaled_renderstate
|
||||
{
|
||||
mf_pixel_callback_t orig_callback;
|
||||
void *orig_state;
|
||||
uint8_t x_scale;
|
||||
uint8_t y_scale;
|
||||
int16_t x0;
|
||||
int16_t y0;
|
||||
};
|
||||
|
||||
static void scaled_pixel_callback(int16_t x, int16_t y, uint8_t count,
|
||||
uint8_t alpha, void *state)
|
||||
{
|
||||
struct scaled_renderstate *rstate = state;
|
||||
uint8_t dy;
|
||||
|
||||
count *= rstate->x_scale;
|
||||
x = rstate->x0 + x * rstate->x_scale;
|
||||
y = rstate->y0 + y * rstate->y_scale;
|
||||
|
||||
for (dy = 0; dy < rstate->y_scale; dy++)
|
||||
{
|
||||
rstate->orig_callback(x, y + dy, count, alpha, rstate->orig_state);
|
||||
}
|
||||
}
|
||||
|
||||
static uint8_t scaled_character_width(const struct mf_font_s *font,
|
||||
mf_char character)
|
||||
{
|
||||
struct mf_scaledfont_s *sfont = (struct mf_scaledfont_s*)font;
|
||||
uint8_t basewidth;
|
||||
|
||||
basewidth = sfont->basefont->character_width(sfont->basefont, character);
|
||||
|
||||
return sfont->x_scale * basewidth;
|
||||
}
|
||||
|
||||
static uint8_t scaled_render_character(const struct mf_font_s *font,
|
||||
int16_t x0, int16_t y0,
|
||||
mf_char character,
|
||||
mf_pixel_callback_t callback,
|
||||
void *state)
|
||||
{
|
||||
struct mf_scaledfont_s *sfont = (struct mf_scaledfont_s*)font;
|
||||
struct scaled_renderstate rstate;
|
||||
uint8_t basewidth;
|
||||
|
||||
rstate.orig_callback = callback;
|
||||
rstate.orig_state = state;
|
||||
rstate.x_scale = sfont->x_scale;
|
||||
rstate.y_scale = sfont->y_scale;
|
||||
rstate.x0 = x0;
|
||||
rstate.y0 = y0;
|
||||
|
||||
basewidth = sfont->basefont->render_character(sfont->basefont, 0, 0,
|
||||
character, scaled_pixel_callback, &rstate);
|
||||
|
||||
return sfont->x_scale * basewidth;
|
||||
}
|
||||
|
||||
void mf_scale_font(struct mf_scaledfont_s *newfont,
|
||||
const struct mf_font_s *basefont,
|
||||
uint8_t x_scale, uint8_t y_scale)
|
||||
{
|
||||
newfont->font = *basefont;
|
||||
newfont->basefont = basefont;
|
||||
|
||||
newfont->font.width *= x_scale;
|
||||
newfont->font.height *= y_scale;
|
||||
newfont->font.baseline_x *= x_scale;
|
||||
newfont->font.baseline_y *= y_scale;
|
||||
newfont->font.min_x_advance *= x_scale;
|
||||
newfont->font.max_x_advance *= x_scale;
|
||||
newfont->font.line_height *= y_scale;
|
||||
newfont->font.character_width = &scaled_character_width;
|
||||
newfont->font.render_character = &scaled_render_character;
|
||||
|
||||
newfont->x_scale = x_scale;
|
||||
newfont->y_scale = y_scale;
|
||||
}
|
||||
|
23
src/gdisp/mcufont/mf_scaledfont.h
Normal file
23
src/gdisp/mcufont/mf_scaledfont.h
Normal file
@ -0,0 +1,23 @@
|
||||
/* Generate scaled (nearest-neighbor) fonts. This can be used for displaying
|
||||
* larger text without spending the memory required for including larger fonts.
|
||||
*/
|
||||
|
||||
#ifndef _MF_SCALEDFONT_H_
|
||||
#define _MF_SCALEDFONT_H_
|
||||
|
||||
#include "mf_font.h"
|
||||
|
||||
struct mf_scaledfont_s
|
||||
{
|
||||
struct mf_font_s font;
|
||||
|
||||
const struct mf_font_s *basefont;
|
||||
uint8_t x_scale;
|
||||
uint8_t y_scale;
|
||||
};
|
||||
|
||||
MF_EXTERN void mf_scale_font(struct mf_scaledfont_s *newfont,
|
||||
const struct mf_font_s *basefont,
|
||||
uint8_t x_scale, uint8_t y_scale);
|
||||
|
||||
#endif
|
290
src/gdisp/mcufont/mf_wordwrap.c
Normal file
290
src/gdisp/mcufont/mf_wordwrap.c
Normal file
@ -0,0 +1,290 @@
|
||||
#include "mf_wordwrap.h"
|
||||
|
||||
/* Returns true if the line can be broken at this character. */
|
||||
static bool is_wrap_space(uint16_t c)
|
||||
{
|
||||
return c == ' ' || c == '\n' || c == '\t' || c == '\r' || c == '-';
|
||||
}
|
||||
|
||||
#if MF_USE_ADVANCED_WORDWRAP
|
||||
|
||||
/* Represents a single word and the whitespace after it. */
|
||||
struct wordlen_s
|
||||
{
|
||||
int16_t word; /* Length of the word in pixels. */
|
||||
int16_t space; /* Length of the whitespace in pixels. */
|
||||
uint16_t chars; /* Number of characters in word + space, combined. */
|
||||
};
|
||||
|
||||
/* Take the next word from the string and compute its width.
|
||||
* Returns true if the word ends in a linebreak. */
|
||||
static bool get_wordlen(const struct mf_font_s *font, mf_str *text,
|
||||
struct wordlen_s *result)
|
||||
{
|
||||
mf_char c;
|
||||
mf_str prev;
|
||||
|
||||
result->word = 0;
|
||||
result->space = 0;
|
||||
result->chars = 0;
|
||||
|
||||
c = mf_getchar(text);
|
||||
while (c && !is_wrap_space(c))
|
||||
{
|
||||
result->chars++;
|
||||
result->word += mf_character_width(font, c);
|
||||
c = mf_getchar(text);
|
||||
}
|
||||
|
||||
prev = *text;
|
||||
while (c && is_wrap_space(c))
|
||||
{
|
||||
result->chars++;
|
||||
|
||||
if (c == ' ')
|
||||
result->space += mf_character_width(font, c);
|
||||
else if (c == '\t')
|
||||
result->space += mf_character_width(font, 'm') * MF_TABSIZE;
|
||||
else if (c == '\n')
|
||||
break;
|
||||
|
||||
prev = *text;
|
||||
c = mf_getchar(text);
|
||||
}
|
||||
|
||||
/* The last loop reads the first character of next word, put it back. */
|
||||
if (c)
|
||||
*text = prev;
|
||||
|
||||
return (c == '\0' || c == '\n');
|
||||
}
|
||||
|
||||
/* Represents the rendered length for a single line. */
|
||||
struct linelen_s
|
||||
{
|
||||
mf_str start; /* Start of the text for line. */
|
||||
uint16_t chars; /* Total number of characters on the line. */
|
||||
int16_t width; /* Total length of all words + whitespace on the line in pixels. */
|
||||
bool linebreak; /* True if line ends in a linebreak */
|
||||
struct wordlen_s last_word; /* Last word on the line. */
|
||||
struct wordlen_s last_word_2; /* Second to last word on the line. */
|
||||
};
|
||||
|
||||
/* Append word onto the line if it fits. If it would overflow, don't add and
|
||||
* return false. */
|
||||
static bool append_word(const struct mf_font_s *font, int16_t width,
|
||||
struct linelen_s *current, mf_str *text)
|
||||
{
|
||||
mf_str tmp = *text;
|
||||
struct wordlen_s wordlen;
|
||||
bool linebreak;
|
||||
|
||||
linebreak = get_wordlen(font, &tmp, &wordlen);
|
||||
|
||||
if (current->width + wordlen.word <= width)
|
||||
{
|
||||
*text = tmp;
|
||||
current->last_word_2 = current->last_word;
|
||||
current->last_word = wordlen;
|
||||
current->linebreak = linebreak;
|
||||
current->chars += wordlen.chars;
|
||||
current->width += wordlen.word + wordlen.space;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/* Append a character to the line if it fits. */
|
||||
static bool append_char(const struct mf_font_s *font, int16_t width,
|
||||
struct linelen_s *current, mf_str *text)
|
||||
{
|
||||
mf_str tmp = *text;
|
||||
mf_char c;
|
||||
uint16_t w;
|
||||
|
||||
c = mf_getchar(&tmp);
|
||||
w = mf_character_width(font, c);
|
||||
|
||||
if (current->width + w <= width)
|
||||
{
|
||||
*text = tmp;
|
||||
current->chars++;
|
||||
current->width += w;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
static int16_t abs16(int16_t x) { return (x > 0) ? x : -x; }
|
||||
static int32_t sq16(int16_t x) { return (int32_t)x * x; }
|
||||
|
||||
/* Try to balance the lines by potentially moving one word from the previous
|
||||
* line to the the current one. */
|
||||
static void tune_lines(struct linelen_s *current, struct linelen_s *previous,
|
||||
int16_t max_width)
|
||||
{
|
||||
int16_t curw1, prevw1;
|
||||
int16_t curw2, prevw2;
|
||||
int32_t delta1, delta2;
|
||||
|
||||
/* If the lines are rendered as is */
|
||||
curw1 = current->width - current->last_word.space;
|
||||
prevw1 = previous->width - previous->last_word.space;
|
||||
delta1 = sq16(max_width - prevw1) + sq16(max_width - curw1);
|
||||
|
||||
/* If the last word is moved */
|
||||
curw2 = current->width + previous->last_word.word;
|
||||
prevw2 = previous->width - previous->last_word.word
|
||||
- previous->last_word.space
|
||||
- previous->last_word_2.space;
|
||||
delta2 = sq16(max_width - prevw2) + sq16(max_width - curw2);
|
||||
|
||||
if (delta1 > delta2 && curw2 <= max_width)
|
||||
{
|
||||
/* Do the change. */
|
||||
uint16_t chars;
|
||||
|
||||
chars = previous->last_word.chars;
|
||||
previous->chars -= chars;
|
||||
current->chars += chars;
|
||||
previous->width -= previous->last_word.word + previous->last_word.space;
|
||||
current->width += previous->last_word.word + previous->last_word.space;
|
||||
previous->last_word = previous->last_word_2;
|
||||
|
||||
while (chars--) mf_rewind(¤t->start);
|
||||
}
|
||||
}
|
||||
|
||||
void mf_wordwrap(const struct mf_font_s *font, int16_t width,
|
||||
mf_str text, mf_line_callback_t callback, void *state)
|
||||
{
|
||||
struct linelen_s current = {};
|
||||
struct linelen_s previous = {};
|
||||
bool full;
|
||||
|
||||
current.start = text;
|
||||
|
||||
while (*text)
|
||||
{
|
||||
full = !append_word(font, width, ¤t, &text);
|
||||
|
||||
if (full || current.linebreak)
|
||||
{
|
||||
if (!current.chars)
|
||||
{
|
||||
/* We have a very long word. We must just cut it off at some
|
||||
* point. */
|
||||
while (append_char(font, width, ¤t, &text));
|
||||
}
|
||||
|
||||
if (previous.chars)
|
||||
{
|
||||
/* Tune the length and dispatch the previous line. */
|
||||
if (!previous.linebreak && !current.linebreak)
|
||||
tune_lines(¤t, &previous, width);
|
||||
|
||||
if (!callback(previous.start, previous.chars, state))
|
||||
return;
|
||||
}
|
||||
|
||||
previous = current;
|
||||
current.start = text;
|
||||
current.chars = 0;
|
||||
current.width = 0;
|
||||
current.linebreak = false;
|
||||
current.last_word.word = 0;
|
||||
current.last_word.space = 0;
|
||||
current.last_word.chars = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* Dispatch the last lines. */
|
||||
if (previous.chars)
|
||||
{
|
||||
if (!callback(previous.start, previous.chars, state))
|
||||
return;
|
||||
}
|
||||
|
||||
if (current.chars)
|
||||
callback(current.start, current.chars, state);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void mf_wordwrap(const struct mf_font_s *font, int16_t width,
|
||||
mf_str text, mf_line_callback_t callback, void *state)
|
||||
{
|
||||
mf_str orig = text;
|
||||
mf_str linestart;
|
||||
|
||||
/* Current line width and character count */
|
||||
int16_t lw_cur = 0, cc_cur = 0;
|
||||
|
||||
/* Previous wrap point */
|
||||
int16_t cc_prev;
|
||||
mf_str ls_prev;
|
||||
|
||||
linestart = text;
|
||||
|
||||
while (*text)
|
||||
{
|
||||
cc_prev = 0;
|
||||
ls_prev = text;
|
||||
|
||||
while (*text)
|
||||
{
|
||||
mf_char c;
|
||||
int16_t new_width;
|
||||
mf_str tmp;
|
||||
|
||||
tmp = text;
|
||||
c = mf_getchar(&text);
|
||||
new_width = lw_cur + mf_character_width(font, c);
|
||||
|
||||
if (c == '\n')
|
||||
{
|
||||
cc_prev = cc_cur + 1;
|
||||
ls_prev = text;
|
||||
break;
|
||||
}
|
||||
|
||||
if (new_width > width)
|
||||
{
|
||||
text = tmp;
|
||||
break;
|
||||
}
|
||||
|
||||
cc_cur++;
|
||||
lw_cur = new_width;
|
||||
|
||||
if (is_wrap_space(c))
|
||||
{
|
||||
cc_prev = cc_cur;
|
||||
ls_prev = text;
|
||||
}
|
||||
}
|
||||
|
||||
/* Handle unbreakable words */
|
||||
if (cc_prev == 0)
|
||||
{
|
||||
cc_prev = cc_cur;
|
||||
ls_prev = text;
|
||||
}
|
||||
|
||||
if (!callback(linestart, cc_prev, state))
|
||||
return;
|
||||
|
||||
linestart = ls_prev;
|
||||
text = linestart;
|
||||
lw_cur = 0;
|
||||
cc_cur = 0;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
32
src/gdisp/mcufont/mf_wordwrap.h
Normal file
32
src/gdisp/mcufont/mf_wordwrap.h
Normal file
@ -0,0 +1,32 @@
|
||||
/* Word wrapping algorithm with UTF-8 support. More than just a basic greedy
|
||||
* word-wrapper: it attempts to balance consecutive lines as pairs.
|
||||
*/
|
||||
|
||||
#ifndef _MF_WORDWRAP_H_
|
||||
#define _MF_WORDWRAP_H_
|
||||
|
||||
#include "mf_rlefont.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
/* Callback function for handling each line.
|
||||
*
|
||||
* line: Pointer to the beginning of the string for this line.
|
||||
* count: Number of characters on the line.
|
||||
* state: Free variable that was passed to wordwrap().
|
||||
*
|
||||
* Returns: true to continue, false to stop after this line.
|
||||
*/
|
||||
typedef bool (*mf_line_callback_t) (mf_str line, uint16_t count,
|
||||
void *state);
|
||||
|
||||
/* Word wrap a piece of text. Calls the callback function for each line.
|
||||
*
|
||||
* font: Font to use for metrics.
|
||||
* width: Maximum line width in pixels.
|
||||
* text: Pointer to the start of the text to process.
|
||||
* state: Free variable for caller to use (can be NULL).
|
||||
*/
|
||||
MF_EXTERN void mf_wordwrap(const struct mf_font_s *font, int16_t width,
|
||||
mf_str text, mf_line_callback_t callback, void *state);
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user