From a034214512b009b3876cf6aa62ef4b31616bced1 Mon Sep 17 00:00:00 2001 From: d0k3 Date: Fri, 12 Jan 2018 15:01:55 +0100 Subject: [PATCH] Revised font system --- Makefile.common | 12 - arm9/source/common/font.h | 16 - arm9/source/common/font_6x10.h | 3082 ------------------------- arm9/source/common/font_acorn_8x8.h | 266 --- arm9/source/common/font_gb_7x6.h | 110 - arm9/source/common/font_orig.h | 142 -- arm9/source/common/ui.c | 134 +- arm9/source/common/ui.h | 17 +- arm9/source/godmode.c | 53 +- arm9/source/system/vram0.h | 1 + arm9/source/utils/scripting.c | 6 +- data/font.pbm | Bin 0 -> 2591 bytes resources/GodMode9_splash.png | Bin 19027 -> 0 bytes resources/SafeMode9_splash.png | Bin 24991 -> 0 bytes resources/SafeMode9_splash_old.png | Bin 18239 -> 0 bytes resources/fonts/font_6x10.pbm | Bin 0 -> 2591 bytes resources/fonts/font_acorn_8x8.pbm | Bin 0 -> 2079 bytes resources/fonts/font_gb_7x6.pbm | Bin 0 -> 1567 bytes resources/fonts/font_original_8x8.pbm | Bin 0 -> 2079 bytes resources/fonts/font_sheikah_8x8.pbm | Bin 0 -> 2079 bytes resources/fonts/font_zuish_8x8.pbm | Bin 0 -> 2079 bytes 21 files changed, 152 insertions(+), 3687 deletions(-) delete mode 100644 arm9/source/common/font.h delete mode 100644 arm9/source/common/font_6x10.h delete mode 100644 arm9/source/common/font_acorn_8x8.h delete mode 100644 arm9/source/common/font_gb_7x6.h delete mode 100644 arm9/source/common/font_orig.h create mode 100644 data/font.pbm delete mode 100644 resources/GodMode9_splash.png delete mode 100644 resources/SafeMode9_splash.png delete mode 100644 resources/SafeMode9_splash_old.png create mode 100644 resources/fonts/font_6x10.pbm create mode 100644 resources/fonts/font_acorn_8x8.pbm create mode 100644 resources/fonts/font_gb_7x6.pbm create mode 100644 resources/fonts/font_original_8x8.pbm create mode 100644 resources/fonts/font_sheikah_8x8.pbm create mode 100644 resources/fonts/font_zuish_8x8.pbm diff --git a/Makefile.common b/Makefile.common index 892b311..861bbc7 100644 --- a/Makefile.common +++ b/Makefile.common @@ -9,18 +9,6 @@ FLAVOR ?= GodMode9 README := README.md SPLASH = resources/$(FLAVOR)_splash.pcx -ifeq ($(FONT),ORIG) -CFLAGS += -DFONT_ORIGINAL -else ifeq ($(FONT),6X10) -CFLAGS += -DFONT_6X10 -else ifeq ($(FONT),ACORN) -CFLAGS += -DFONT_ACORN -else ifeq ($(FONT),GB) -CFLAGS += -DFONT_GB -else -CFLAGS += -DFONT_6X10 -endif - ifeq ($(FLAVOR),SafeMode9) CFLAGS += -DSAFEMODE endif diff --git a/arm9/source/common/font.h b/arm9/source/common/font.h deleted file mode 100644 index 72d8d1a..0000000 --- a/arm9/source/common/font.h +++ /dev/null @@ -1,16 +0,0 @@ -//--------------------------------------------------------------------------------- -#ifndef _font_h_ -#define _font_h_ -//--------------------------------------------------------------------------------- -#if defined FONT_6X10 -#include "font_6x10.h" -#elif defined FONT_ACORN -#include "font_acorn_8x8.h" -#elif defined FONT_GB -#include "font_gb_7x6.h" -#else -#include "font_orig.h" // if nothing is selected -#endif -//--------------------------------------------------------------------------------- -#endif //_font_h_ -//--------------------------------------------------------------------------------- diff --git a/arm9/source/common/font_6x10.h b/arm9/source/common/font_6x10.h deleted file mode 100644 index c980e2f..0000000 --- a/arm9/source/common/font_6x10.h +++ /dev/null @@ -1,3082 +0,0 @@ -//--------------------------------------------------------------------------------- -// Linux 6x10 font -// https://github.com/torvalds/linux/tree/master/lib/fonts -//--------------------------------------------------------------------------------- -#define FONT_WIDTH 6 -#define FONT_HEIGHT 10 -//--------------------------------------------------------------------------------- -static const unsigned char font[] = { - - /* 0 0x00 '^@' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 1 0x01 '^A' */ - 0x00, /* 00000000 */ - 0x78, /* 01111000 */ - 0x84, /* 10000100 */ - 0xCC, /* 11001100 */ - 0x84, /* 10000100 */ - 0xCC, /* 11001100 */ - 0xB4, /* 10110100 */ - 0x78, /* 01111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 2 0x02 '^B' */ - 0x00, /* 00000000 */ - 0x78, /* 01111000 */ - 0xFC, /* 11111100 */ - 0xB4, /* 10110100 */ - 0xFC, /* 11111100 */ - 0xB4, /* 10110100 */ - 0xCC, /* 11001100 */ - 0x78, /* 01111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 3 0x03 '^C' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x28, /* 00101000 */ - 0x7C, /* 01111100 */ - 0x7C, /* 01111100 */ - 0x38, /* 00111000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 4 0x04 '^D' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x7C, /* 01111100 */ - 0x38, /* 00111000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 5 0x05 '^E' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x38, /* 00111000 */ - 0x6C, /* 01101100 */ - 0x6C, /* 01101100 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 6 0x06 '^F' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x7C, /* 01111100 */ - 0x7C, /* 01111100 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 7 0x07 '^G' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x30, /* 00110000 */ - 0x78, /* 01111000 */ - 0x30, /* 00110000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 8 0x08 '^H' */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xCC, /* 11001100 */ - 0x84, /* 10000100 */ - 0xCC, /* 11001100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - - /* 9 0x09 '^I' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x30, /* 00110000 */ - 0x48, /* 01001000 */ - 0x84, /* 10000100 */ - 0x48, /* 01001000 */ - 0x30, /* 00110000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 10 0x0A '^J' */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xCC, /* 11001100 */ - 0xB4, /* 10110100 */ - 0x78, /* 01111000 */ - 0xB4, /* 10110100 */ - 0xCC, /* 11001100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - - /* 11 0x0B '^K' */ - 0x00, /* 00000000 */ - 0x3C, /* 00111100 */ - 0x14, /* 00010100 */ - 0x20, /* 00100000 */ - 0x78, /* 01111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 12 0x0C '^L' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 13 0x0D '^M' */ - 0x00, /* 00000000 */ - 0x18, /* 00011000 */ - 0x14, /* 00010100 */ - 0x14, /* 00010100 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x70, /* 01110000 */ - 0x60, /* 01100000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 14 0x0E '^N' */ - 0x00, /* 00000000 */ - 0x3C, /* 00111100 */ - 0x24, /* 00100100 */ - 0x3C, /* 00111100 */ - 0x24, /* 00100100 */ - 0x24, /* 00100100 */ - 0x6C, /* 01101100 */ - 0x6C, /* 01101100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 15 0x0F '^O' */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x54, /* 01010100 */ - 0x38, /* 00111000 */ - 0x6C, /* 01101100 */ - 0x38, /* 00111000 */ - 0x54, /* 01010100 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 16 0x10 '^P' */ - 0x00, /* 00000000 */ - 0x40, /* 01000000 */ - 0x60, /* 01100000 */ - 0x70, /* 01110000 */ - 0x78, /* 01111000 */ - 0x70, /* 01110000 */ - 0x60, /* 01100000 */ - 0x40, /* 01000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 17 0x11 '^Q' */ - 0x00, /* 00000000 */ - 0x04, /* 00000100 */ - 0x0C, /* 00001100 */ - 0x1C, /* 00011100 */ - 0x3C, /* 00111100 */ - 0x1C, /* 00011100 */ - 0x0C, /* 00001100 */ - 0x04, /* 00000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 18 0x12 '^R' */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x54, /* 01010100 */ - 0x10, /* 00010000 */ - 0x54, /* 01010100 */ - 0x38, /* 00111000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 19 0x13 '^S' */ - 0x00, /* 00000000 */ - 0x48, /* 01001000 */ - 0x48, /* 01001000 */ - 0x48, /* 01001000 */ - 0x48, /* 01001000 */ - 0x48, /* 01001000 */ - 0x00, /* 00000000 */ - 0x48, /* 01001000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 20 0x14 '^T' */ - 0x3C, /* 00111100 */ - 0x54, /* 01010100 */ - 0x54, /* 01010100 */ - 0x54, /* 01010100 */ - 0x3C, /* 00111100 */ - 0x14, /* 00010100 */ - 0x14, /* 00010100 */ - 0x14, /* 00010100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 21 0x15 '^U' */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x20, /* 00100000 */ - 0x50, /* 01010000 */ - 0x48, /* 01001000 */ - 0x24, /* 00100100 */ - 0x14, /* 00010100 */ - 0x08, /* 00001000 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - - /* 22 0x16 '^V' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0xF8, /* 11111000 */ - 0xF8, /* 11111000 */ - 0xF8, /* 11111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 23 0x17 '^W' */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x54, /* 01010100 */ - 0x10, /* 00010000 */ - 0x54, /* 01010100 */ - 0x38, /* 00111000 */ - 0x10, /* 00010000 */ - 0x7C, /* 01111100 */ - 0x00, /* 00000000 */ - - /* 24 0x18 '^X' */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x54, /* 01010100 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 25 0x19 '^Y' */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x54, /* 01010100 */ - 0x38, /* 00111000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 26 0x1A '^Z' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x08, /* 00001000 */ - 0x7C, /* 01111100 */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 27 0x1B '^[' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - 0x7C, /* 01111100 */ - 0x20, /* 00100000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 28 0x1C '^\' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x78, /* 01111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 29 0x1D '^]' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x48, /* 01001000 */ - 0x84, /* 10000100 */ - 0xFC, /* 11111100 */ - 0x84, /* 10000100 */ - 0x48, /* 01001000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 30 0x1E '^^' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x38, /* 00111000 */ - 0x7C, /* 01111100 */ - 0x7C, /* 01111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 31 0x1F '^_' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x7C, /* 01111100 */ - 0x38, /* 00111000 */ - 0x38, /* 00111000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 32 0x20 ' ' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 33 0x21 '!' */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 34 0x22 '"' */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 35 0x23 '#' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x28, /* 00101000 */ - 0x7C, /* 01111100 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x7C, /* 01111100 */ - 0x28, /* 00101000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 36 0x24 '$' */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x54, /* 01010100 */ - 0x50, /* 01010000 */ - 0x38, /* 00111000 */ - 0x14, /* 00010100 */ - 0x54, /* 01010100 */ - 0x38, /* 00111000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - - /* 37 0x25 '%' */ - 0x00, /* 00000000 */ - 0x64, /* 01100100 */ - 0x64, /* 01100100 */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - 0x4C, /* 01001100 */ - 0x4C, /* 01001100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 38 0x26 '&' */ - 0x00, /* 00000000 */ - 0x30, /* 00110000 */ - 0x48, /* 01001000 */ - 0x50, /* 01010000 */ - 0x20, /* 00100000 */ - 0x54, /* 01010100 */ - 0x48, /* 01001000 */ - 0x34, /* 00110100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 39 0x27 ''' */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 40 0x28 '(' */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - 0x20, /* 00100000 */ - 0x20, /* 00100000 */ - 0x20, /* 00100000 */ - 0x20, /* 00100000 */ - 0x10, /* 00010000 */ - 0x08, /* 00001000 */ - 0x00, /* 00000000 */ - - /* 41 0x29 ')' */ - 0x20, /* 00100000 */ - 0x10, /* 00010000 */ - 0x08, /* 00001000 */ - 0x08, /* 00001000 */ - 0x08, /* 00001000 */ - 0x08, /* 00001000 */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - 0x00, /* 00000000 */ - - /* 42 0x2A '*' */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x54, /* 01010100 */ - 0x38, /* 00111000 */ - 0x54, /* 01010100 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 43 0x2B '+' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x7C, /* 01111100 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 44 0x2C ',' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x30, /* 00110000 */ - 0x30, /* 00110000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - - /* 45 0x2D '-' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 46 0x2E '.' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x18, /* 00011000 */ - 0x18, /* 00011000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 47 0x2F '/' */ - 0x04, /* 00000100 */ - 0x04, /* 00000100 */ - 0x08, /* 00001000 */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - 0x20, /* 00100000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - - /* 48 0x30 '0' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x4C, /* 01001100 */ - 0x54, /* 01010100 */ - 0x64, /* 01100100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 49 0x31 '1' */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x30, /* 00110000 */ - 0x50, /* 01010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x7C, /* 01111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 50 0x32 '2' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x04, /* 00000100 */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - 0x7C, /* 01111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 51 0x33 '3' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x04, /* 00000100 */ - 0x18, /* 00011000 */ - 0x04, /* 00000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 52 0x34 '4' */ - 0x00, /* 00000000 */ - 0x08, /* 00001000 */ - 0x18, /* 00011000 */ - 0x28, /* 00101000 */ - 0x48, /* 01001000 */ - 0x7C, /* 01111100 */ - 0x08, /* 00001000 */ - 0x08, /* 00001000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 53 0x35 '5' */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x40, /* 01000000 */ - 0x78, /* 01111000 */ - 0x04, /* 00000100 */ - 0x04, /* 00000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 54 0x36 '6' */ - 0x00, /* 00000000 */ - 0x18, /* 00011000 */ - 0x20, /* 00100000 */ - 0x40, /* 01000000 */ - 0x78, /* 01111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 55 0x37 '7' */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x04, /* 00000100 */ - 0x04, /* 00000100 */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 56 0x38 '8' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 57 0x39 '9' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x3C, /* 00111100 */ - 0x04, /* 00000100 */ - 0x08, /* 00001000 */ - 0x30, /* 00110000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 58 0x3A ':' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x18, /* 00011000 */ - 0x18, /* 00011000 */ - 0x00, /* 00000000 */ - 0x18, /* 00011000 */ - 0x18, /* 00011000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 59 0x3B ';' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x30, /* 00110000 */ - 0x30, /* 00110000 */ - 0x00, /* 00000000 */ - 0x30, /* 00110000 */ - 0x30, /* 00110000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - - /* 60 0x3C '<' */ - 0x00, /* 00000000 */ - 0x04, /* 00000100 */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - 0x10, /* 00010000 */ - 0x08, /* 00001000 */ - 0x04, /* 00000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 61 0x3D '=' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 62 0x3E '>' */ - 0x00, /* 00000000 */ - 0x20, /* 00100000 */ - 0x10, /* 00010000 */ - 0x08, /* 00001000 */ - 0x04, /* 00000100 */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 63 0x3F '?' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x04, /* 00000100 */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 64 0x40 '@' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x5C, /* 01011100 */ - 0x54, /* 01010100 */ - 0x5C, /* 01011100 */ - 0x40, /* 01000000 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 65 0x41 'A' */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x28, /* 00101000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x7C, /* 01111100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 66 0x42 'B' */ - 0x00, /* 00000000 */ - 0x78, /* 01111000 */ - 0x24, /* 00100100 */ - 0x24, /* 00100100 */ - 0x38, /* 00111000 */ - 0x24, /* 00100100 */ - 0x24, /* 00100100 */ - 0x78, /* 01111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 67 0x43 'C' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 68 0x44 'D' */ - 0x00, /* 00000000 */ - 0x78, /* 01111000 */ - 0x24, /* 00100100 */ - 0x24, /* 00100100 */ - 0x24, /* 00100100 */ - 0x24, /* 00100100 */ - 0x24, /* 00100100 */ - 0x78, /* 01111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 69 0x45 'E' */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x78, /* 01111000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x7C, /* 01111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 70 0x46 'F' */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x78, /* 01111000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 71 0x47 'G' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x40, /* 01000000 */ - 0x5C, /* 01011100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 72 0x48 'H' */ - 0x00, /* 00000000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x7C, /* 01111100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 73 0x49 'I' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 74 0x4A 'J' */ - 0x00, /* 00000000 */ - 0x1C, /* 00011100 */ - 0x08, /* 00001000 */ - 0x08, /* 00001000 */ - 0x08, /* 00001000 */ - 0x48, /* 01001000 */ - 0x48, /* 01001000 */ - 0x30, /* 00110000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 75 0x4B 'K' */ - 0x00, /* 00000000 */ - 0x44, /* 01000100 */ - 0x48, /* 01001000 */ - 0x50, /* 01010000 */ - 0x60, /* 01100000 */ - 0x50, /* 01010000 */ - 0x48, /* 01001000 */ - 0x44, /* 01000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 76 0x4C 'L' */ - 0x00, /* 00000000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x7C, /* 01111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 77 0x4D 'M' */ - 0x00, /* 00000000 */ - 0x44, /* 01000100 */ - 0x6C, /* 01101100 */ - 0x54, /* 01010100 */ - 0x54, /* 01010100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 78 0x4E 'N' */ - 0x00, /* 00000000 */ - 0x44, /* 01000100 */ - 0x64, /* 01100100 */ - 0x54, /* 01010100 */ - 0x4C, /* 01001100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 79 0x4F 'O' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 80 0x50 'P' */ - 0x00, /* 00000000 */ - 0x78, /* 01111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x78, /* 01111000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 81 0x51 'Q' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x54, /* 01010100 */ - 0x48, /* 01001000 */ - 0x34, /* 00110100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 82 0x52 'R' */ - 0x00, /* 00000000 */ - 0x78, /* 01111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x78, /* 01111000 */ - 0x50, /* 01010000 */ - 0x48, /* 01001000 */ - 0x44, /* 01000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 83 0x53 'S' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x40, /* 01000000 */ - 0x38, /* 00111000 */ - 0x04, /* 00000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 84 0x54 'T' */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 85 0x55 'U' */ - 0x00, /* 00000000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 86 0x56 'V' */ - 0x00, /* 00000000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x28, /* 00101000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 87 0x57 'W' */ - 0x00, /* 00000000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x54, /* 01010100 */ - 0x54, /* 01010100 */ - 0x6C, /* 01101100 */ - 0x44, /* 01000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 88 0x58 'X' */ - 0x00, /* 00000000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x28, /* 00101000 */ - 0x10, /* 00010000 */ - 0x28, /* 00101000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 89 0x59 'Y' */ - 0x00, /* 00000000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x28, /* 00101000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 90 0x5A 'Z' */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x04, /* 00000100 */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - 0x40, /* 01000000 */ - 0x7C, /* 01111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 91 0x5B '[' */ - 0x18, /* 00011000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x18, /* 00011000 */ - 0x00, /* 00000000 */ - - /* 92 0x5C '\' */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x20, /* 00100000 */ - 0x20, /* 00100000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x08, /* 00001000 */ - 0x08, /* 00001000 */ - 0x04, /* 00000100 */ - 0x04, /* 00000100 */ - - /* 93 0x5D ']' */ - 0x30, /* 00110000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x30, /* 00110000 */ - 0x00, /* 00000000 */ - - /* 94 0x5E '^' */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x28, /* 00101000 */ - 0x44, /* 01000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 95 0x5F '_' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x00, /* 00000000 */ - - /* 96 0x60 '`' */ - 0x20, /* 00100000 */ - 0x10, /* 00010000 */ - 0x08, /* 00001000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 97 0x61 'a' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x04, /* 00000100 */ - 0x3C, /* 00111100 */ - 0x44, /* 01000100 */ - 0x3C, /* 00111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 98 0x62 'b' */ - 0x00, /* 00000000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x58, /* 01011000 */ - 0x64, /* 01100100 */ - 0x44, /* 01000100 */ - 0x64, /* 01100100 */ - 0x58, /* 01011000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 99 0x63 'c' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x40, /* 01000000 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 100 0x64 'd' */ - 0x00, /* 00000000 */ - 0x04, /* 00000100 */ - 0x04, /* 00000100 */ - 0x34, /* 00110100 */ - 0x4C, /* 01001100 */ - 0x44, /* 01000100 */ - 0x4C, /* 01001100 */ - 0x34, /* 00110100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 101 0x65 'e' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x7C, /* 01111100 */ - 0x40, /* 01000000 */ - 0x3C, /* 00111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 102 0x66 'f' */ - 0x00, /* 00000000 */ - 0x0C, /* 00001100 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 103 0x67 'g' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x34, /* 00110100 */ - 0x4C, /* 01001100 */ - 0x44, /* 01000100 */ - 0x4C, /* 01001100 */ - 0x34, /* 00110100 */ - 0x04, /* 00000100 */ - 0x38, /* 00111000 */ - - /* 104 0x68 'h' */ - 0x00, /* 00000000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x78, /* 01111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 105 0x69 'i' */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x30, /* 00110000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 106 0x6A 'j' */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x30, /* 00110000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x60, /* 01100000 */ - - /* 107 0x6B 'k' */ - 0x00, /* 00000000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x48, /* 01001000 */ - 0x50, /* 01010000 */ - 0x70, /* 01110000 */ - 0x48, /* 01001000 */ - 0x44, /* 01000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 108 0x6C 'l' */ - 0x00, /* 00000000 */ - 0x30, /* 00110000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 109 0x6D 'm' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x68, /* 01101000 */ - 0x54, /* 01010100 */ - 0x54, /* 01010100 */ - 0x54, /* 01010100 */ - 0x54, /* 01010100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 110 0x6E 'n' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x58, /* 01011000 */ - 0x64, /* 01100100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 111 0x6F 'o' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 112 0x70 'p' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x58, /* 01011000 */ - 0x64, /* 01100100 */ - 0x44, /* 01000100 */ - 0x64, /* 01100100 */ - 0x58, /* 01011000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - - /* 113 0x71 'q' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x34, /* 00110100 */ - 0x4C, /* 01001100 */ - 0x44, /* 01000100 */ - 0x4C, /* 01001100 */ - 0x34, /* 00110100 */ - 0x04, /* 00000100 */ - 0x04, /* 00000100 */ - - /* 114 0x72 'r' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x58, /* 01011000 */ - 0x64, /* 01100100 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 115 0x73 's' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x3C, /* 00111100 */ - 0x40, /* 01000000 */ - 0x38, /* 00111000 */ - 0x04, /* 00000100 */ - 0x78, /* 01111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 116 0x74 't' */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x0C, /* 00001100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 117 0x75 'u' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x4C, /* 01001100 */ - 0x34, /* 00110100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 118 0x76 'v' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x28, /* 00101000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 119 0x77 'w' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x54, /* 01010100 */ - 0x54, /* 01010100 */ - 0x54, /* 01010100 */ - 0x54, /* 01010100 */ - 0x28, /* 00101000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 120 0x78 'x' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x44, /* 01000100 */ - 0x28, /* 00101000 */ - 0x10, /* 00010000 */ - 0x28, /* 00101000 */ - 0x44, /* 01000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 121 0x79 'y' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x3C, /* 00111100 */ - 0x04, /* 00000100 */ - 0x38, /* 00111000 */ - - /* 122 0x7A 'z' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - 0x7C, /* 01111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 123 0x7B '{' */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x08, /* 00001000 */ - 0x00, /* 00000000 */ - - /* 124 0x7C '|' */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - - /* 125 0x7D '}' */ - 0x20, /* 00100000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - 0x00, /* 00000000 */ - - /* 126 0x7E '~' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x20, /* 00100000 */ - 0x54, /* 01010100 */ - 0x08, /* 00001000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 127 0x7F '' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x28, /* 00101000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x7C, /* 01111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 128 0x80 '\200' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - - /* 129 0x81 '\201' */ - 0x00, /* 00000000 */ - 0x28, /* 00101000 */ - 0x00, /* 00000000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x4C, /* 01001100 */ - 0x34, /* 00110100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 130 0x82 '\202' */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x7C, /* 01111100 */ - 0x40, /* 01000000 */ - 0x3C, /* 00111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 131 0x83 '\203' */ - 0x10, /* 00010000 */ - 0x28, /* 00101000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x04, /* 00000100 */ - 0x3C, /* 00111100 */ - 0x44, /* 01000100 */ - 0x3C, /* 00111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 132 0x84 '\204' */ - 0x00, /* 00000000 */ - 0x28, /* 00101000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x04, /* 00000100 */ - 0x3C, /* 00111100 */ - 0x44, /* 01000100 */ - 0x3C, /* 00111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 133 0x85 '\205' */ - 0x10, /* 00010000 */ - 0x08, /* 00001000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x04, /* 00000100 */ - 0x3C, /* 00111100 */ - 0x44, /* 01000100 */ - 0x3C, /* 00111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 134 0x86 '\206' */ - 0x18, /* 00011000 */ - 0x24, /* 00100100 */ - 0x18, /* 00011000 */ - 0x38, /* 00111000 */ - 0x04, /* 00000100 */ - 0x3C, /* 00111100 */ - 0x44, /* 01000100 */ - 0x3C, /* 00111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 135 0x87 '\207' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x40, /* 01000000 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - - /* 136 0x88 '\210' */ - 0x10, /* 00010000 */ - 0x28, /* 00101000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x7C, /* 01111100 */ - 0x40, /* 01000000 */ - 0x3C, /* 00111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 137 0x89 '\211' */ - 0x00, /* 00000000 */ - 0x28, /* 00101000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x7C, /* 01111100 */ - 0x40, /* 01000000 */ - 0x3C, /* 00111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 138 0x8A '\212' */ - 0x20, /* 00100000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x7C, /* 01111100 */ - 0x40, /* 01000000 */ - 0x3C, /* 00111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 139 0x8B '\213' */ - 0x00, /* 00000000 */ - 0x28, /* 00101000 */ - 0x00, /* 00000000 */ - 0x30, /* 00110000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 140 0x8C '\214' */ - 0x10, /* 00010000 */ - 0x28, /* 00101000 */ - 0x00, /* 00000000 */ - 0x30, /* 00110000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 141 0x8D '\215' */ - 0x20, /* 00100000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x30, /* 00110000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 142 0x8E '\216' */ - 0x44, /* 01000100 */ - 0x10, /* 00010000 */ - 0x28, /* 00101000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x7C, /* 01111100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 143 0x8F '\217' */ - 0x30, /* 00110000 */ - 0x48, /* 01001000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x7C, /* 01111100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 144 0x90 '\220' */ - 0x10, /* 00010000 */ - 0x7C, /* 01111100 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x78, /* 01111000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x7C, /* 01111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 145 0x91 '\221' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x78, /* 01111000 */ - 0x14, /* 00010100 */ - 0x7C, /* 01111100 */ - 0x50, /* 01010000 */ - 0x3C, /* 00111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 146 0x92 '\222' */ - 0x00, /* 00000000 */ - 0x3C, /* 00111100 */ - 0x50, /* 01010000 */ - 0x50, /* 01010000 */ - 0x78, /* 01111000 */ - 0x50, /* 01010000 */ - 0x50, /* 01010000 */ - 0x5C, /* 01011100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 147 0x93 '\223' */ - 0x10, /* 00010000 */ - 0x28, /* 00101000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 148 0x94 '\224' */ - 0x00, /* 00000000 */ - 0x28, /* 00101000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 149 0x95 '\225' */ - 0x20, /* 00100000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 150 0x96 '\226' */ - 0x10, /* 00010000 */ - 0x28, /* 00101000 */ - 0x00, /* 00000000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x4C, /* 01001100 */ - 0x34, /* 00110100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 151 0x97 '\227' */ - 0x20, /* 00100000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x4C, /* 01001100 */ - 0x34, /* 00110100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 152 0x98 '\230' */ - 0x00, /* 00000000 */ - 0x28, /* 00101000 */ - 0x00, /* 00000000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x3C, /* 00111100 */ - 0x04, /* 00000100 */ - 0x38, /* 00111000 */ - - /* 153 0x99 '\231' */ - 0x84, /* 10000100 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 154 0x9A '\232' */ - 0x88, /* 10001000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 155 0x9B '\233' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x54, /* 01010100 */ - 0x50, /* 01010000 */ - 0x54, /* 01010100 */ - 0x38, /* 00111000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - - /* 156 0x9C '\234' */ - 0x30, /* 00110000 */ - 0x48, /* 01001000 */ - 0x40, /* 01000000 */ - 0x70, /* 01110000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x44, /* 01000100 */ - 0x78, /* 01111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 157 0x9D '\235' */ - 0x00, /* 00000000 */ - 0x44, /* 01000100 */ - 0x28, /* 00101000 */ - 0x7C, /* 01111100 */ - 0x10, /* 00010000 */ - 0x7C, /* 01111100 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 158 0x9E '\236' */ - 0x00, /* 00000000 */ - 0x70, /* 01110000 */ - 0x48, /* 01001000 */ - 0x70, /* 01110000 */ - 0x48, /* 01001000 */ - 0x5C, /* 01011100 */ - 0x48, /* 01001000 */ - 0x44, /* 01000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 159 0x9F '\237' */ - 0x00, /* 00000000 */ - 0x0C, /* 00001100 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x60, /* 01100000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 160 0xA0 '\240' */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x04, /* 00000100 */ - 0x3C, /* 00111100 */ - 0x44, /* 01000100 */ - 0x3C, /* 00111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 161 0xA1 '\241' */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x30, /* 00110000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 162 0xA2 '\242' */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 163 0xA3 '\243' */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x4C, /* 01001100 */ - 0x34, /* 00110100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 164 0xA4 '\244' */ - 0x34, /* 00110100 */ - 0x58, /* 01011000 */ - 0x00, /* 00000000 */ - 0x58, /* 01011000 */ - 0x64, /* 01100100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 165 0xA5 '\245' */ - 0x58, /* 01011000 */ - 0x44, /* 01000100 */ - 0x64, /* 01100100 */ - 0x54, /* 01010100 */ - 0x4C, /* 01001100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 166 0xA6 '\246' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x04, /* 00000100 */ - 0x3C, /* 00111100 */ - 0x44, /* 01000100 */ - 0x3C, /* 00111100 */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 167 0xA7 '\247' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 168 0xA8 '\250' */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - 0x40, /* 01000000 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 169 0xA9 '\251' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 170 0xAA '\252' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x04, /* 00000100 */ - 0x04, /* 00000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 171 0xAB '\253' */ - 0x20, /* 00100000 */ - 0x60, /* 01100000 */ - 0x24, /* 00100100 */ - 0x28, /* 00101000 */ - 0x10, /* 00010000 */ - 0x28, /* 00101000 */ - 0x44, /* 01000100 */ - 0x08, /* 00001000 */ - 0x1C, /* 00011100 */ - 0x00, /* 00000000 */ - - /* 172 0xAC '\254' */ - 0x20, /* 00100000 */ - 0x60, /* 01100000 */ - 0x24, /* 00100100 */ - 0x28, /* 00101000 */ - 0x10, /* 00010000 */ - 0x28, /* 00101000 */ - 0x58, /* 01011000 */ - 0x3C, /* 00111100 */ - 0x08, /* 00001000 */ - 0x00, /* 00000000 */ - - /* 173 0xAD '\255' */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 174 0xAE '\256' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x24, /* 00100100 */ - 0x48, /* 01001000 */ - 0x90, /* 10010000 */ - 0x48, /* 01001000 */ - 0x24, /* 00100100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 175 0xAF '\257' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x90, /* 10010000 */ - 0x48, /* 01001000 */ - 0x24, /* 00100100 */ - 0x48, /* 01001000 */ - 0x90, /* 10010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 176 0xB0 '\260' */ - 0x10, /* 00010000 */ - 0x44, /* 01000100 */ - 0x10, /* 00010000 */ - 0x44, /* 01000100 */ - 0x10, /* 00010000 */ - 0x44, /* 01000100 */ - 0x10, /* 00010000 */ - 0x44, /* 01000100 */ - 0x10, /* 00010000 */ - 0x44, /* 01000100 */ - - /* 177 0xB1 '\261' */ - 0xA8, /* 10101000 */ - 0x54, /* 01010100 */ - 0xA8, /* 10101000 */ - 0x54, /* 01010100 */ - 0xA8, /* 10101000 */ - 0x54, /* 01010100 */ - 0xA8, /* 10101000 */ - 0x54, /* 01010100 */ - 0xA8, /* 10101000 */ - 0x54, /* 01010100 */ - - /* 178 0xB2 '\262' */ - 0xDC, /* 11011100 */ - 0x74, /* 01110100 */ - 0xDC, /* 11011100 */ - 0x74, /* 01110100 */ - 0xDC, /* 11011100 */ - 0x74, /* 01110100 */ - 0xDC, /* 11011100 */ - 0x74, /* 01110100 */ - 0xDC, /* 11011100 */ - 0x74, /* 01110100 */ - - /* 179 0xB3 '\263' */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - - /* 180 0xB4 '\264' */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0xF0, /* 11110000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - - /* 181 0xB5 '\265' */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0xF0, /* 11110000 */ - 0x10, /* 00010000 */ - 0xF0, /* 11110000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - - /* 182 0xB6 '\266' */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0xE8, /* 11101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - - /* 183 0xB7 '\267' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0xF8, /* 11111000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - - /* 184 0xB8 '\270' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0xF0, /* 11110000 */ - 0x10, /* 00010000 */ - 0xF0, /* 11110000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - - /* 185 0xB9 '\271' */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0xE8, /* 11101000 */ - 0x08, /* 00001000 */ - 0xE8, /* 11101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - - /* 186 0xBA '\272' */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - - /* 187 0xBB '\273' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0xF8, /* 11111000 */ - 0x08, /* 00001000 */ - 0xE8, /* 11101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - - /* 188 0xBC '\274' */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0xE8, /* 11101000 */ - 0x08, /* 00001000 */ - 0xF8, /* 11111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 189 0xBD '\275' */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0xF8, /* 11111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 190 0xBE '\276' */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0xF0, /* 11110000 */ - 0x10, /* 00010000 */ - 0xF0, /* 11110000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 191 0xBF '\277' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0xF0, /* 11110000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - - /* 192 0xC0 '\300' */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x1C, /* 00011100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 193 0xC1 '\301' */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0xFC, /* 11111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 194 0xC2 '\302' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0xFC, /* 11111100 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - - /* 195 0xC3 '\303' */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x1C, /* 00011100 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - - /* 196 0xC4 '\304' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0xFC, /* 11111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 197 0xC5 '\305' */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0xFC, /* 11111100 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - - /* 198 0xC6 '\306' */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x1C, /* 00011100 */ - 0x10, /* 00010000 */ - 0x1C, /* 00011100 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - - /* 199 0xC7 '\307' */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x2C, /* 00101100 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - - /* 200 0xC8 '\310' */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x2C, /* 00101100 */ - 0x20, /* 00100000 */ - 0x3C, /* 00111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 201 0xC9 '\311' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x3C, /* 00111100 */ - 0x20, /* 00100000 */ - 0x2C, /* 00101100 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - - /* 202 0xCA '\312' */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0xEC, /* 11101100 */ - 0x00, /* 00000000 */ - 0xFC, /* 11111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 203 0xCB '\313' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0xFC, /* 11111100 */ - 0x00, /* 00000000 */ - 0xEC, /* 11101100 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - - /* 204 0xCC '\314' */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x2C, /* 00101100 */ - 0x20, /* 00100000 */ - 0x2C, /* 00101100 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - - /* 205 0xCD '\315' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0xFC, /* 11111100 */ - 0x00, /* 00000000 */ - 0xFC, /* 11111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 206 0xCE '\316' */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0xEC, /* 11101100 */ - 0x00, /* 00000000 */ - 0xEC, /* 11101100 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - - /* 207 0xCF '\317' */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0xFC, /* 11111100 */ - 0x00, /* 00000000 */ - 0xFC, /* 11111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 208 0xD0 '\320' */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0xFC, /* 11111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 209 0xD1 '\321' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0xFC, /* 11111100 */ - 0x00, /* 00000000 */ - 0xFC, /* 11111100 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - - /* 210 0xD2 '\322' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0xFC, /* 11111100 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - - /* 211 0xD3 '\323' */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x3C, /* 00111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 212 0xD4 '\324' */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x1C, /* 00011100 */ - 0x10, /* 00010000 */ - 0x1C, /* 00011100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 213 0xD5 '\325' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x1C, /* 00011100 */ - 0x10, /* 00010000 */ - 0x1C, /* 00011100 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - - /* 214 0xD6 '\326' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x3C, /* 00111100 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - - /* 215 0xD7 '\327' */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0xFC, /* 11111100 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - - /* 216 0xD8 '\330' */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0xFC, /* 11111100 */ - 0x10, /* 00010000 */ - 0xFC, /* 11111100 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - - /* 217 0xD9 '\331' */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0xF0, /* 11110000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 218 0xDA '\332' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x1C, /* 00011100 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - - /* 219 0xDB '\333' */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - - /* 220 0xDC '\334' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - - /* 221 0xDD '\335' */ - 0xE0, /* 11100000 */ - 0xE0, /* 11100000 */ - 0xE0, /* 11100000 */ - 0xE0, /* 11100000 */ - 0xE0, /* 11100000 */ - 0xE0, /* 11100000 */ - 0xE0, /* 11100000 */ - 0xE0, /* 11100000 */ - 0xE0, /* 11100000 */ - 0xE0, /* 11100000 */ - - /* 222 0xDE '\336' */ - 0x1C, /* 00011100 */ - 0x1C, /* 00011100 */ - 0x1C, /* 00011100 */ - 0x1C, /* 00011100 */ - 0x1C, /* 00011100 */ - 0x1C, /* 00011100 */ - 0x1C, /* 00011100 */ - 0x1C, /* 00011100 */ - 0x1C, /* 00011100 */ - 0x1C, /* 00011100 */ - - /* 223 0xDF '\337' */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0xFC, /* 11111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 224 0xE0 '\340' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x34, /* 00110100 */ - 0x48, /* 01001000 */ - 0x48, /* 01001000 */ - 0x48, /* 01001000 */ - 0x34, /* 00110100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 225 0xE1 '\341' */ - 0x18, /* 00011000 */ - 0x24, /* 00100100 */ - 0x44, /* 01000100 */ - 0x48, /* 01001000 */ - 0x48, /* 01001000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x58, /* 01011000 */ - 0x40, /* 01000000 */ - 0x00, /* 00000000 */ - - /* 226 0xE2 '\342' */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 227 0xE3 '\343' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x28, /* 00101000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 228 0xE4 '\344' */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x24, /* 00100100 */ - 0x10, /* 00010000 */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x24, /* 00100100 */ - 0x7C, /* 01111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 229 0xE5 '\345' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x3C, /* 00111100 */ - 0x48, /* 01001000 */ - 0x48, /* 01001000 */ - 0x48, /* 01001000 */ - 0x30, /* 00110000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 230 0xE6 '\346' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x48, /* 01001000 */ - 0x48, /* 01001000 */ - 0x48, /* 01001000 */ - 0x48, /* 01001000 */ - 0x74, /* 01110100 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - - /* 231 0xE7 '\347' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x0C, /* 00001100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 232 0xE8 '\350' */ - 0x38, /* 00111000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 233 0xE9 '\351' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x7C, /* 01111100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 234 0xEA '\352' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x28, /* 00101000 */ - 0x6C, /* 01101100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 235 0xEB '\353' */ - 0x00, /* 00000000 */ - 0x18, /* 00011000 */ - 0x20, /* 00100000 */ - 0x18, /* 00011000 */ - 0x24, /* 00100100 */ - 0x24, /* 00100100 */ - 0x24, /* 00100100 */ - 0x18, /* 00011000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 236 0xEC '\354' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x54, /* 01010100 */ - 0x54, /* 01010100 */ - 0x54, /* 01010100 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 237 0xED '\355' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x04, /* 00000100 */ - 0x38, /* 00111000 */ - 0x54, /* 01010100 */ - 0x54, /* 01010100 */ - 0x38, /* 00111000 */ - 0x40, /* 01000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 238 0xEE '\356' */ - 0x00, /* 00000000 */ - 0x3C, /* 00111100 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x38, /* 00111000 */ - 0x40, /* 01000000 */ - 0x40, /* 01000000 */ - 0x3C, /* 00111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 239 0xEF '\357' */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x44, /* 01000100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 240 0xF0 '\360' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0xFC, /* 11111100 */ - 0x00, /* 00000000 */ - 0xFC, /* 11111100 */ - 0x00, /* 00000000 */ - 0xFC, /* 11111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 241 0xF1 '\361' */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x7C, /* 01111100 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 242 0xF2 '\362' */ - 0x00, /* 00000000 */ - 0x20, /* 00100000 */ - 0x10, /* 00010000 */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 243 0xF3 '\363' */ - 0x00, /* 00000000 */ - 0x08, /* 00001000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - 0x10, /* 00010000 */ - 0x08, /* 00001000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 244 0xF4 '\364' */ - 0x00, /* 00000000 */ - 0x0C, /* 00001100 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - - /* 245 0xF5 '\365' */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x10, /* 00010000 */ - 0x60, /* 01100000 */ - 0x00, /* 00000000 */ - - /* 246 0xF6 '\366' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x7C, /* 01111100 */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 247 0xF7 '\367' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x20, /* 00100000 */ - 0x54, /* 01010100 */ - 0x08, /* 00001000 */ - 0x20, /* 00100000 */ - 0x54, /* 01010100 */ - 0x08, /* 00001000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 248 0xF8 '\370' */ - 0x30, /* 00110000 */ - 0x48, /* 01001000 */ - 0x48, /* 01001000 */ - 0x30, /* 00110000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 249 0xF9 '\371' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x38, /* 00111000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 250 0xFA '\372' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x10, /* 00010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 251 0xFB '\373' */ - 0x00, /* 00000000 */ - 0x04, /* 00000100 */ - 0x08, /* 00001000 */ - 0x08, /* 00001000 */ - 0x50, /* 01010000 */ - 0x50, /* 01010000 */ - 0x20, /* 00100000 */ - 0x20, /* 00100000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 252 0xFC '\374' */ - 0x60, /* 01100000 */ - 0x50, /* 01010000 */ - 0x50, /* 01010000 */ - 0x50, /* 01010000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 253 0xFD '\375' */ - 0x60, /* 01100000 */ - 0x10, /* 00010000 */ - 0x20, /* 00100000 */ - 0x70, /* 01110000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 254 0xFE '\376' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x38, /* 00111000 */ - 0x38, /* 00111000 */ - 0x38, /* 00111000 */ - 0x38, /* 00111000 */ - 0x38, /* 00111000 */ - 0x38, /* 00111000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - - /* 255 0xFF '\377' */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ - 0x00, /* 00000000 */ -}; -const int font_size = sizeof(font); diff --git a/arm9/source/common/font_acorn_8x8.h b/arm9/source/common/font_acorn_8x8.h deleted file mode 100644 index 3f1c736..0000000 --- a/arm9/source/common/font_acorn_8x8.h +++ /dev/null @@ -1,266 +0,0 @@ -//--------------------------------------------------------------------------------- -// Linux Acorn 8x8 font -// https://github.com/torvalds/linux/tree/master/lib/fonts -//--------------------------------------------------------------------------------- -#define FONT_WIDTH 8 -#define FONT_HEIGHT 8 -//--------------------------------------------------------------------------------- -static const unsigned char font[] = { -/* 00 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ^@ */ -/* 01 */ 0x7e, 0x81, 0xa5, 0x81, 0xbd, 0x99, 0x81, 0x7e, /* ^A */ -/* 02 */ 0x7e, 0xff, 0xbd, 0xff, 0xc3, 0xe7, 0xff, 0x7e, /* ^B */ -/* 03 */ 0x6c, 0xfe, 0xfe, 0xfe, 0x7c, 0x38, 0x10, 0x00, /* ^C */ -/* 04 */ 0x10, 0x38, 0x7c, 0xfe, 0x7c, 0x38, 0x10, 0x00, /* ^D */ -/* 05 */ 0x00, 0x18, 0x3c, 0xe7, 0xe7, 0x3c, 0x18, 0x00, /* ^E */ -/* 06 */ 0x10, 0x38, 0x7c, 0xfe, 0xfe, 0x7c, 0x10, 0x38, -/* 07 */ 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x00, 0x00, -/* 08 */ 0xff, 0xff, 0xe7, 0xc3, 0xc3, 0xe7, 0xff, 0xff, -/* 09 */ 0x00, 0x3c, 0x66, 0x42, 0x42, 0x66, 0x3c, 0x00, -/* 0A */ 0xff, 0xc3, 0x99, 0xbd, 0xbd, 0x99, 0xc3, 0xff, -/* 0B */ 0x0f, 0x07, 0x0f, 0x7d, 0xcc, 0xcc, 0xcc, 0x78, -/* 0C */ 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x7e, 0x18, -/* 0D */ 0x3f, 0x33, 0x3f, 0x30, 0x30, 0x70, 0xf0, 0xe0, -/* 0E */ 0x7f, 0x63, 0x7f, 0x63, 0x63, 0x67, 0xe6, 0xc0, -/* 0F */ 0x18, 0xdb, 0x3c, 0xe7, 0xe7, 0x3c, 0xdb, 0x18, -/* 10 */ 0x00, 0x60, 0x78, 0x7e, 0x7e, 0x78, 0x60, 0x00, /* |> */ -/* 11 */ 0x00, 0x06, 0x1e, 0x7e, 0x7e, 0x1e, 0x06, 0x00, /* <| */ -/* 12 */ 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x7e, 0x3c, 0x18, -/* 13 */ 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x00, -/* 14 */ 0x7f, 0xdb, 0xdb, 0x7b, 0x1b, 0x1b, 0x1b, 0x00, -/* 15 */ 0x3c, 0x60, 0x3c, 0x66, 0x3c, 0x06, 0x3c, 0x00, -/* 16 */ 0x00, 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x7e, 0x00, -/* 17 */ 0x18, 0x3c, 0x7e, 0x18, 0x7e, 0x3c, 0x18, 0xff, -/* 18 */ 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x00, -/* 19 */ 0x18, 0x18, 0x18, 0x18, 0x7e, 0x3c, 0x18, 0x00, -/* 1A */ 0x00, 0x18, 0x0c, 0xfe, 0x0c, 0x18, 0x00, 0x00, -/* 1B */ 0x00, 0x30, 0x60, 0xfe, 0x60, 0x30, 0x00, 0x00, -/* 1C */ 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xfe, 0x00, 0x00, -/* 1D */ 0x00, 0x24, 0x66, 0xff, 0x66, 0x24, 0x00, 0x00, -/* 1E */ 0x00, 0x18, 0x18, 0x3c, 0x3c, 0x7e, 0x7e, 0x00, /* /\ */ -/* 1F */ 0x00, 0x7e, 0x7e, 0x3c, 0x3c, 0x18, 0x18, 0x00, /* \/ */ -/* 20 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* */ -/* 21 */ 0x18, 0x3c, 0x3c, 0x18, 0x18, 0x00, 0x18, 0x00, /* ! */ -/* 22 */ 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, /* " */ -/* 23 */ 0x36, 0x36, 0x7F, 0x36, 0x7F, 0x36, 0x36, 0x00, /* # */ -/* 24 */ 0x0C, 0x3F, 0x68, 0x3E, 0x0B, 0x7E, 0x18, 0x00, /* $ */ -/* 25 */ 0x60, 0x66, 0x0C, 0x18, 0x30, 0x66, 0x06, 0x00, /* % */ -/* 26 */ 0x38, 0x6C, 0x6C, 0x38, 0x6D, 0x66, 0x3B, 0x00, /* & */ -/* 27 */ 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, /* ' */ -/* 28 */ 0x0C, 0x18, 0x30, 0x30, 0x30, 0x18, 0x0C, 0x00, /* ( */ -/* 29 */ 0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x18, 0x30, 0x00, /* ) */ -/* 2A */ 0x00, 0x18, 0x7E, 0x3C, 0x7E, 0x18, 0x00, 0x00, /* * */ -/* 2B */ 0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00, /* + */ -/* 2C */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, /* , */ -/* 2D */ 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, /* - */ -/* 2E */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, /* . */ -/* 2F */ 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x00, 0x00, /* / */ -/* 30 */ 0x3C, 0x66, 0x6E, 0x7E, 0x76, 0x66, 0x3C, 0x00, /* 0 */ -/* 31 */ 0x18, 0x38, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00, /* 1 */ -/* 32 */ 0x3C, 0x66, 0x06, 0x0C, 0x18, 0x30, 0x7E, 0x00, /* 2 */ -/* 33 */ 0x3C, 0x66, 0x06, 0x1C, 0x06, 0x66, 0x3C, 0x00, /* 3 */ -/* 34 */ 0x0C, 0x1C, 0x3C, 0x6C, 0x7E, 0x0C, 0x0C, 0x00, /* 4 */ -/* 35 */ 0x7E, 0x60, 0x7C, 0x06, 0x06, 0x66, 0x3C, 0x00, /* 5 */ -/* 36 */ 0x1C, 0x30, 0x60, 0x7C, 0x66, 0x66, 0x3C, 0x00, /* 6 */ -/* 37 */ 0x7E, 0x06, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x00, /* 7 */ -/* 38 */ 0x3C, 0x66, 0x66, 0x3C, 0x66, 0x66, 0x3C, 0x00, /* 8 */ -/* 39 */ 0x3C, 0x66, 0x66, 0x3E, 0x06, 0x0C, 0x38, 0x00, /* 9 */ -/* 3A */ 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, /* : */ -/* 3B */ 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x30, /* ; */ -/* 3C */ 0x0C, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0C, 0x00, /* < */ -/* 3D */ 0x00, 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x00, 0x00, /* = */ -/* 3E */ 0x30, 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30, 0x00, /* > */ -/* 3F */ 0x3C, 0x66, 0x0C, 0x18, 0x18, 0x00, 0x18, 0x00, /* ? */ -/* 40 */ 0x3C, 0x66, 0x6E, 0x6A, 0x6E, 0x60, 0x3C, 0x00, /* @ */ -/* 41 */ 0x3C, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x66, 0x00, /* A */ -/* 42 */ 0x7C, 0x66, 0x66, 0x7C, 0x66, 0x66, 0x7C, 0x00, /* B */ -/* 43 */ 0x3C, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3C, 0x00, /* C */ -/* 44 */ 0x78, 0x6C, 0x66, 0x66, 0x66, 0x6C, 0x78, 0x00, /* D */ -/* 45 */ 0x7E, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x7E, 0x00, /* E */ -/* 46 */ 0x7E, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x60, 0x00, /* F */ -/* 47 */ 0x3C, 0x66, 0x60, 0x6E, 0x66, 0x66, 0x3C, 0x00, /* G */ -/* 48 */ 0x66, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x66, 0x00, /* H */ -/* 49 */ 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00, /* I */ -/* 4A */ 0x3E, 0x0C, 0x0C, 0x0C, 0x0C, 0x6C, 0x38, 0x00, /* J */ -/* 4B */ 0x66, 0x6C, 0x78, 0x70, 0x78, 0x6C, 0x66, 0x00, /* K */ -/* 4C */ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x00, /* L */ -/* 4D */ 0x63, 0x77, 0x7F, 0x6B, 0x6B, 0x63, 0x63, 0x00, /* M */ -/* 4E */ 0x66, 0x66, 0x76, 0x7E, 0x6E, 0x66, 0x66, 0x00, /* N */ -/* 4F */ 0x3C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00, /* O */ -/* 50 */ 0x7C, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x60, 0x00, /* P */ -/* 51 */ 0x3C, 0x66, 0x66, 0x66, 0x6A, 0x6C, 0x36, 0x00, /* Q */ -/* 52 */ 0x7C, 0x66, 0x66, 0x7C, 0x6C, 0x66, 0x66, 0x00, /* R */ -/* 53 */ 0x3C, 0x66, 0x60, 0x3C, 0x06, 0x66, 0x3C, 0x00, /* S */ -/* 54 */ 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, /* T */ -/* 55 */ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00, /* U */ -/* 56 */ 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00, /* V */ -/* 57 */ 0x63, 0x63, 0x6B, 0x6B, 0x7F, 0x77, 0x63, 0x00, /* W */ -/* 58 */ 0x66, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x66, 0x00, /* X */ -/* 59 */ 0x66, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x00, /* Y */ -/* 5A */ 0x7E, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x7E, 0x00, /* Z */ -/* 5B */ 0x7C, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7C, 0x00, /* [ */ -/* 5C */ 0x00, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x00, 0x00, /* \ */ -/* 5D */ 0x3E, 0x06, 0x06, 0x06, 0x06, 0x06, 0x3E, 0x00, /* ] */ -/* 5E */ 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ^ */ -/* 5F */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, /* _ */ -/* 60 */ 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ` */ -/* 61 */ 0x00, 0x00, 0x3C, 0x06, 0x3E, 0x66, 0x3E, 0x00, /* a */ -/* 62 */ 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x7C, 0x00, /* b */ -/* 63 */ 0x00, 0x00, 0x3C, 0x66, 0x60, 0x66, 0x3C, 0x00, /* c */ -/* 64 */ 0x06, 0x06, 0x3E, 0x66, 0x66, 0x66, 0x3E, 0x00, /* d */ -/* 65 */ 0x00, 0x00, 0x3C, 0x66, 0x7E, 0x60, 0x3C, 0x00, /* e */ -/* 66 */ 0x1C, 0x30, 0x30, 0x7C, 0x30, 0x30, 0x30, 0x00, /* f */ -/* 67 */ 0x00, 0x00, 0x3E, 0x66, 0x66, 0x3E, 0x06, 0x3C, /* g */ -/* 68 */ 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x00, /* h */ -/* 69 */ 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x3C, 0x00, /* i */ -/* 6A */ 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x70, /* j */ -/* 6B */ 0x60, 0x60, 0x66, 0x6C, 0x78, 0x6C, 0x66, 0x00, /* k */ -/* 6C */ 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, /* l */ -/* 6D */ 0x00, 0x00, 0x36, 0x7F, 0x6B, 0x6B, 0x63, 0x00, /* m */ -/* 6E */ 0x00, 0x00, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x00, /* n */ -/* 6F */ 0x00, 0x00, 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x00, /* o */ -/* 70 */ 0x00, 0x00, 0x7C, 0x66, 0x66, 0x7C, 0x60, 0x60, /* p */ -/* 71 */ 0x00, 0x00, 0x3E, 0x66, 0x66, 0x3E, 0x06, 0x07, /* q */ -/* 72 */ 0x00, 0x00, 0x6C, 0x76, 0x60, 0x60, 0x60, 0x00, /* r */ -/* 73 */ 0x00, 0x00, 0x3E, 0x60, 0x3C, 0x06, 0x7C, 0x00, /* s */ -/* 74 */ 0x30, 0x30, 0x7C, 0x30, 0x30, 0x30, 0x1C, 0x00, /* t */ -/* 75 */ 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3E, 0x00, /* u */ -/* 76 */ 0x00, 0x00, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00, /* v */ -/* 77 */ 0x00, 0x00, 0x63, 0x6B, 0x6B, 0x7F, 0x36, 0x00, /* w */ -/* 78 */ 0x00, 0x00, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x00, /* x */ -/* 79 */ 0x00, 0x00, 0x66, 0x66, 0x66, 0x3E, 0x06, 0x3C, /* y */ -/* 7A */ 0x00, 0x00, 0x7E, 0x0C, 0x18, 0x30, 0x7E, 0x00, /* z */ -/* 7B */ 0x0C, 0x18, 0x18, 0x70, 0x18, 0x18, 0x0C, 0x00, /* { */ -/* 7C */ 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, /* | */ -/* 7D */ 0x30, 0x18, 0x18, 0x0E, 0x18, 0x18, 0x30, 0x00, /* } */ -/* 7E */ 0x31, 0x6B, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, /* ~ */ -/* 7F */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /*  */ -/* 80 */ 0x3c, 0x66, 0x60, 0x60, 0x66, 0x3c, 0x30, 0x60, -/* 81 */ 0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00, -/* 82 */ 0x0c, 0x18, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00, -/* 83 */ 0x18, 0x66, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00, -/* 84 */ 0x66, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00, -/* 85 */ 0x30, 0x18, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00, -/* 86 */ 0x3c, 0x66, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00, -/* 87 */ 0x00, 0x00, 0x3c, 0x66, 0x60, 0x66, 0x3c, 0x60, -/* 88 */ 0x3c, 0x66, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00, -/* 89 */ 0x66, 0x00, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00, -/* 8A */ 0x30, 0x18, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00, -/* 8B */ 0x66, 0x00, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00, -/* 8C */ 0x3c, 0x66, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00, -/* 8D */ 0x30, 0x18, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00, -/* 8E */ 0x66, 0x66, 0x00, 0x3c, 0x66, 0x7e, 0x66, 0x00, -/* 8F */ 0x18, 0x66, 0x00, 0x3c, 0x66, 0x7e, 0x66, 0x00, -/* 90 */ 0x0c, 0x18, 0x7e, 0x60, 0x7c, 0x60, 0x7e, 0x00, -/* 91 */ 0x00, 0x00, 0x3f, 0x0d, 0x3f, 0x6c, 0x3f, 0x00, -/* 92 */ 0x3f, 0x66, 0x66, 0x7f, 0x66, 0x66, 0x67, 0x00, -/* 93 */ 0x3c, 0x66, 0x00, 0x3c, 0x66, 0x66, 0x3c, 0x00, -/* 94 */ 0x66, 0x00, 0x00, 0x3c, 0x66, 0x66, 0x3c, 0x00, -/* 95 */ 0x30, 0x18, 0x00, 0x3c, 0x66, 0x66, 0x3c, 0x00, -/* 96 */ 0x3c, 0x66, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x00, -/* 97 */ 0x30, 0x18, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x00, -/* 98 */ 0x66, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x06, 0x3c, -/* 99 */ 0x66, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00, -/* 9A */ 0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, -/* 9B */ 0x08, 0x3e, 0x6b, 0x68, 0x6b, 0x3e, 0x08, 0x00, -/* 9C */ 0x1c, 0x36, 0x30, 0x7c, 0x30, 0x30, 0x7e, 0x00, -/* 9D */ 0x66, 0x3c, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, -/* 9E */ 0xf8, 0xcc, 0xcc, 0xfa, 0xc6, 0xcf, 0xc6, 0xc7, -/* 9F */ 0x0e, 0x1b, 0x18, 0x3c, 0x18, 0xd8, 0x70, 0x00, -/* A0 */ 0x0c, 0x18, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00, -/* A1 */ 0x0c, 0x18, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00, -/* A2 */ 0x0c, 0x18, 0x00, 0x3c, 0x66, 0x66, 0x3c, 0x00, -/* A3 */ 0x0c, 0x18, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x00, -/* A4 */ 0x36, 0x6c, 0x00, 0x7c, 0x66, 0x66, 0x66, 0x00, -/* A5 */ 0x36, 0x6c, 0x00, 0x66, 0x76, 0x6e, 0x66, 0x00, -/* A6 */ 0x1c, 0x06, 0x1e, 0x36, 0x1e, 0x00, 0x3e, 0x00, -/* A7 */ 0x1c, 0x36, 0x36, 0x36, 0x1c, 0x00, 0x3e, 0x00, -/* A8 */ 0x18, 0x00, 0x18, 0x18, 0x30, 0x66, 0x3c, 0x00, -/* A9 */ 0x7e, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -/* AA */ 0x7e, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -/* AB */ 0x40, 0xc0, 0x40, 0x4f, 0x41, 0x0f, 0x08, 0x0f, -/* AC */ 0x40, 0xc0, 0x40, 0x48, 0x48, 0x0a, 0x0f, 0x02, -/* AD */ 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, -/* AE */ 0x00, 0x33, 0x66, 0xcc, 0xcc, 0x66, 0x33, 0x00, -/* AF */ 0x00, 0xcc, 0x66, 0x33, 0x33, 0x66, 0xcc, 0x00, -/* B0 */ 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, -/* B1 */ 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, -/* B2 */ 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, -/* B3 */ 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, -/* B4 */ 0x18, 0x18, 0x18, 0xf8, 0x18, 0x18, 0x18, 0x18, -/* B5 */ 0x18, 0x18, 0xf8, 0x18, 0xf8, 0x18, 0x18, 0x18, -/* B6 */ 0x66, 0x66, 0x66, 0xe6, 0x66, 0x66, 0x66, 0x66, -/* B7 */ 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0x66, 0x66, -/* B8 */ 0x00, 0x00, 0xf8, 0x18, 0xf8, 0x18, 0x18, 0x18, -/* B9 */ 0x66, 0x66, 0xe6, 0x06, 0xe6, 0x66, 0x66, 0x66, -/* BA */ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, -/* BB */ 0x00, 0x00, 0xfe, 0x06, 0xe6, 0x66, 0x66, 0x66, -/* BC */ 0x66, 0x66, 0xe6, 0x06, 0xfe, 0x00, 0x00, 0x00, -/* BD */ 0x66, 0x66, 0x66, 0xfe, 0x00, 0x00, 0x00, 0x00, -/* BE */ 0x18, 0x18, 0xf8, 0x18, 0xf8, 0x00, 0x00, 0x00, -/* BF */ 0x00, 0x00, 0x00, 0xf8, 0x18, 0x18, 0x18, 0x18, -/* C0 */ 0x18, 0x18, 0x18, 0x1f, 0x00, 0x00, 0x00, 0x00, -/* C1 */ 0x18, 0x18, 0x18, 0xff, 0x00, 0x00, 0x00, 0x00, -/* C2 */ 0x00, 0x00, 0x00, 0xff, 0x18, 0x18, 0x18, 0x18, -/* C3 */ 0x18, 0x18, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x18, -/* C4 */ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, -/* C5 */ 0x18, 0x18, 0x18, 0xff, 0x18, 0x18, 0x18, 0x18, -/* C6 */ 0x18, 0x18, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18, -/* C7 */ 0x66, 0x66, 0x66, 0x67, 0x66, 0x66, 0x66, 0x66, -/* C8 */ 0x66, 0x66, 0x67, 0x60, 0x7f, 0x00, 0x00, 0x00, -/* C9 */ 0x00, 0x00, 0x7f, 0x60, 0x67, 0x66, 0x66, 0x66, -/* CA */ 0x66, 0x66, 0xe7, 0x00, 0xff, 0x00, 0x00, 0x00, -/* CB */ 0x00, 0x00, 0xff, 0x00, 0xe7, 0x66, 0x66, 0x66, -/* CC */ 0x66, 0x66, 0x67, 0x60, 0x67, 0x66, 0x66, 0x66, -/* CD */ 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, -/* CE */ 0x66, 0x66, 0xe7, 0x00, 0xe7, 0x66, 0x66, 0x66, -/* CF */ 0x18, 0x18, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, -/* D0 */ 0x66, 0x66, 0x66, 0xff, 0x00, 0x00, 0x00, 0x00, -/* D1 */ 0x00, 0x00, 0xff, 0x00, 0xff, 0x18, 0x18, 0x18, -/* D2 */ 0x00, 0x00, 0x00, 0xff, 0x66, 0x66, 0x66, 0x66, -/* D3 */ 0x66, 0x66, 0x66, 0x7f, 0x00, 0x00, 0x00, 0x00, -/* D4 */ 0x18, 0x18, 0x1f, 0x18, 0x1f, 0x00, 0x00, 0x00, -/* D5 */ 0x00, 0x00, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18, -/* D6 */ 0x00, 0x00, 0x00, 0x7f, 0x66, 0x66, 0x66, 0x66, -/* D7 */ 0x66, 0x66, 0x66, 0xff, 0x66, 0x66, 0x66, 0x66, -/* D8 */ 0x18, 0x18, 0xff, 0x18, 0xff, 0x18, 0x18, 0x18, -/* D9 */ 0x18, 0x18, 0x18, 0xf8, 0x00, 0x00, 0x00, 0x00, -/* DA */ 0x00, 0x00, 0x00, 0x1f, 0x18, 0x18, 0x18, 0x18, -/* DB */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -/* DC */ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, -/* DD */ 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, -/* DE */ 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, -/* DF */ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, -/* E0 */ 0x00, 0x00, 0x76, 0xdc, 0xc8, 0xdc, 0x76, 0x00, -/* E1 */ 0x3c, 0x66, 0x66, 0x6c, 0x66, 0x66, 0x6c, 0xc0, -/* E2 */ 0xfe, 0xc6, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, -/* E3 */ 0x00, 0x00, 0xfe, 0x6c, 0x6c, 0x6c, 0x6c, 0x00, -/* E4 */ 0xfe, 0xc6, 0x60, 0x30, 0x60, 0xc6, 0xfe, 0x00, -/* E5 */ 0x00, 0x00, 0x7e, 0xd8, 0xd8, 0xd8, 0x70, 0x00, -/* E6 */ 0x00, 0x00, 0x33, 0x33, 0x33, 0x33, 0x3e, 0x60, -/* E7 */ 0x00, 0x76, 0xdc, 0x18, 0x18, 0x18, 0x18, 0x00, -/* E8 */ 0x7e, 0x18, 0x3c, 0x66, 0x66, 0x3c, 0x18, 0x7e, -/* E9 */ 0x38, 0x6c, 0xc6, 0xfe, 0xc6, 0x6c, 0x38, 0x00, -/* EA */ 0x38, 0x6c, 0xc6, 0xc6, 0x6c, 0x6c, 0xee, 0x00, -/* EB */ 0x0e, 0x18, 0x0c, 0x3e, 0x66, 0x66, 0x3c, 0x00, -/* EC */ 0x00, 0x00, 0x7e, 0xdb, 0xdb, 0x7e, 0x00, 0x00, -/* ED */ 0x06, 0x0c, 0x7e, 0xdb, 0xdb, 0x7e, 0x60, 0xc0, -/* EE */ 0x1e, 0x30, 0x60, 0x7e, 0x60, 0x30, 0x1e, 0x00, -/* EF */ 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x00, -/* F0 */ 0x00, 0xfe, 0x00, 0xfe, 0x00, 0xfe, 0x00, 0x00, -/* F1 */ 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x7e, 0x00, -/* F2 */ 0x30, 0x18, 0x0c, 0x18, 0x30, 0x00, 0x7e, 0x00, -/* F3 */ 0x0c, 0x18, 0x30, 0x18, 0x0c, 0x00, 0x7e, 0x00, -/* F4 */ 0x0e, 0x1b, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, -/* F5 */ 0x18, 0x18, 0x18, 0x18, 0x18, 0xd8, 0xd8, 0x70, -/* F6 */ 0x00, 0x18, 0x00, 0xff, 0x00, 0x18, 0x00, 0x00, -/* F7 */ 0x00, 0x76, 0xdc, 0x00, 0x76, 0xdc, 0x00, 0x00, -/* F8 */ 0x3c, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, -/* F9 */ 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, -/* FA */ 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, -/* FB */ 0x0f, 0x0c, 0x0c, 0x0c, 0xec, 0x6c, 0x3c, 0x1c, -/* FC */ 0x6c, 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, -/* FD */ 0x38, 0x04, 0x18, 0x20, 0x3c, 0x00, 0x00, 0x00, -/* FE */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00, -/* FF */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -}; -const int font_size = sizeof(font); diff --git a/arm9/source/common/font_gb_7x6.h b/arm9/source/common/font_gb_7x6.h deleted file mode 100644 index bed1865..0000000 --- a/arm9/source/common/font_gb_7x6.h +++ /dev/null @@ -1,110 +0,0 @@ -/* - This file was autogenerated by raw2c. -Visit http://www.devkitpro.org -*/ -//--------------------------------------------------------------------------------- -// GB Font by Ennea -//--------------------------------------------------------------------------------- -#define FONT_WIDTH 7 -#define FONT_HEIGHT 6 -//--------------------------------------------------------------------------------- -static const unsigned char font[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x30, 0x78, 0xfc, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xfc, 0x78, 0x30, 0x10, 0x18, 0xfc, 0xfc, - 0x18, 0x10, 0x20, 0x60, 0xfc, 0xfc, 0x60, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x30, 0xd8, 0xd8, 0x90, 0x00, - 0x00, 0x00, 0x28, 0x7c, 0x28, 0x50, 0xf8, 0x50, 0x30, 0x78, 0x70, 0x38, 0x78, 0x30, 0x44, 0xe8, - 0x50, 0x28, 0x5c, 0x88, 0x60, 0x90, 0x40, 0xa8, 0x90, 0x6c, 0x30, 0x30, 0x20, 0x00, 0x00, 0x00, - 0x30, 0x60, 0x60, 0x60, 0x60, 0x30, 0x30, 0x18, 0x18, 0x18, 0x18, 0x30, 0x00, 0x30, 0x78, 0x30, - 0x48, 0x00, 0x30, 0x30, 0xfc, 0xfc, 0x30, 0x30, 0x00, 0x00, 0x00, 0x30, 0x30, 0x20, 0x00, 0x00, - 0x78, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x08, 0x18, 0x30, 0x30, 0x60, 0x40, - 0x78, 0xcc, 0xdc, 0xec, 0xcc, 0x78, 0x30, 0x70, 0x30, 0x30, 0x30, 0x78, 0x78, 0x9c, 0x1c, 0x78, - 0xe0, 0xfc, 0xf8, 0x1c, 0x78, 0x1c, 0x1c, 0xf8, 0x78, 0xd8, 0x98, 0x98, 0xfc, 0x18, 0xf8, 0xc0, - 0xf8, 0x1c, 0x9c, 0x78, 0x78, 0xc0, 0xf8, 0xcc, 0xcc, 0x78, 0xfc, 0x0c, 0x18, 0x30, 0x70, 0x70, - 0x78, 0x9c, 0x78, 0x9c, 0x9c, 0x78, 0x78, 0x9c, 0x9c, 0x7c, 0x1c, 0x78, 0x00, 0x30, 0x30, 0x00, - 0x30, 0x30, 0x00, 0x30, 0x30, 0x00, 0x30, 0x20, 0x0c, 0x38, 0xe0, 0xe0, 0x38, 0x0c, 0x00, 0xfc, - 0xfc, 0x00, 0xfc, 0xfc, 0xc0, 0x70, 0x1c, 0x1c, 0x70, 0xc0, 0x78, 0x9c, 0x1c, 0x38, 0x00, 0x30, - 0x38, 0x44, 0xbc, 0xa4, 0xdc, 0x60, 0x78, 0x9c, 0x9c, 0xfc, 0x9c, 0x9c, 0xf8, 0xcc, 0xf8, 0xcc, - 0xcc, 0xf8, 0x78, 0xcc, 0xc0, 0xc0, 0xcc, 0x78, 0xf8, 0x9c, 0x9c, 0x9c, 0x9c, 0xf8, 0xfc, 0xc0, - 0xf8, 0xc0, 0xc0, 0xfc, 0xfc, 0xc0, 0xc0, 0xf8, 0xc0, 0xc0, 0x78, 0xcc, 0xc0, 0xdc, 0xcc, 0x7c, - 0x8c, 0x8c, 0xfc, 0x8c, 0x8c, 0x8c, 0x78, 0x30, 0x30, 0x30, 0x30, 0x78, 0x3c, 0x18, 0x18, 0xd8, - 0xd8, 0x70, 0xcc, 0xd8, 0xf0, 0xf0, 0xd8, 0xcc, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xfc, 0x8c, 0xdc, - 0xfc, 0xac, 0x8c, 0x8c, 0x8c, 0xcc, 0xec, 0xbc, 0x9c, 0x8c, 0x78, 0xcc, 0xcc, 0xcc, 0xcc, 0x78, - 0xf8, 0xcc, 0xcc, 0xf8, 0xc0, 0xc0, 0x78, 0xc4, 0xc4, 0xd4, 0xc8, 0x74, 0xf8, 0xcc, 0xcc, 0xf8, - 0xd0, 0xcc, 0x78, 0xc0, 0x78, 0x1c, 0x9c, 0x78, 0xfc, 0x30, 0x30, 0x30, 0x30, 0x30, 0x8c, 0x8c, - 0x8c, 0x8c, 0x9c, 0x78, 0x8c, 0x8c, 0x8c, 0x8c, 0x58, 0x30, 0x8c, 0x8c, 0xac, 0xfc, 0xdc, 0x8c, - 0x8c, 0x58, 0x30, 0x70, 0xc8, 0x84, 0xcc, 0xcc, 0x78, 0x30, 0x30, 0x30, 0xfc, 0x1c, 0x38, 0x70, - 0xe0, 0xfc, 0x70, 0x60, 0x60, 0x60, 0x60, 0x70, 0x40, 0x60, 0x30, 0x30, 0x18, 0x08, 0x38, 0x18, - 0x18, 0x18, 0x18, 0x38, 0x30, 0x78, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, - 0x30, 0x30, 0x10, 0x00, 0x00, 0x00, 0x78, 0x9c, 0x9c, 0xfc, 0x9c, 0x9c, 0xf8, 0xcc, 0xf8, 0xcc, - 0xcc, 0xf8, 0x78, 0xcc, 0xc0, 0xc0, 0xcc, 0x78, 0xf8, 0x9c, 0x9c, 0x9c, 0x9c, 0xf8, 0xfc, 0xc0, - 0xf8, 0xc0, 0xc0, 0xfc, 0xfc, 0xc0, 0xc0, 0xf8, 0xc0, 0xc0, 0x78, 0xcc, 0xc0, 0xdc, 0xcc, 0x7c, - 0x8c, 0x8c, 0xfc, 0x8c, 0x8c, 0x8c, 0x78, 0x30, 0x30, 0x30, 0x30, 0x78, 0x3c, 0x18, 0x18, 0xd8, - 0xd8, 0x70, 0xcc, 0xd8, 0xf0, 0xf0, 0xd8, 0xcc, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xfc, 0x8c, 0xdc, - 0xfc, 0xac, 0x8c, 0x8c, 0x8c, 0xcc, 0xec, 0xbc, 0x9c, 0x8c, 0x78, 0xcc, 0xcc, 0xcc, 0xcc, 0x78, - 0xf8, 0xcc, 0xcc, 0xf8, 0xc0, 0xc0, 0x78, 0xc4, 0xc4, 0xd4, 0xc8, 0x74, 0xf8, 0xcc, 0xcc, 0xf8, - 0xd0, 0xcc, 0x78, 0xc0, 0x78, 0x1c, 0x9c, 0x78, 0xfc, 0x30, 0x30, 0x30, 0x30, 0x30, 0x8c, 0x8c, - 0x8c, 0x8c, 0x9c, 0x78, 0x8c, 0x8c, 0x8c, 0x8c, 0x58, 0x30, 0x8c, 0x8c, 0xac, 0xfc, 0xdc, 0x8c, - 0x8c, 0x58, 0x30, 0x70, 0xc8, 0x84, 0xcc, 0xcc, 0x78, 0x30, 0x30, 0x30, 0xfc, 0x1c, 0x38, 0x70, - 0xe0, 0xfc, 0x30, 0x60, 0xc0, 0x60, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18, - 0x0c, 0x18, 0x18, 0x30, 0x00, 0x64, 0xfc, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -}; -const int font_size = sizeof(font); diff --git a/arm9/source/common/font_orig.h b/arm9/source/common/font_orig.h deleted file mode 100644 index 5b8801d..0000000 --- a/arm9/source/common/font_orig.h +++ /dev/null @@ -1,142 +0,0 @@ -/* - This file was autogenerated by raw2c. -Visit http://www.devkitpro.org -*/ -//--------------------------------------------------------------------------------- -// Original Decrypt9 font -//--------------------------------------------------------------------------------- -#define FONT_WIDTH 8 -#define FONT_HEIGHT 8 -//--------------------------------------------------------------------------------- -static const unsigned char font[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x81, 0xa5, 0x81, 0xbd, 0x99, 0x81, 0x7e, - 0x7e, 0xff, 0xdb, 0xff, 0xc3, 0xe7, 0xff, 0x7e, 0x6c, 0xfe, 0xfe, 0xfe, 0x7c, 0x38, 0x10, 0x00, - 0x10, 0x38, 0x7c, 0xfe, 0x7c, 0x38, 0x10, 0x00, 0x3c, 0x3c, 0x18, 0xff, 0xe7, 0x18, 0x3c, 0x00, - 0x10, 0x38, 0x7c, 0xfe, 0xee, 0x10, 0x38, 0x00, 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x00, 0x00, - 0xff, 0xff, 0xe7, 0xc3, 0xc3, 0xe7, 0xff, 0xff, 0x00, 0x3c, 0x66, 0x42, 0x42, 0x66, 0x3c, 0x00, - 0xff, 0xc3, 0x99, 0xbd, 0xbd, 0x99, 0xc3, 0xff, 0x0f, 0x07, 0x0f, 0x7d, 0xcc, 0xcc, 0xcc, 0x78, - 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x7e, 0x18, 0x08, 0x0c, 0x0a, 0x0a, 0x08, 0x78, 0xf0, 0x00, - 0x18, 0x14, 0x1a, 0x16, 0x72, 0xe2, 0x0e, 0x1c, 0x10, 0x54, 0x38, 0xee, 0x38, 0x54, 0x10, 0x00, - 0x80, 0xe0, 0xf8, 0xfe, 0xf8, 0xe0, 0x80, 0x00, 0x02, 0x0e, 0x3e, 0xfe, 0x3e, 0x0e, 0x02, 0x00, - 0x18, 0x3c, 0x5a, 0x18, 0x5a, 0x3c, 0x18, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x00, - 0x7f, 0xdb, 0xdb, 0xdb, 0x7b, 0x1b, 0x1b, 0x00, 0x1c, 0x22, 0x38, 0x44, 0x44, 0x38, 0x88, 0x70, - 0x00, 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x7e, 0x00, 0x18, 0x3c, 0x5a, 0x18, 0x5a, 0x3c, 0x18, 0x7e, - 0x18, 0x3c, 0x5a, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, 0x5a, 0x3c, 0x18, 0x00, - 0x00, 0x18, 0x0c, 0xfe, 0x0c, 0x18, 0x00, 0x00, 0x00, 0x30, 0x60, 0xfe, 0x60, 0x30, 0x00, 0x00, - 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xfe, 0x00, 0x00, 0x00, 0x24, 0x42, 0xff, 0x42, 0x24, 0x00, 0x00, - 0x00, 0x10, 0x38, 0x7c, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x7c, 0x38, 0x10, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x18, 0x00, 0x18, 0x00, - 0x6c, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x6c, 0xfe, 0x6c, 0xfe, 0x6c, 0x6c, 0x00, - 0x10, 0x7c, 0xd0, 0x7c, 0x16, 0xfc, 0x10, 0x00, 0x00, 0x66, 0xac, 0xd8, 0x36, 0x6a, 0xcc, 0x00, - 0x38, 0x4c, 0x38, 0x78, 0xce, 0xcc, 0x7a, 0x00, 0x30, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x18, 0x30, 0x60, 0x60, 0x60, 0x30, 0x18, 0x00, 0x60, 0x30, 0x18, 0x18, 0x18, 0x30, 0x60, 0x00, - 0x00, 0x66, 0x3c, 0xff, 0x3c, 0x66, 0x00, 0x00, 0x00, 0x30, 0x30, 0xfc, 0x30, 0x30, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x20, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x02, 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0x00, - 0x7c, 0xce, 0xde, 0xf6, 0xe6, 0xe6, 0x7c, 0x00, 0x18, 0x38, 0x78, 0x18, 0x18, 0x18, 0x7e, 0x00, - 0x7c, 0xc6, 0x06, 0x1c, 0x70, 0xc6, 0xfe, 0x00, 0x7c, 0xc6, 0x06, 0x3c, 0x06, 0xc6, 0x7c, 0x00, - 0x1c, 0x3c, 0x6c, 0xcc, 0xfe, 0x0c, 0x1e, 0x00, 0xfe, 0xc0, 0xfc, 0x06, 0x06, 0xc6, 0x7c, 0x00, - 0x7c, 0xc6, 0xc0, 0xfc, 0xc6, 0xc6, 0x7c, 0x00, 0xfe, 0xc6, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x00, - 0x7c, 0xc6, 0xc6, 0x7c, 0xc6, 0xc6, 0x7c, 0x00, 0x7c, 0xc6, 0xc6, 0x7e, 0x06, 0xc6, 0x7c, 0x00, - 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x10, 0x20, - 0x0c, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0c, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x7e, 0x00, 0x00, - 0x60, 0x30, 0x18, 0x0c, 0x18, 0x30, 0x60, 0x00, 0x78, 0xcc, 0x0c, 0x18, 0x30, 0x00, 0x30, 0x00, - 0x7c, 0x82, 0x9e, 0xa6, 0x9e, 0x80, 0x7c, 0x00, 0x7c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0x00, - 0xfc, 0x66, 0x66, 0x7c, 0x66, 0x66, 0xfc, 0x00, 0x7c, 0xc6, 0xc0, 0xc0, 0xc0, 0xc6, 0x7c, 0x00, - 0xfc, 0x66, 0x66, 0x66, 0x66, 0x66, 0xfc, 0x00, 0xfe, 0x62, 0x68, 0x78, 0x68, 0x62, 0xfe, 0x00, - 0xfe, 0x62, 0x68, 0x78, 0x68, 0x60, 0xf0, 0x00, 0x7c, 0xc6, 0xc6, 0xc0, 0xce, 0xc6, 0x7e, 0x00, - 0xc6, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0x00, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, - 0x1e, 0x0c, 0x0c, 0x0c, 0xcc, 0xcc, 0x78, 0x00, 0xe6, 0x66, 0x6c, 0x78, 0x6c, 0x66, 0xe6, 0x00, - 0xf0, 0x60, 0x60, 0x60, 0x62, 0x66, 0xfe, 0x00, 0x82, 0xc6, 0xee, 0xfe, 0xd6, 0xc6, 0xc6, 0x00, - 0xc6, 0xe6, 0xf6, 0xde, 0xce, 0xc6, 0xc6, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, - 0xfc, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xf0, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xd6, 0xde, 0x7c, 0x06, - 0xfc, 0x66, 0x66, 0x7c, 0x66, 0x66, 0xe6, 0x00, 0x7c, 0xc6, 0xc0, 0x7c, 0x06, 0xc6, 0x7c, 0x00, - 0x7e, 0x5a, 0x5a, 0x18, 0x18, 0x18, 0x3c, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, - 0xc6, 0xc6, 0xc6, 0xc6, 0x6c, 0x38, 0x10, 0x00, 0xc6, 0xc6, 0xd6, 0xfe, 0xee, 0xc6, 0x82, 0x00, - 0xc6, 0x6c, 0x38, 0x38, 0x38, 0x6c, 0xc6, 0x00, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x3c, 0x00, - 0xfe, 0xc6, 0x8c, 0x18, 0x32, 0x66, 0xfe, 0x00, 0x78, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78, 0x00, - 0xc0, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x02, 0x00, 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, 0x00, - 0x10, 0x38, 0x6c, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, - 0x30, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0x76, 0x00, - 0xe0, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc0, 0xc6, 0x7c, 0x00, - 0x1c, 0x0c, 0x0c, 0x7c, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0x7c, 0x00, - 0x1c, 0x36, 0x30, 0x78, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x76, 0xcc, 0xcc, 0x7c, 0x0c, 0x78, - 0xe0, 0x60, 0x6c, 0x76, 0x66, 0x66, 0xe6, 0x00, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x3c, 0x00, - 0x00, 0x0c, 0x00, 0x1c, 0x0c, 0x0c, 0xcc, 0x78, 0xe0, 0x60, 0x66, 0x6c, 0x78, 0x6c, 0xe6, 0x00, - 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0xcc, 0xfe, 0xd6, 0xd6, 0xd6, 0x00, - 0x00, 0x00, 0xdc, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, - 0x00, 0x00, 0xdc, 0x66, 0x66, 0x7c, 0x60, 0xf0, 0x00, 0x00, 0x7c, 0xcc, 0xcc, 0x7c, 0x0c, 0x1e, - 0x00, 0x00, 0xde, 0x76, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x7c, 0xc0, 0x7c, 0x06, 0x7c, 0x00, - 0x10, 0x30, 0xfc, 0x30, 0x30, 0x34, 0x18, 0x00, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, - 0x00, 0x00, 0xc6, 0xc6, 0x6c, 0x38, 0x10, 0x00, 0x00, 0x00, 0xc6, 0xd6, 0xd6, 0xfe, 0x6c, 0x00, - 0x00, 0x00, 0xc6, 0x6c, 0x38, 0x6c, 0xc6, 0x00, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0xf8, - 0x00, 0x00, 0xfc, 0x98, 0x30, 0x64, 0xfc, 0x00, 0x0e, 0x18, 0x18, 0x30, 0x18, 0x18, 0x0e, 0x00, - 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00, 0xe0, 0x30, 0x30, 0x18, 0x30, 0x30, 0xe0, 0x00, - 0x76, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0x00, - 0x7c, 0xc6, 0xc0, 0xc0, 0xc6, 0x7c, 0x18, 0x70, 0xcc, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, - 0x0e, 0x10, 0x7c, 0xc6, 0xfe, 0xc0, 0x7c, 0x00, 0x7c, 0x82, 0x38, 0x0c, 0x7c, 0xcc, 0x76, 0x00, - 0xcc, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0x76, 0x00, 0xe0, 0x10, 0x78, 0x0c, 0x7c, 0xcc, 0x76, 0x00, - 0x30, 0x30, 0x78, 0x0c, 0x7c, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x7c, 0xc0, 0xc0, 0x7c, 0x18, 0x70, - 0x7c, 0x82, 0x7c, 0xc6, 0xfe, 0xc0, 0x7c, 0x00, 0xc6, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0x7c, 0x00, - 0xe0, 0x10, 0x7c, 0xc6, 0xfe, 0xc0, 0x7c, 0x00, 0x66, 0x00, 0x38, 0x18, 0x18, 0x18, 0x3c, 0x00, - 0x7c, 0x82, 0x38, 0x18, 0x18, 0x18, 0x3c, 0x00, 0xe0, 0x10, 0x38, 0x18, 0x18, 0x18, 0x3c, 0x00, - 0xc6, 0x00, 0x7c, 0xc6, 0xfe, 0xc6, 0xc6, 0x00, 0x38, 0x38, 0x7c, 0xc6, 0xfe, 0xc6, 0xc6, 0x00, - 0x0e, 0x10, 0xfe, 0x60, 0x78, 0x60, 0xfe, 0x00, 0x00, 0x00, 0x7c, 0x12, 0x7e, 0xd0, 0x7e, 0x00, - 0x7e, 0xc8, 0xc8, 0xfe, 0xc8, 0xc8, 0xce, 0x00, 0x7c, 0x82, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, - 0xc6, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0xe0, 0x10, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, - 0x7c, 0x82, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0xe0, 0x10, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, - 0xcc, 0x00, 0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0xf8, 0xc6, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, - 0xc6, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x18, 0x7c, 0xd6, 0xd0, 0xd6, 0x7c, 0x18, 0x00, - 0x38, 0x6c, 0x60, 0xf0, 0x60, 0xf2, 0xdc, 0x00, 0x66, 0x3c, 0x18, 0x7e, 0x18, 0x7e, 0x18, 0x00, - 0xf8, 0xcc, 0xf8, 0xc4, 0xcc, 0xde, 0xcc, 0x06, 0x0e, 0x1b, 0x18, 0x3c, 0x18, 0x18, 0xd8, 0x70, - 0x0e, 0x10, 0x78, 0x0c, 0x7c, 0xcc, 0x76, 0x00, 0x0e, 0x10, 0x38, 0x18, 0x18, 0x18, 0x3c, 0x00, - 0x0e, 0x10, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x0e, 0x10, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, - 0x66, 0x98, 0xdc, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x98, 0xe6, 0xf6, 0xde, 0xce, 0xc6, 0x00, - 0x38, 0x0c, 0x3c, 0x34, 0x00, 0x7e, 0x00, 0x00, 0x38, 0x6c, 0x6c, 0x38, 0x00, 0x7c, 0x00, 0x00, - 0x30, 0x00, 0x30, 0x60, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xc0, 0xc0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0c, 0x00, 0x00, 0xc0, 0xc8, 0xd0, 0xfe, 0x46, 0x8c, 0x1e, 0x00, - 0xc0, 0xc8, 0xd0, 0xec, 0x5c, 0xbe, 0x0c, 0x00, 0x18, 0x00, 0x18, 0x18, 0x3c, 0x3c, 0x18, 0x00, - 0x00, 0x36, 0x6c, 0xd8, 0x6c, 0x36, 0x00, 0x00, 0x00, 0xd8, 0x6c, 0x36, 0x6c, 0xd8, 0x00, 0x00, - 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, - 0xdb, 0x77, 0xdb, 0xee, 0xdb, 0x77, 0xdb, 0xee, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0xf8, 0x18, 0x18, 0x18, - 0x36, 0x36, 0x36, 0x36, 0xf6, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x36, 0x36, 0x36, - 0x00, 0x00, 0xf8, 0x18, 0xf8, 0x18, 0x18, 0x18, 0x36, 0x36, 0xf6, 0x06, 0xf6, 0x36, 0x36, 0x36, - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0xfe, 0x06, 0xf6, 0x36, 0x36, 0x36, - 0x36, 0x36, 0xf6, 0x06, 0xfe, 0x00, 0x00, 0x00, 0x36, 0x36, 0x36, 0x36, 0xfe, 0x00, 0x00, 0x00, - 0x18, 0x18, 0xf8, 0x18, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x1f, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0xff, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x18, 0x18, 0x18, - 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0xff, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x36, 0x36, 0x36, 0x36, 0x37, 0x36, 0x36, 0x36, - 0x36, 0x36, 0x37, 0x30, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x30, 0x37, 0x36, 0x36, 0x36, - 0x36, 0x36, 0xf7, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xf7, 0x36, 0x36, 0x36, - 0x36, 0x36, 0x37, 0x30, 0x37, 0x36, 0x36, 0x36, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, - 0x36, 0x36, 0xf7, 0x00, 0xf7, 0x36, 0x36, 0x36, 0x18, 0x18, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, - 0x36, 0x36, 0x36, 0x36, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x18, 0x18, 0x18, - 0x00, 0x00, 0x00, 0x00, 0xff, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x3f, 0x00, 0x00, 0x00, - 0x18, 0x18, 0x1f, 0x18, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18, - 0x00, 0x00, 0x00, 0x00, 0x3f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xff, 0x36, 0x36, 0x36, - 0x18, 0x18, 0xff, 0x18, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x18, 0x18, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x74, 0xcc, 0xc8, 0xdc, 0x76, 0x00, 0x78, 0xcc, 0xd8, 0xcc, 0xc6, 0xc6, 0xdc, 0x40, - 0xfe, 0x62, 0x60, 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x02, 0x7e, 0xec, 0x6c, 0x6c, 0x48, 0x00, - 0xfe, 0x62, 0x30, 0x18, 0x30, 0x62, 0xfe, 0x00, 0x00, 0x00, 0x7e, 0xd0, 0xc8, 0xc8, 0x70, 0x00, - 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xf8, 0x80, 0x00, 0x00, 0x7e, 0xd8, 0x18, 0x18, 0x10, 0x00, - 0x38, 0x10, 0x7c, 0xd6, 0xd6, 0x7c, 0x10, 0x38, 0x7c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0x7c, 0x00, - 0x7c, 0xc6, 0xc6, 0xc6, 0x6c, 0x28, 0xee, 0x00, 0x3c, 0x22, 0x18, 0x7c, 0xcc, 0xcc, 0x78, 0x00, - 0x00, 0x00, 0x66, 0x99, 0x99, 0x66, 0x00, 0x00, 0x00, 0x06, 0x7c, 0x9e, 0xf2, 0x7c, 0xc0, 0x00, - 0x00, 0x00, 0x7c, 0xc0, 0xf8, 0xc0, 0x7c, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x00, - 0x00, 0xfe, 0x00, 0xfe, 0x00, 0xfe, 0x00, 0x00, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x7e, 0x00, - 0x30, 0x18, 0x0c, 0x18, 0x30, 0x00, 0x7c, 0x00, 0x18, 0x30, 0x60, 0x30, 0x18, 0x00, 0x7c, 0x00, - 0x0e, 0x1b, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xd8, 0xd8, 0x70, - 0x00, 0x18, 0x00, 0x7e, 0x00, 0x18, 0x00, 0x00, 0x00, 0x76, 0xdc, 0x00, 0x76, 0xdc, 0x00, 0x00, - 0x38, 0x6c, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0f, 0x0c, 0x0c, 0x0c, 0xec, 0x6c, 0x3c, 0x00, - 0xd8, 0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x30, 0xc0, 0xf0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -}; -const int font_size = sizeof(font); diff --git a/arm9/source/common/ui.c b/arm9/source/common/ui.c index 8adc7f5..52b8c0d 100644 --- a/arm9/source/common/ui.c +++ b/arm9/source/common/ui.c @@ -1,4 +1,4 @@ -// Copyright 2013 Normmatt +// Copyright 2013 Normmatt / 2018 d0k3 // Licensed under GPLv2 or any later version // Refer to the license.txt file included. @@ -8,7 +8,7 @@ #include #include "qrcodegen.h" -#include "font.h" +#include "vram0.h" #include "ui.h" #include "rtc.h" #include "timer.h" @@ -16,6 +16,90 @@ #include "hid.h" #define STRBUF_SIZE 512 // maximum size of the string buffer +#define FONT_MAX_WIDTH 8 +#define FONT_MAX_HEIGHT 10 +#define FONT_N_SYMBOLS 256 + +static u32 font_width = 0; +static u32 font_height = 0; +static u8 font_bin[FONT_MAX_HEIGHT * FONT_N_SYMBOLS]; + + +u8* GetFontFromPbm(const void* pbm, const u32 pbm_size, u32* w, u32* h) { + char* hdr = (char*) pbm; + u32 pbm_w = 0; + u32 pbm_h = 0; + + // minimum size + if (pbm_size < 7) return NULL; + + // check header magic, then skip over + if (strncmp(hdr, "P4\n", 3) != 0) return NULL; + + // skip any comments + u32 p = 3; + while (hdr[p] == '#') { + while (hdr[p++] != '\n') { + if (p >= pbm_size) return NULL; + } + } + + // parse width + while ((hdr[p] >= '0') && (hdr[p] <= '9')) { + if (p >= pbm_size) return NULL; + pbm_w *= 10; + pbm_w += hdr[p++] - '0'; + } + + // whitespace + if ((hdr[p++] != ' ') || (p >= pbm_size)) + return NULL; + + // parse height + while ((hdr[p] >= '0') && (hdr[p] <= '9')) { + if (p >= pbm_size) return NULL; + pbm_h *= 10; + pbm_h += hdr[p++] - '0'; + } + + // line break + if ((hdr[p++] != '\n') || (p >= pbm_size)) + return NULL; + + // check sizes + if ((pbm_w > FONT_MAX_WIDTH) || (pbm_h % FONT_N_SYMBOLS) || + ((pbm_h / FONT_N_SYMBOLS) > FONT_MAX_HEIGHT) || + (pbm_h != (pbm_size - p))) + return NULL; + + // all good + if (w) *w = pbm_w; + if (h) *h = pbm_h / FONT_N_SYMBOLS; + return (u8*) pbm + p; +} + +// sets the font from a given PBM +// if no PBM is given, the PBM is fetched from the default VRAM0 location +bool SetFontFromPbm(const void* pbm, u32 pbm_size) { + u32 w, h; + u8* ptr = NULL; + + if (!pbm) { + u64 pbm_size64 = 0; + pbm = FindVTarFileInfo(VRAM0_FONT_PBM, &pbm_size64); + pbm_size = (u32) pbm_size64; + } + + if (pbm) + ptr = GetFontFromPbm(pbm, pbm_size, &w, &h); + + if (ptr) { + font_width = w; + font_height = h; + memcpy(font_bin, ptr, h * FONT_N_SYMBOLS); + return true; + } else return false; +} void ClearScreen(u8* screen, int color) { @@ -104,13 +188,13 @@ void DrawQrCode(u8* screen, u8* qrcode) void DrawCharacter(u8* screen, int character, int x, int y, int color, int bgcolor) { - for (int yy = 0; yy < FONT_HEIGHT; yy++) { + for (int yy = 0; yy < (int) font_height; yy++) { int xDisplacement = (x * BYTES_PER_PIXEL * SCREEN_HEIGHT); int yDisplacement = ((SCREEN_HEIGHT - (y + yy) - 1) * BYTES_PER_PIXEL); u8* screenPos = screen + xDisplacement + yDisplacement; - u8 charPos = font[character * FONT_HEIGHT + yy]; - for (int xx = 7; xx >= (8 - FONT_WIDTH); xx--) { + u8 charPos = font_bin[character * font_height + yy]; + for (int xx = 7; xx >= (8 - (int) font_width); xx--) { if ((charPos >> xx) & 1) { *(screenPos + 0) = color >> 16; // B *(screenPos + 1) = color >> 8; // G @@ -127,10 +211,10 @@ void DrawCharacter(u8* screen, int character, int x, int y, int color, int bgcol void DrawString(u8* screen, const char *str, int x, int y, int color, int bgcolor) { - size_t max_len = (((screen == TOP_SCREEN) ? SCREEN_WIDTH_TOP : SCREEN_WIDTH_BOT) - x) / FONT_WIDTH; + size_t max_len = (((screen == TOP_SCREEN) ? SCREEN_WIDTH_TOP : SCREEN_WIDTH_BOT) - x) / font_width; size_t len = (strlen(str) > max_len) ? max_len : strlen(str); for (size_t i = 0; i < len; i++) - DrawCharacter(screen, str[i], x + i * FONT_WIDTH, y, color, bgcolor); + DrawCharacter(screen, str[i], x + i * font_width, y, color, bgcolor); } void DrawStringF(u8* screen, int x, int y, int color, int bgcolor, const char *format, ...) @@ -162,7 +246,7 @@ void DrawStringCenter(u8* screen, int color, int bgcolor, const char *format, .. } u32 GetDrawStringHeight(const char* str) { - u32 height = FONT_HEIGHT; + u32 height = font_height; for (char* lf = strchr(str, '\n'); (lf != NULL); lf = strchr(lf + 1, '\n')) height += 10; return height; @@ -178,14 +262,22 @@ u32 GetDrawStringWidth(const char* str) { } if ((u32) (str_end - old_lf) > width) width = str_end - old_lf; - width *= FONT_WIDTH; + width *= font_width; return width; } +u32 GetFontWidth(void) { + return font_width; +} + +u32 GetFontHeight(void) { + return font_height; +} + void WordWrapString(char* str, int llen) { char* last_brk = str - 1; char* last_spc = str - 1; - if (!llen) llen = (SCREEN_WIDTH_MAIN / FONT_WIDTH); + if (!llen) llen = (SCREEN_WIDTH_MAIN / font_width); for (char* str_ptr = str;; str_ptr++) { if (!*str_ptr || (*str_ptr == ' ')) { // on space or string_end if (str_ptr - last_brk > llen) { // if maximum line lenght is exceeded @@ -347,7 +439,7 @@ bool ShowUnlockSequence(u32 seqlvl, const char *format, ...) { str_width = GetDrawStringWidth(str); str_height = GetDrawStringHeight(str) + (4*10); - if (str_width < 24 * FONT_WIDTH) str_width = 24 * FONT_WIDTH; + if (str_width < 24 * font_width) str_width = 24 * font_width; x = (str_width >= SCREEN_WIDTH_MAIN) ? 0 : (SCREEN_WIDTH_MAIN - str_width) / 2; y = (str_height >= SCREEN_HEIGHT) ? 0 : (SCREEN_HEIGHT - str_height) / 2; @@ -442,7 +534,7 @@ u32 ShowSelectPrompt(u32 n, const char** options, const char *format, ...) { str_width = GetDrawStringWidth(str); str_height = GetDrawStringHeight(str) + (n * 12) + (3 * 10); - if (str_width < 24 * FONT_WIDTH) str_width = 24 * FONT_WIDTH; + if (str_width < 24 * font_width) str_width = 24 * font_width; for (u32 i = 0; i < n; i++) if (str_width < GetDrawStringWidth(options[i])) str_width = GetDrawStringWidth(options[i]); x = (str_width >= SCREEN_WIDTH_MAIN) ? 0 : (SCREEN_WIDTH_MAIN - str_width) / 2; @@ -492,7 +584,7 @@ bool ShowInputPrompt(char* inputstr, u32 max_size, u32 resize, const char* alpha str_width = GetDrawStringWidth(str); str_height = GetDrawStringHeight(str) + 88; - if (str_width < (24 * FONT_WIDTH)) str_width = 24 * FONT_WIDTH; + if (str_width < (24 * font_width)) str_width = 24 * font_width; x = (str_width >= SCREEN_WIDTH_MAIN) ? 0 : (SCREEN_WIDTH_MAIN - str_width) / 2; y = (str_height >= SCREEN_HEIGHT) ? 0 : (SCREEN_HEIGHT - str_height) / 2; @@ -533,22 +625,22 @@ bool ShowInputPrompt(char* inputstr, u32 max_size, u32 resize, const char* alpha } // alphabet preview - if (alphabet_size > (SCREEN_WIDTH(MAIN_SCREEN) / FONT_WIDTH)) { + if (alphabet_size > (SCREEN_WIDTH(MAIN_SCREEN) / font_width)) { const u32 aprv_y = y + str_height - 60; if (aprv) { const u32 aprv_pad = 1; - const u32 aprv_cx = x + ((1 + cursor_s - scroll) * FONT_WIDTH); - u32 aprv_x = aprv_cx % (FONT_WIDTH + aprv_pad); - u32 aprv_n = ((SCREEN_WIDTH(MAIN_SCREEN) - aprv_x) / (FONT_WIDTH + aprv_pad)) - 1; - int aprv_a = cursor_a - ((aprv_cx - aprv_x) / (FONT_WIDTH + aprv_pad)); + const u32 aprv_cx = x + ((1 + cursor_s - scroll) * font_width); + u32 aprv_x = aprv_cx % (font_width + aprv_pad); + u32 aprv_n = ((SCREEN_WIDTH(MAIN_SCREEN) - aprv_x) / (font_width + aprv_pad)) - 1; + int aprv_a = cursor_a - ((aprv_cx - aprv_x) / (font_width + aprv_pad)); while (aprv_a < 0) aprv_a += alphabet_size; for (u32 i = 0; i < aprv_n; i++) { DrawCharacter(MAIN_SCREEN, alphabet[aprv_a], aprv_x, aprv_y, (aprv_a == cursor_a) ? COLOR_WHITE : COLOR_GREY, COLOR_STD_BG); if (++aprv_a >= (int) alphabet_size) aprv_a -= alphabet_size; - aprv_x += FONT_WIDTH + aprv_pad; + aprv_x += font_width + aprv_pad; } - } else DrawRectangle(MAIN_SCREEN, 0, aprv_y, SCREEN_WIDTH(MAIN_SCREEN), FONT_HEIGHT, COLOR_STD_BG); + } else DrawRectangle(MAIN_SCREEN, 0, aprv_y, SCREEN_WIDTH(MAIN_SCREEN), font_height, COLOR_STD_BG); } u32 pad_state = InputWait(3); @@ -711,7 +803,7 @@ bool ShowRtcSetterPrompt(void* time, const char *format, ...) { str_width = GetDrawStringWidth(str); str_height = GetDrawStringHeight(str) + (4*10); - if (str_width < (19 * FONT_WIDTH)) str_width = 19 * FONT_WIDTH; + if (str_width < (19 * font_width)) str_width = 19 * font_width; x = (str_width >= SCREEN_WIDTH_MAIN) ? 0 : (SCREEN_WIDTH_MAIN - str_width) / 2; y = (str_height >= SCREEN_HEIGHT) ? 0 : (SCREEN_HEIGHT - str_height) / 2; diff --git a/arm9/source/common/ui.h b/arm9/source/common/ui.h index ee66126..ab22014 100644 --- a/arm9/source/common/ui.h +++ b/arm9/source/common/ui.h @@ -14,16 +14,8 @@ #define SCREEN_WIDTH(s) ((s == TOP_SCREEN) ? SCREEN_WIDTH_TOP : SCREEN_WIDTH_BOT) #define SCREEN_WIDTH_TOP 400 #define SCREEN_WIDTH_BOT 320 -#ifdef FONT_6X10 -#define FONT_WIDTH_EXT 6 -#define FONT_HEIGHT_EXT 10 -#elif defined FONT_GB // special font width -#define FONT_WIDTH_EXT 7 -#define FONT_HEIGHT_EXT 6 -#else -#define FONT_WIDTH_EXT 8 -#define FONT_HEIGHT_EXT 8 -#endif +#define FONT_WIDTH_EXT GetFontWidth() +#define FONT_HEIGHT_EXT GetFontHeight() #define TOP_SCREEN ((u8*)VRAM_TOP_LA) #define BOT_SCREEN ((u8*)VRAM_BOT_A) @@ -49,6 +41,9 @@ bool ShowUnlockSequence(u32 seqlvl, const char *format, ...); #define ShowUnlockSequence ShowPrompt #endif +u8* GetFontFromPbm(const void* pbm, const u32 pbm_size, u32* w, u32* h); +bool SetFontFromPbm(const void* pbm, const u32 pbm_size); + void ClearScreen(unsigned char *screen, int color); void ClearScreenF(bool clear_main, bool clear_alt, int color); void DrawRectangle(u8* screen, int x, int y, int width, int height, int color); @@ -62,6 +57,8 @@ void DrawStringCenter(u8* screen, int color, int bgcolor, const char *format, .. u32 GetDrawStringHeight(const char* str); u32 GetDrawStringWidth(const char* str); +u32 GetFontWidth(void); +u32 GetFontHeight(void); void WordWrapString(char* str, int llen); void ResizeString(char* dest, const char* orig, int nsize, int tpos, bool align_right); diff --git a/arm9/source/godmode.c b/arm9/source/godmode.c index de1f160..5c6b62f 100644 --- a/arm9/source/godmode.c +++ b/arm9/source/godmode.c @@ -430,28 +430,29 @@ u32 FileHexViewer(const char* path) { while (true) { if (mode != last_mode) { - switch (mode) { // display mode - #ifdef FONT_6X10 - case 1: - vpad = 0; - hlpad = hrpad = 1; - cols = 16; - x_off = 0; - x_ascii = SCREEN_WIDTH_TOP - (FONT_WIDTH_EXT * cols); - x_hex = x_off + (8*FONT_WIDTH_EXT) + 16; - dual_screen = false; - break; - default: - mode = 0; - vpad = 0; - hlpad = hrpad = 3; - cols = 8; - x_off = 30 + (SCREEN_WIDTH_TOP - SCREEN_WIDTH_BOT) / 2; - x_ascii = SCREEN_WIDTH_TOP - x_off - (FONT_WIDTH_EXT * cols); - x_hex = (SCREEN_WIDTH_TOP - ((hlpad + (2*FONT_WIDTH_EXT) + hrpad) * cols)) / 2; - dual_screen = true; - break; - #else + if (FONT_WIDTH_EXT <= 6) { + switch (mode) { // display mode + case 1: + vpad = 0; + hlpad = hrpad = 1; + cols = 16; + x_off = 0; + x_ascii = SCREEN_WIDTH_TOP - (FONT_WIDTH_EXT * cols); + x_hex = x_off + (8*FONT_WIDTH_EXT) + 16; + dual_screen = false; + break; + default: + mode = 0; + vpad = 0; + hlpad = hrpad = 3; + cols = 8; + x_off = 30 + (SCREEN_WIDTH_TOP - SCREEN_WIDTH_BOT) / 2; + x_ascii = SCREEN_WIDTH_TOP - x_off - (FONT_WIDTH_EXT * cols); + x_hex = (SCREEN_WIDTH_TOP - ((hlpad + (2*FONT_WIDTH_EXT) + hrpad) * cols)) / 2; + dual_screen = true; + break; + } + } else switch (mode) { case 1: vpad = hlpad = hrpad = 1; cols = 12; @@ -487,7 +488,6 @@ u32 FileHexViewer(const char* path) { x_hex = (SCREEN_WIDTH_TOP - ((hlpad + 16 + hrpad) * cols)) / 2; dual_screen = true; break; - #endif } rows = (dual_screen ? 2 : 1) * SCREEN_HEIGHT / (FONT_HEIGHT_EXT + (2*vpad)); total_shown = rows * cols; @@ -1787,6 +1787,9 @@ u32 GodMode(int entrypoint) { show_splash = !bootloader; #endif + // init font + if (!SetFontFromPbm(NULL, 0)) return exit_mode; + // show splash screen (if enabled) ClearScreenF(true, true, COLOR_STD_BG); if (show_splash) SplashInit(disp_mode); @@ -2302,8 +2305,8 @@ u32 GodMode(int entrypoint) { #else u32 ScriptRunner(int entrypoint) { - // show splash and initialize - ClearScreenF(true, true, COLOR_STD_BG); + // init font and show splash + if (!SetFontFromPbm(NULL, 0)) return exit_mode; SplashInit("scriptrunner mode"); u64 timer = timer_start(); diff --git a/arm9/source/system/vram0.h b/arm9/source/system/vram0.h index bbb35e0..4c4697a 100644 --- a/arm9/source/system/vram0.h +++ b/arm9/source/system/vram0.h @@ -6,6 +6,7 @@ // known file names inside VRAM0 TAR #define VRAM0_AUTORUN_GM9 "autorun.gm9" +#define VRAM0_FONT_PBM "font.pbm" #define VRAM0_SCRIPTS "scripts" #define VRAM0_README_MD "README.md" #define VRAM0_SPLASH_PCX FLAVOR "_splash.pcx" diff --git a/arm9/source/utils/scripting.c b/arm9/source/utils/scripting.c index 910787d..f1aa560 100644 --- a/arm9/source/utils/scripting.c +++ b/arm9/source/utils/scripting.c @@ -1343,7 +1343,7 @@ void MemTextView(const char* text, u32 len, char* line0, int off_disp, int lno, u32 ncpy = ((int) llen < off_disp) ? 0 : (llen - off_disp); if (ncpy > TV_LLEN_DISP) ncpy = TV_LLEN_DISP; bool al = !ww && off_disp && (ptr != ptr_next); - bool ar = !ww && ((int) llen > off_disp + TV_LLEN_DISP); + bool ar = !ww && (llen > off_disp + TV_LLEN_DISP); // set text color / find start of comment of scripts u32 color_text = (nln == mno) ? script_color_active : (is_script) ? script_color_code : (u32) COLOR_TVTEXT; @@ -1371,7 +1371,7 @@ void MemTextView(const char* text, u32 len, char* line0, int off_disp, int lno, } // colorize comment if is_script - if ((cmt_start > 0) && (cmt_start < TV_LLEN_DISP)) { + if ((cmt_start > 0) && ((u32) cmt_start < TV_LLEN_DISP)) { memset(txtstr, ' ', cmt_start); DrawString(TOP_SCREEN, txtstr, x_txt, y, script_color_comment, COLOR_TRANSPARENT); } @@ -1459,7 +1459,7 @@ bool MemTextViewer(const char* text, u32 len, u32 start, bool as_script) { for (; line0_next > line0; line0++) if (*line0 == '\n') lcurr++; } - if (off_disp + TV_LLEN_DISP > (int) llen_max) off_disp = llen_max - TV_LLEN_DISP; + if (off_disp + TV_LLEN_DISP > llen_max) off_disp = llen_max - TV_LLEN_DISP; if ((off_disp < 0) || ww) off_disp = 0; } } diff --git a/data/font.pbm b/data/font.pbm new file mode 100644 index 0000000000000000000000000000000000000000..88b2267138cc5ff04d0adb5663d43ac74cea7fd0 GIT binary patch literal 2591 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 diff --git a/resources/SafeMode9_splash.png b/resources/SafeMode9_splash.png deleted file mode 100644 index 19e8bd7596632c92543cf7c9a1ecde5943449ca4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24991 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 diff --git a/resources/fonts/font_6x10.pbm b/resources/fonts/font_6x10.pbm new file mode 100644 index 0000000000000000000000000000000000000000..88b2267138cc5ff04d0adb5663d43ac74cea7fd0 GIT binary patch literal 2591 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 Q7+~gSJX8Pyz^?fFAFvn1NB{r; literal 0 HcmV?d00001 diff --git a/resources/fonts/font_sheikah_8x8.pbm b/resources/fonts/font_sheikah_8x8.pbm new file mode 100644 index 0000000000000000000000000000000000000000..9bbb62e6a935d6c3e4acce063835f9ea14584b01 GIT binary patch literal 2079 zcmds2L2Khy5FUJR7b6rA%JOKI#-urzo+9mJ-DrS#B458KPqgEnncXtiLLC3V|Z z)zN7WJ%pS#7ZVm*iYWO3h6F*1@Ii!}g27=iJv0!42tFhx1gYOV$^8)>`FY;Vd^7Xj z)6CQ7D~%7DU%l9P_HyIv=K2rK=g+>|Xn*s(VK+ZASL_B=6m0#rb+Ee?1jVR0Ixhl0 z&vR)TWY|)1#}UQ3aFm=GHoOE>L`89a1bjh`x3=avR2=Od9PAzybMMUkoTh2V@jTBF zfw-qN8uvO^B;I}R{)@l$2gVaSv!58$9Z&P=xJxztQT|A;A?j1{6oKL9dF0VAqtWQ6 zg#~)BWIujvziRVxgCLmU0>*=g|JaX&mTO>Sy18pII*#KUYAJ2d2t!~FoKrX+Os08f zs{A}Rn!Q>r?{+7YhavJzs8-hik7)uq412UQKR*G4AYgUi+uOZvH>b(`Jevs4J8bW5 zZ?lQ=T8&LWs*r4F6LN9B*)W=%#S|J8f%>t)>+BiEj$uqlhP~f=T}g*;qBnh{j#?Q4 z_9<&+AqMi?HZB^s)Ne(l9AXwJOvL(#(NRQM6t$vOA8{@k5$mHU#Gu2y{XL-ZWG!In z;zM|G9z=_xKJ`O>AVbUe47v<)GNsSh&e;go@Rs9*hkFXg-tYq!E6NZT+CTOwuU$m@ z-JCjjEw0<4m^WOnQHKjebnyE91cx!B!ffK*g8py&*HMi^=-d}-j7?LR=9o6ms;%=u zBss|>juR=`DWO}_P0|gStwIrq5!HfA-~W{Ib@a_TpImS<7_`B;?xtPHLm>>Z4S9Mh@lioDsrp3q z__&XpB_Z+o1K!)+pj(9C0zBbm-6_T|$S8TVJ8QfCwQ~)2~-s zLkXsM&=hCzAZQ2CDWkyRz~#_z7*B`5MhFk~Vh-U!7RKE5_rC9x=1F(I@4feX?|uL8 z>(#kWs^2}^eDZwr`|8Fo)u&H>+N}TZbk44RX06(DR7kM>*Y?5Qb`azz`Qb$#_*s@o z+a%ML3LQt}7s63`YTAerFcIbX#Uc1PIo|rZ=TLsQcW|(Gn9qMO|63f#4af65M+D-I zF*kRoF(&cR$9JEdRqmOO?9_f_($;92O-EZ)syxUZR7%MDSUg5zgn1r$^!v%l$*&6w zbZ^;y_|Se;=k5kUFyjTxhY-Iwj)ajJ0J7Z7wU`}-VFp-P&(~LgJRsKf@X*l0qd^w( zSC~ZP`x$;dnetfPy)}uve+IQ5W3s=p8%Oa=vdpUD3Cnd|OAsD`Hh50%cyL+Pt)=R7 zTaj;7fO=U}DjT4Olr>p0%37_K!e(>7Kv-aJHm?f5Mks~X9TXNCLOhyftV=KkONTat#uqx5Jv#I!_7G?`G6MA!kS4;e$BK>q0U*q=se3N)Dj z44DaB94-PUlQD-tFLMi+go(1Br{~Bs93sE6bEO12qTb`D$X@s(Q`w`WtZ-c9n;};m zs=A@_CuLnH8bYXnWpUjGg*@PLi5k2?L<7t3NB^$_FqvNutQ^|SZ+ zr3~2%e>YXUZs$hfZjo<>O;qIkXYHQycW!i@Zo3V81-ns*3ZD!0j4Vr7)`(u57Nh5h zh%%B<7)DamW5Q{TUr@!AQ5H(<3)_&;V`?ZInHnuiBasY4#L1@SN65r+qaxlT8>Jo2 zqi|$uRJNI{J6=^GV7NCheU}Rck63Ymf;ZE|e*p*(YVT&jj8=pOkra+0H1CWy--2 zomYq@w7EpCthm!zfh^%+6WdwW_9bQKeE0cPyKk+jxHU`b*NV?k*M*<$taF}P?ONHn zn$~MIM&+N?Q*pH#=jC23DZj4E&9%ax1G!hT{?5k5{mu(vJ~zjO%ooBo_7Odg`=>8( z9}eOuI{iG`;Co|CR0=MA|4Yg?aBenu=7QsXzYgSmH{F6h5W*zelu07-QNdwS`xCpz z|1>3MSx9{T!1wm{_