mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
137 lines
5.6 KiB
C
137 lines
5.6 KiB
C
/*
|
|
* Copyright (C) 2016 Freie Universität Berlin
|
|
*
|
|
* This file is subject to the terms and conditions of the GNU Lesser
|
|
* General Public License v2.1. See the file LICENSE in the top level
|
|
* directory for more details.
|
|
*/
|
|
|
|
/**
|
|
* @ingroup sys_mineplex
|
|
* @{
|
|
*
|
|
* @file
|
|
* @brief This file contains the actual font data table
|
|
*
|
|
* @author Hauke Petersen <hauke.petersen@fu-berlin.de>
|
|
*
|
|
* @}
|
|
*/
|
|
|
|
#include "mineplex.h"
|
|
|
|
/**
|
|
* @brief The first and the last ASCII character contained in the table
|
|
*/
|
|
#define ASCII_MIN (0x20)
|
|
#define ASCII_MAX (0x7e)
|
|
|
|
/**
|
|
* @brief Table containing the Mineplex encoded ASCII characters
|
|
*/
|
|
static const uint8_t mineplex[][MINEPLEX_CHAR_H] = {
|
|
{ 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 20 SPACE*/
|
|
{ 0x02, 0x02, 0x02, 0x00, 0x02 }, /* 21 ! */
|
|
{ 0x0a, 0x0a, 0x00, 0x00, 0x00 }, /* 22 " */
|
|
{ 0x0a, 0x1f, 0x0a, 0x1f, 0x0a }, /* 23 # */
|
|
{ 0x1f, 0x05, 0x1f, 0x14, 0x1f }, /* 24 $ */
|
|
{ 0x11, 0x08, 0x04, 0x02, 0x11 }, /* 25 % */
|
|
{ 0x02, 0x05, 0x0e, 0x05, 0x0e }, /* 26 & */
|
|
{ 0x04, 0x04, 0x00, 0x00, 0x00 }, /* 27 ' */
|
|
{ 0x0c, 0x02, 0x02, 0x02, 0x0c }, /* 28 ( */
|
|
{ 0x06, 0x08, 0x08, 0x08, 0x06 }, /* 29 ) */
|
|
{ 0x00, 0x0a, 0x04, 0x0a, 0x00 }, /* 2a * */
|
|
{ 0x00, 0x04, 0x0e, 0x04, 0x00 }, /* 2b + */
|
|
{ 0x00, 0x00, 0x00, 0x02, 0x02 }, /* 2c , */
|
|
{ 0x00, 0x00, 0x0e, 0x00, 0x00 }, /* 2d - */
|
|
{ 0x00, 0x00, 0x00, 0x00, 0x02 }, /* 2e . */
|
|
{ 0x10, 0x08, 0x04, 0x02, 0x01 }, /* 2f / */
|
|
{ 0x06, 0x09, 0x09, 0x09, 0x06 }, /* 30 0 */
|
|
{ 0x06, 0x04, 0x04, 0x04, 0x0e }, /* 31 1 */
|
|
{ 0x06, 0x09, 0x04, 0x02, 0x0f }, /* 32 2 */
|
|
{ 0x06, 0x09, 0x04, 0x09, 0x06 }, /* 33 3 */
|
|
{ 0x09, 0x09, 0x0f, 0x08, 0x08 }, /* 34 4 */
|
|
{ 0x0f, 0x01, 0x07, 0x08, 0x07 }, /* 35 5 */
|
|
{ 0x0e, 0x01, 0x07, 0x09, 0x06 }, /* 36 6 */
|
|
{ 0x0f, 0x08, 0x08, 0x08, 0x08 }, /* 37 7 */
|
|
{ 0x06, 0x09, 0x06, 0x09, 0x06 }, /* 38 8 */
|
|
{ 0x06, 0x09, 0x0e, 0x08, 0x07 }, /* 39 9 */
|
|
{ 0x00, 0x02, 0x00, 0x00, 0x02 }, /* 3a : */
|
|
{ 0x00, 0x02, 0x00, 0x02, 0x02 }, /* 3b ; */
|
|
{ 0x08, 0x04, 0x02, 0x04, 0x08 }, /* 3c < */
|
|
{ 0x00, 0x0f, 0x00, 0x0f, 0x00 }, /* 3d = */
|
|
{ 0x02, 0x04, 0x08, 0x04, 0x02 }, /* 3e > */
|
|
{ 0x06, 0x09, 0x04, 0x00, 0x04 }, /* 3f ? */
|
|
{ 0x0e, 0x19, 0x1d, 0x15, 0x0e }, /* 40 @ */
|
|
{ 0x0f, 0x09, 0x0f, 0x09, 0x09 }, /* 41 A */
|
|
{ 0x07, 0x09, 0x07, 0x09, 0x07 }, /* 42 B */
|
|
{ 0x0f, 0x01, 0x01, 0x01, 0x0f }, /* 43 C */
|
|
{ 0x07, 0x09, 0x09, 0x09, 0x07 }, /* 44 D */
|
|
{ 0x0f, 0x01, 0x07, 0x01, 0x0f }, /* 45 E */
|
|
{ 0x0f, 0x01, 0x07, 0x01, 0x01 }, /* 46 F */
|
|
{ 0x0f, 0x01, 0x0d, 0x09, 0x0f }, /* 47 G */
|
|
{ 0x09, 0x09, 0x0f, 0x09, 0x09 }, /* 48 H */
|
|
{ 0x0e, 0x04, 0x04, 0x04, 0x0e }, /* 49 I */
|
|
{ 0x08, 0x08, 0x08, 0x09, 0x06 }, /* 4a J */
|
|
{ 0x09, 0x05, 0x03, 0x05, 0x09 }, /* 4b K */
|
|
{ 0x01, 0x01, 0x01, 0x01, 0x0f }, /* 4c L */
|
|
{ 0x1f, 0x15, 0x15, 0x11, 0x11 }, /* 4d M */
|
|
{ 0x09, 0x0b, 0x0d, 0x09, 0x09 }, /* 4e N */
|
|
{ 0x0f, 0x09, 0x09, 0x09, 0x0f }, /* 4f O */
|
|
{ 0x0f, 0x09, 0x0f, 0x01, 0x01 }, /* 50 P */
|
|
{ 0x0f, 0x09, 0x09, 0x05, 0x0b }, /* 51 Q */
|
|
{ 0x0f, 0x09, 0x07, 0x09, 0x09 }, /* 52 R */
|
|
{ 0x0f, 0x01, 0x0f, 0x08, 0x0f }, /* 53 S */
|
|
{ 0x1f, 0x04, 0x04, 0x04, 0x04 }, /* 54 T */
|
|
{ 0x09, 0x09, 0x09, 0x09, 0x0f }, /* 55 U */
|
|
{ 0x09, 0x09, 0x09, 0x09, 0x06 }, /* 56 V */
|
|
{ 0x11, 0x11, 0x15, 0x15, 0x1f }, /* 57 W */
|
|
{ 0x11, 0x0a, 0x04, 0x0a, 0x11 }, /* 58 X */
|
|
{ 0x11, 0x0a, 0x04, 0x04, 0x04 }, /* 59 Y */
|
|
{ 0x1f, 0x08, 0x04, 0x02, 0x1f }, /* 5a Z */
|
|
{ 0x0e, 0x02, 0x02, 0x02, 0x0e }, /* 5b [ */
|
|
{ 0x01, 0x02, 0x04, 0x08, 0x10 }, /* 5c \ */
|
|
{ 0x0e, 0x08, 0x08, 0x08, 0x0e }, /* 5d ] */
|
|
{ 0x04, 0x0a, 0x00, 0x00, 0x00 }, /* 5e ^ */
|
|
{ 0x00, 0x00, 0x00, 0x00, 0x0f }, /* 5f _ */
|
|
{ 0x06, 0x08, 0x00, 0x00, 0x00 }, /* 60 ` */
|
|
{ 0x0f, 0x09, 0x0f, 0x09, 0x09 }, /* 61 a */
|
|
{ 0x07, 0x09, 0x07, 0x09, 0x07 }, /* 62 b */
|
|
{ 0x0f, 0x01, 0x01, 0x01, 0x0f }, /* 63 c */
|
|
{ 0x07, 0x09, 0x09, 0x09, 0x07 }, /* 64 d */
|
|
{ 0x0f, 0x01, 0x07, 0x01, 0x0f }, /* 65 e */
|
|
{ 0x0f, 0x01, 0x07, 0x01, 0x01 }, /* 66 f */
|
|
{ 0x0f, 0x01, 0x0d, 0x09, 0x0f }, /* 67 g */
|
|
{ 0x09, 0x09, 0x0f, 0x09, 0x09 }, /* 68 h */
|
|
{ 0x0e, 0x04, 0x04, 0x04, 0x0e }, /* 69 i */
|
|
{ 0x08, 0x08, 0x08, 0x09, 0x06 }, /* 6a j */
|
|
{ 0x09, 0x05, 0x03, 0x05, 0x09 }, /* 6b k */
|
|
{ 0x01, 0x01, 0x01, 0x01, 0x0f }, /* 6c l */
|
|
{ 0x1f, 0x15, 0x15, 0x11, 0x11 }, /* 6d m */
|
|
{ 0x09, 0x0b, 0x0d, 0x09, 0x09 }, /* 6e n */
|
|
{ 0x0f, 0x09, 0x09, 0x09, 0x0f }, /* 6f o */
|
|
{ 0x0f, 0x09, 0x0f, 0x01, 0x01 }, /* 70 p */
|
|
{ 0x0f, 0x09, 0x09, 0x05, 0x0b }, /* 71 q */
|
|
{ 0x0f, 0x09, 0x07, 0x09, 0x09 }, /* 72 r */
|
|
{ 0x0f, 0x01, 0x0f, 0x08, 0x0f }, /* 73 s */
|
|
{ 0x1f, 0x04, 0x04, 0x04, 0x04 }, /* 74 t */
|
|
{ 0x09, 0x09, 0x09, 0x09, 0x0f }, /* 75 u */
|
|
{ 0x09, 0x09, 0x09, 0x09, 0x06 }, /* 76 v */
|
|
{ 0x11, 0x11, 0x15, 0x15, 0x1f }, /* 77 w */
|
|
{ 0x11, 0x0a, 0x04, 0x0a, 0x11 }, /* 78 x */
|
|
{ 0x11, 0x0a, 0x04, 0x04, 0x04 }, /* 79 y */
|
|
{ 0x1f, 0x08, 0x04, 0x02, 0x1f }, /* 7a z */
|
|
{ 0x0c, 0x02, 0x03, 0x02, 0x0c }, /* 7b { */
|
|
{ 0x04, 0x04, 0x04, 0x04, 0x04 }, /* 7c | */
|
|
{ 0x03, 0x04, 0x0c, 0x04, 0x03 }, /* 7d } */
|
|
{ 0x00, 0x0a, 0x05, 0x00, 0x00 } /* 7e ~ */
|
|
};
|
|
|
|
const uint8_t *mineplex_char(char c)
|
|
{
|
|
if ((c < ASCII_MIN) || (c > ASCII_MAX)) {
|
|
return mineplex[0];
|
|
}
|
|
return mineplex[((int)c) - ASCII_MIN];
|
|
}
|