initial commit to new repo

This commit is contained in:
Nicole Faerber 2021-02-14 18:03:13 +01:00
parent ccdb239b00
commit adbc36ad71
131 changed files with 52765 additions and 1 deletions

23
ui/Makefile.am Normal file
View file

@ -0,0 +1,23 @@
ACLOCAL_AMFLAGS = -I m4
bin_PROGRAMS = .buildno oswald-gui
oswald_gui_SOURCES = oswald-ui.c oswald_main.c \
oswald_watch_faces.c oswald_strings.c oswald_screens.c \
embedvm.c oswald_graphics.c calendar.c oswald_fonts.c
# BUILDNO = \"$(shell cat .buildno)\"
BUILDNO = \"$(shell date +%y%m%d)-\#$(shell cat .buildno)\"
oswald_gui_CFLAGS = -DBUILDNO=$(BUILDNO) -g $(GTK_CFLAGS)
oswald_gui_LDADD = $(GTK_LIBS)
EXTRA_DIST = config.rpath m4/ChangeLog \
AUTHORS \
COPYING \
README.txt
.buildno: $(oswald_gui_OBJECTS)
@if ! test -f .buildno; then echo 0 > .buildno; fi
@echo $$(($$(cat .buildno) + 1)) > .buildno

8
ui/autogen.sh Executable file
View file

@ -0,0 +1,8 @@
#!/bin/sh
version=1.11
set -x
aclocal-$version
autoconf
libtoolize
automake-$version --add-missing --foreign

View file

@ -0,0 +1,10 @@
#define Bluetooth_icon_width 24
#define Bluetooth_icon_height 24
static unsigned char Bluetooth_icon_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x38, 0x00,
0x00, 0x78, 0x00, 0x00, 0xd8, 0x00, 0x80, 0x98, 0x01, 0x80, 0x19, 0x03,
0x00, 0x9b, 0x01, 0x00, 0xde, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x38, 0x00,
0x00, 0x3c, 0x00, 0x00, 0x7e, 0x00, 0x00, 0xdb, 0x00, 0x80, 0x99, 0x01,
0x80, 0x18, 0x03, 0x00, 0x98, 0x01, 0x00, 0xd8, 0x00, 0x00, 0x78, 0x00,
0x00, 0x38, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};

10
ui/bitmaps/Exit_icon.xbm Normal file
View file

@ -0,0 +1,10 @@
#define Exit_icon_width 24
#define Exit_icon_height 24
static unsigned char Exit_icon_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0x03, 0xf0, 0xff, 0x03,
0x30, 0x0c, 0x03, 0x30, 0x0c, 0x03, 0x30, 0x0c, 0x03, 0x30, 0x0c, 0x01,
0x30, 0x0c, 0x02, 0x30, 0x0c, 0x03, 0x30, 0x8c, 0x03, 0x30, 0xcc, 0x1f,
0x30, 0xcc, 0x1f, 0x30, 0x8c, 0x03, 0x30, 0x0c, 0x03, 0x30, 0x06, 0x02,
0x30, 0x03, 0x01, 0xb0, 0x01, 0x03, 0xf0, 0x00, 0x03, 0x70, 0x00, 0x03,
0xf0, 0xff, 0x03, 0xf0, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};

View file

@ -0,0 +1,10 @@
#define Message_icon_width 24
#define Message_icon_height 24
static unsigned char Message_icon_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x3f,
0xfc, 0xff, 0x3f, 0x3c, 0x00, 0x3c, 0x6c, 0x00, 0x36, 0xcc, 0x00, 0x33,
0x8c, 0x81, 0x31, 0x0c, 0xc3, 0x30, 0x0c, 0x66, 0x30, 0x0c, 0x3c, 0x30,
0x0c, 0x18, 0x30, 0x0c, 0x00, 0x30, 0x0c, 0x00, 0x30, 0x0c, 0x00, 0x30,
0x0c, 0x00, 0x30, 0x0c, 0x00, 0x30, 0xfc, 0xff, 0x3f, 0xfc, 0xff, 0x3f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};

10
ui/bitmaps/acc_icon.xbm Normal file
View file

@ -0,0 +1,10 @@
#define acc_icon_width 24
#define acc_icon_height 24
static unsigned char acc_icon_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x20, 0x00, 0x00,
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x70, 0x00, 0x00,
0xa8, 0xe0, 0x00, 0x20, 0x40, 0x00, 0x20, 0xe0, 0x00, 0x20, 0x0e, 0x00,
0x20, 0x0c, 0x00, 0x20, 0x0a, 0x00, 0x20, 0x01, 0x00, 0xa0, 0x40, 0x00,
0x60, 0x80, 0x14, 0xf8, 0xff, 0x09, 0x30, 0x80, 0x14, 0x28, 0x40, 0x00,
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};

10
ui/bitmaps/alarm_icon.xbm Normal file
View file

@ -0,0 +1,10 @@
#define alarm_icon_width 24
#define alarm_icon_height 24
static unsigned char alarm_icon_bits[] = {
0x00, 0x00, 0x00, 0x1c, 0x00, 0x38, 0x1e, 0xff, 0x78, 0xce, 0xff, 0x73,
0xe6, 0x00, 0x67, 0x70, 0x18, 0x0e, 0x38, 0x18, 0x1c, 0x18, 0x18, 0x18,
0x0c, 0x18, 0x30, 0x0c, 0x18, 0x30, 0x0c, 0x18, 0x30, 0x0c, 0xf8, 0x31,
0x0c, 0xf8, 0x31, 0x0c, 0x00, 0x30, 0x0c, 0x00, 0x30, 0x0c, 0x00, 0x30,
0x18, 0x00, 0x18, 0x38, 0x00, 0x1c, 0x70, 0x00, 0x0e, 0xe0, 0x00, 0x07,
0xc0, 0xff, 0x03, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};

View file

@ -0,0 +1,7 @@
#define battery0_icon_width 15
#define battery0_icon_height 20
static unsigned char battery0_icon_bits[] = {
0x00, 0x00, 0x00, 0x1c, 0x00, 0x3e, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22,
0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22,
0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x3e,
0x00, 0x00, 0x00, 0x00, };

View file

@ -0,0 +1,7 @@
#define battery100_icon_width 15
#define battery100_icon_height 20
static unsigned char battery100_icon_bits[] = {
0x00, 0x00, 0x00, 0x1c, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e,
0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e,
0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e,
0x00, 0x00, 0x00, 0x00, };

View file

@ -0,0 +1,7 @@
#define battery25_icon_width 15
#define battery25_icon_height 20
static unsigned char battery25_icon_bits[] = {
0x00, 0x00, 0x00, 0x1c, 0x00, 0x3e, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22,
0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22,
0x00, 0x22, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e,
0x00, 0x00, 0x00, 0x00, };

View file

@ -0,0 +1,7 @@
#define battery50_icon_width 15
#define battery50_icon_height 20
static unsigned char battery50_icon_bits[] = {
0x00, 0x00, 0x00, 0x1c, 0x00, 0x3e, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22,
0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e,
0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e,
0x00, 0x00, 0x00, 0x00, };

View file

@ -0,0 +1,7 @@
#define battery75_icon_width 15
#define battery75_icon_height 20
static unsigned char battery75_icon_bits[] = {
0x00, 0x00, 0x00, 0x1c, 0x00, 0x3e, 0x00, 0x22, 0x00, 0x22, 0x00, 0x3e,
0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e,
0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e, 0x00, 0x3e,
0x00, 0x00, 0x00, 0x00, };

View file

@ -0,0 +1,7 @@
#define bluetooth_con_icon_width 15
#define bluetooth_con_icon_height 20
static unsigned char bluetooth_con_icon_bits[] = {
0x6c, 0x00, 0xce, 0x00, 0xaa, 0x00, 0xc6, 0x00, 0xaa, 0x00, 0xce, 0x00,
0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, };

View file

@ -0,0 +1,7 @@
#define bluetooth_icon_width 15
#define bluetooth_icon_height 20
static unsigned char bluetooth_icon_bits[] = {
0x10, 0x00, 0x30, 0x00, 0x54, 0x00, 0x38, 0x00, 0x54, 0x00, 0x30, 0x00,
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, };

View file

@ -0,0 +1,7 @@
#define charger_icon_width 15
#define charger_icon_height 20
static unsigned char charger_icon_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x7c, 0x00,
0x7c, 0x00, 0x38, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00,
0x00, 0x00, 0x00, 0x00, };

View file

@ -0,0 +1,4 @@
#define checked_icon_width 7
#define checked_icon_height 7
static unsigned char checked_icon_bits[] = {
0x7f, 0x41, 0x5d, 0x5d, 0x5d, 0x41, 0x7f, };

View file

@ -0,0 +1,7 @@
#define downbutton_icon_width 15
#define downbutton_icon_height 20
static unsigned char downbutton_icon_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x80, 0x7f, 0x00, 0x3f,
0x00, 0x1e, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, };

View file

@ -0,0 +1,7 @@
#define enterbutton_icon_width 15
#define enterbutton_icon_height 20
static unsigned char enterbutton_icon_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x64, 0x00, 0x66, 0x00, 0x67, 0x80, 0x7f, 0x80, 0x7f, 0x00, 0x07,
0x00, 0x06, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, };

10
ui/bitmaps/exit_icon.xbm Normal file
View file

@ -0,0 +1,10 @@
#define exit_icon_width 24
#define exit_icon_height 24
static unsigned char exit_icon_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0x03, 0xf0, 0xff, 0x03,
0x30, 0x0c, 0x03, 0x30, 0x0c, 0x03, 0x30, 0x0c, 0x03, 0x30, 0x0c, 0x01,
0x30, 0x0c, 0x02, 0x30, 0x0c, 0x03, 0x30, 0x8c, 0x03, 0x30, 0xcc, 0x1f,
0x30, 0xcc, 0x1f, 0x30, 0x8c, 0x03, 0x30, 0x0c, 0x03, 0x30, 0x06, 0x02,
0x30, 0x03, 0x01, 0xb0, 0x01, 0x03, 0xf0, 0x00, 0x03, 0x70, 0x00, 0x03,
0xf0, 0xff, 0x03, 0xf0, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};

10
ui/bitmaps/info_icon.xbm Normal file
View file

@ -0,0 +1,10 @@
#define info_icon_width 24
#define info_icon_height 24
static unsigned char info_icon_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xc0, 0xff, 0x03,
0xe0, 0x00, 0x07, 0x70, 0x1c, 0x0e, 0x38, 0x1c, 0x1c, 0x18, 0x1c, 0x18,
0x0c, 0x00, 0x30, 0x0c, 0x1c, 0x30, 0x0c, 0x1c, 0x30, 0x0c, 0x1c, 0x30,
0x0c, 0x1c, 0x30, 0x0c, 0x1c, 0x30, 0x0c, 0x1c, 0x30, 0x0c, 0x1c, 0x30,
0x18, 0x1c, 0x18, 0x38, 0x1c, 0x1c, 0x70, 0x00, 0x0e, 0xe0, 0x00, 0x07,
0xc0, 0xff, 0x03, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};

View file

@ -0,0 +1,7 @@
#define lapsebutton_icon_width 15
#define lapsebutton_icon_height 20
static unsigned char lapsebutton_icon_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61,
0x00, 0x63, 0x00, 0x67, 0xc0, 0x6f, 0xc0, 0x6f, 0x00, 0x67, 0x00, 0x63,
0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, };

View file

@ -0,0 +1,7 @@
#define leftbutton_icon_width 15
#define leftbutton_icon_height 20
static unsigned char leftbutton_icon_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x04, 0x00, 0x06, 0x00, 0x07, 0x80, 0x7f, 0x80, 0x7f, 0x00, 0x07,
0x00, 0x06, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, };

View file

@ -0,0 +1,10 @@
#define main_menu_icon_width 24
#define main_menu_icon_height 24
static unsigned char main_menu_icon_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x1f, 0xfc, 0xff, 0x3f,
0x0c, 0x00, 0x30, 0x0c, 0x00, 0x30, 0x0c, 0x00, 0x30, 0x0c, 0x00, 0x30,
0xcc, 0xdd, 0x31, 0xcc, 0xdd, 0x31, 0xcc, 0xdd, 0x31, 0x0c, 0x00, 0x30,
0xcc, 0xdd, 0x31, 0xcc, 0xdd, 0x31, 0xcc, 0xdd, 0x31, 0x0c, 0x00, 0x30,
0x0c, 0x00, 0x30, 0x0c, 0x00, 0x30, 0x0c, 0x00, 0x30, 0xfc, 0xff, 0x3f,
0xf8, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};

View file

@ -0,0 +1,10 @@
#define message_icon_width 24
#define message_icon_height 24
static unsigned char message_icon_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xfe, 0xff, 0x7f, 0xfe, 0xff, 0x7f, 0x0e, 0x00, 0x70,
0x1e, 0x00, 0x78, 0x36, 0x00, 0x6c, 0x66, 0x00, 0x66, 0xc6, 0x00, 0x63,
0x86, 0x81, 0x61, 0x06, 0xc3, 0x60, 0x06, 0x66, 0x60, 0x06, 0x3c, 0x60,
0x06, 0x18, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60,
0xfe, 0xff, 0x7f, 0xfe, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};

View file

@ -0,0 +1,7 @@
#define resetbutton_icon_width 15
#define resetbutton_icon_height 20
static unsigned char resetbutton_icon_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0c, 0x00, 0x0e, 0x00, 0xff, 0x00,
0xff, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xc8, 0x00, 0xc0, 0x00, 0xc0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, };

View file

@ -0,0 +1,7 @@
#define rightbutton_icon_width 15
#define rightbutton_icon_height 20
static unsigned char rightbutton_icon_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x08, 0x00, 0x18, 0x00, 0x38, 0x80, 0x7f, 0x80, 0x7f, 0x00, 0x38,
0x00, 0x18, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, };

View file

@ -0,0 +1,7 @@
#define startstopbutton_icon_width 15
#define startstopbutton_icon_height 20
static unsigned char startstopbutton_icon_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b,
0x00, 0x1b, 0x00, 0x3b, 0x00, 0x7b, 0x00, 0x7b, 0x00, 0x3b, 0x00, 0x1b,
0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, };

10
ui/bitmaps/stopwatch.xbm Normal file
View file

@ -0,0 +1,10 @@
#define stopwatch_width 24
#define stopwatch_height 24
static unsigned char stopwatch_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00,
0x00, 0x7e, 0x10, 0x80, 0x81, 0x39, 0x40, 0x18, 0x1e, 0x20, 0x18, 0x0c,
0x10, 0x18, 0x08, 0x08, 0x18, 0x10, 0x08, 0x18, 0x10, 0x04, 0x18, 0x20,
0x04, 0x18, 0x20, 0x04, 0x18, 0x20, 0x04, 0x00, 0x20, 0x04, 0x00, 0x20,
0x04, 0x00, 0x20, 0x08, 0x00, 0x10, 0x08, 0x00, 0x10, 0x10, 0x00, 0x08,
0x20, 0x00, 0x04, 0x40, 0x00, 0x02, 0x80, 0x81, 0x01, 0x00, 0x7e, 0x00,
};

View file

@ -0,0 +1,10 @@
#define stopwatch_icon_width 24
#define stopwatch_icon_height 24
static unsigned char stopwatch_icon_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x3c, 0x00, 0x00, 0xff, 0x0c,
0xc0, 0xff, 0x1f, 0xe0, 0x00, 0x1f, 0x70, 0x18, 0x0e, 0x38, 0x18, 0x1c,
0x18, 0x18, 0x18, 0x0c, 0x18, 0x30, 0x0c, 0x18, 0x30, 0x0c, 0x18, 0x30,
0x0c, 0x18, 0x30, 0x0c, 0x18, 0x30, 0x0c, 0x00, 0x30, 0x0c, 0x00, 0x30,
0x0c, 0x00, 0x30, 0x18, 0x00, 0x18, 0x38, 0x00, 0x1c, 0x70, 0x00, 0x0e,
0xe0, 0x00, 0x07, 0xc0, 0xff, 0x03, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
};

View file

@ -0,0 +1,10 @@
#define timesetup_icon_width 24
#define timesetup_icon_height 24
static unsigned char timesetup_icon_bits[] = {
0x00, 0xff, 0x00, 0xc0, 0xff, 0x03, 0xe0, 0x00, 0x07, 0x70, 0x18, 0x0e,
0x38, 0x18, 0x1c, 0x18, 0x18, 0x18, 0x0c, 0x18, 0x30, 0x0c, 0x18, 0x30,
0x0c, 0x18, 0x30, 0x0c, 0xf8, 0x31, 0x0c, 0xf8, 0x31, 0x0c, 0x00, 0x30,
0x0c, 0x00, 0x30, 0x0c, 0x00, 0x30, 0x18, 0x00, 0x18, 0x38, 0x00, 0x1c,
0x70, 0x00, 0x0e, 0xe0, 0x00, 0x07, 0xc0, 0xff, 0x03, 0x00, 0xff, 0x00,
0xfe, 0x00, 0x00, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x3f, 0xfe, 0x00, 0x00,
};

View file

@ -0,0 +1,4 @@
#define unchecked_icon_width 7
#define unchecked_icon_height 7
static unsigned char unchecked_icon_bits[] = {
0x7f, 0x41, 0x41, 0x41, 0x41, 0x41, 0x7f, };

View file

@ -0,0 +1,7 @@
#define upbutton_icon_width 15
#define upbutton_icon_height 20
static unsigned char upbutton_icon_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
0x00, 0x1e, 0x00, 0x3f, 0x80, 0x7f, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c,
0x00, 0x0c, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, };

10
ui/bitmaps/watch_icon.xbm Normal file
View file

@ -0,0 +1,10 @@
#define watch_icon_width 24
#define watch_icon_height 24
static unsigned char watch_icon_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xff, 0x00, 0xc0, 0xff, 0x03, 0xe0, 0x00, 0x07, 0x70, 0x18, 0x0e,
0x38, 0x18, 0x1c, 0x18, 0x18, 0x18, 0x0c, 0x18, 0x30, 0x0c, 0x18, 0x30,
0x0c, 0x18, 0x30, 0x0c, 0xf8, 0x31, 0x0c, 0xf8, 0x31, 0x0c, 0x00, 0x30,
0x0c, 0x00, 0x30, 0x0c, 0x00, 0x30, 0x18, 0x00, 0x18, 0x38, 0x00, 0x1c,
0x70, 0x00, 0x0e, 0xe0, 0x00, 0x07, 0xc0, 0xff, 0x03, 0x00, 0xff, 0x00,
};

209
ui/calendar.c Normal file
View file

@ -0,0 +1,209 @@
#include "oswald.h"
#include "calendar.h"
unsigned char is_leap(const unsigned int year)
{
/* the rule is, everything that can be devided by 4 is leap.
* Exception: the year can be devided by 100, then it is not,
* except it canbe devided by 400, then it is again.
*/
if ((year % 400) == 0)
return 1;
else if ((year % 100) == 0)
return 0;
else if ((year % 4) == 0)
return 1;
return 0;
}
unsigned short days_of_month(const unsigned int uMonat, const unsigned int uJahr)
{
// invalid,January,Febuary,March,April,May,June,July,August,September,October,November,December
int arrTageImMonat[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if (uMonat == 2) {
// Febuary: distinguish leap
if (is_leap(uJahr))
return 29;
else
return 28;
}
if ((uMonat >= 1) && (uMonat <= 12))
return arrTageImMonat[uMonat];
else {
return 0;
}
}
short getAnzahlTageImJahr(const unsigned int uJahr)
{
return (is_leap(uJahr)) ? 366 : 365;
}
short getWochentag(const unsigned int uTag, const unsigned int uMonat, const unsigned int uJahr)
{
// ungült Jan Feb Mrz Apr Mai Jun Jul Aug Sep Okt Nov Dez
unsigned char arrMonatsOffset[13] = { 0, 0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5};
short nErgebnis = 0;
// Monat / Tag - Plausi prüfen:
if ((uTag > 31) || (uMonat > 12) || (uMonat <= 0)
|| (uTag <= 0) || (uJahr <= 0)) {
return -1;
}
unsigned char cbTagesziffer = (uTag % 7);
unsigned char cbMonatsziffer = arrMonatsOffset[uMonat];
unsigned char cbJahresziffer = ((uJahr % 100) + ((uJahr % 100) / 4)) % 7;
unsigned char cbJahrhundertziffer = (3 - ((uJahr / 100) % 4)) * 2;
// Schaltjahreskorrektur:
if ((uMonat <= 2) && (is_leap(uJahr)))
cbTagesziffer = cbTagesziffer + 6;
nErgebnis = (cbTagesziffer + cbMonatsziffer + cbJahresziffer + cbJahrhundertziffer) % 7;
// Ergebnis:
// 0 = Sonntag
// 1 = Montag
// 2 = Dienstag
// 3 = Mittwoch
// 4 = Donnerstag
// 5 = Freitag
// 6 = Samstag
return nErgebnis;
}
short getTagDesJahres(const unsigned int uTag, const unsigned int uMonat, const unsigned int uJahr)
{
// Der wievielte Tag des Jahres ist dieser Tag
if ((uMonat == 0) || (uMonat > 12)) {
return -1;
}
unsigned int uLokalTag = uTag;
unsigned int uLokalMonat = uMonat;
while (uLokalMonat > 1) {
uLokalMonat--;
uLokalTag += days_of_month(uLokalMonat, uJahr);
}
return uLokalTag;
}
short getKalenderwoche(short uTag, short uMonat, short uJahr)
{
// Berechnung erfolgt analog DIN 1355, welche besagt:
// Der erste Donnerstag im neuen Jahr liegt immer in der KW 1.
// "Woche" ist dabei definiert als [Mo, ..., So].
short nTagDesJahres = getTagDesJahres(uTag, uMonat, uJahr);
// Berechnen des Wochentags des 1. Januar:
short nWochentag1Jan = getWochentag(1, 1, uJahr);
// Sonderfälle Freitag und Samstag
if (nWochentag1Jan >= 5)
nWochentag1Jan = nWochentag1Jan - 7;
// Sonderfälle "Jahresanfang mit KW - Nummer aus dem Vorjahr"
if ( (nTagDesJahres + nWochentag1Jan) <= 1) {
return getKalenderwoche(31, 12, uJahr - 1);
}
short nKalenderWoche = ((nTagDesJahres + nWochentag1Jan + 5) / 7);
// 53 Kalenderwochen hat grundsätzlich nur ein Jahr,
// welches mit einem Donnerstag anfängt !
// In Schaltjahren ist es auch mit einem Mittwoch möglich, z.B. 1992
// Andernfalls ist diese KW schon die KW1 des Folgejahres.
if (nKalenderWoche == 53) {
boolean bIstSchaltjahr = is_leap(uJahr);
if ((nWochentag1Jan == 4) // Donnerstag
|| (nWochentag1Jan == -3) // auch Donnerstag
|| ((nWochentag1Jan == 3) && bIstSchaltjahr)
|| ((nWochentag1Jan == -4) && bIstSchaltjahr)) {
; // Das ist korrekt und erlaubt
} else
nKalenderWoche = 1; // Korrektur des Wertes
}
return nKalenderWoche;
}
void getOsterdatum(const unsigned int uJahr, unsigned int *uTag, unsigned int *uMonat)
{
// Berechnet für ein beliebiges Jahr das Osterdatum.
// Quelle des Gauss - Algorithmus: Stefan Gerth,
// "Die Gauß'sche Osterregel", Nürnberg, Februar 2003.
// http://krapfen.org/content/paper/Schule/Facharbeit/Berechnung_des_Osterfestes.pdf
unsigned int a = uJahr % 19;
unsigned int b = uJahr % 4;
unsigned int c = uJahr % 7;
int k = uJahr / 100;
int q = k / 4;
int p = ((8 * k) + 13) / 25;
unsigned int Egz = (38 - (k - q) + p) % 30; // Die Jahrhundertepakte
unsigned int M = (53 - Egz) % 30;
unsigned int N = (4 + k - q) % 7;
unsigned int d = ((19 * a) + M) % 30;
unsigned int e = ((2 * b) + (4 * c) + (6 * d) + N) % 7;
// Ausrechnen des Ostertermins:
if ((22 + d + e) <= 31) {
*uTag = 22 + d + e;
*uMonat = 3;
} else {
*uTag = d + e - 9;
*uMonat = 4;
// Zwei Ausnahmen berücksichtigen:
if (*uTag == 26)
*uTag = 19;
else if ((*uTag == 25) && (d == 28) && (a > 10))
*uTag = 18;
}
// Offsets für andere Feiertage:
// Schwerdonnerstag / Weiberfastnacht -52
// Rosenmontag -48
// Fastnachtsdienstag -47
// Aschermittwoch -46
// Gründonnerstag -3
// Karfreitag -2
// Ostersonntag 0
// Ostermontag +1
// Christi Himmelfahrt +39
// Pfingstsonntag +49
// Pfingstmontag +50
// Fronleichnam +60
// Mariä Himmelfahrt ist stets am 15. August (Danke an Michael Plugge!)
}
void getViertenAdvent(const unsigned int uJahr, unsigned int *uTag, unsigned int *uMonat)
{
// Berechnet für ein beliebiges Jahr das Datum des 4. Advents-Sonntags.
// Der 4. Adventssonntag ist stets der Sonntag vor dem 1. Weihnachtsfeiertag,
// muß also stets in der Periode [18. - 24.12.] liegen:
*uMonat = 12; // Das steht jedes Jahr fest :-)
short nWoTag = getWochentag(24, 12, uJahr); // Wochentag des 24.12. ermitteln
*uTag = 24 - nWoTag;
// Offsets: Der Buß- und Bettag liegt stets 32 Tage vor dem 4. Advent
}

21
ui/calendar.h Normal file
View file

@ -0,0 +1,21 @@
#ifndef _CALENDAR_H
#define _CALENDAR_H
unsigned char is_leap(const unsigned int year);
unsigned short days_of_month(const unsigned int uMonat, const unsigned int uJahr);
short getAnzahlTageImJahr(const unsigned int uJahr);
short getWochentag(const unsigned int uTag, const unsigned int uMonat, const unsigned int uJahr);
short getTagDesJahres(const unsigned int uTag, const unsigned int uMonat, const unsigned int uJahr);
short getKalenderwoche(short uTag, short uMonat, short uJahr);
void getOsterdatum(const unsigned int uJahr, unsigned int *uTag, unsigned int *uMonat);
void getViertenAdvent(const unsigned int uJahr, unsigned int *uTag, unsigned int *uMonat);
#endif

17
ui/configure.in Normal file
View file

@ -0,0 +1,17 @@
AC_CONFIG_MACRO_DIR([m4])
# AC_CONFIG_HEADER(config.h)
AC_INIT(Makefile.am)
AM_INIT_AUTOMAKE(oswald-gui, 0.01)
AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_LIBTOOL
AM_MAINTAINER_MODE
PKG_CHECK_MODULES(GTK, gtk+-2.0)
AC_SUBST(GTK_LIBS)
AC_SUBST(GTK_CFLAGS)
AC_OUTPUT([ Makefile ])

311
ui/embedvm.c Normal file
View file

@ -0,0 +1,311 @@
/*
* EmbedVM - Embedded Virtual Machine for uC Applications
*
* Copyright (C) 2011 Clifford Wolf <clifford@clifford.at>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
*/
#include "embedvm.h"
static inline int16_t signext(uint16_t val, uint16_t mask)
{
val = val & mask;
if ((val & ~(mask >> 1)) != 0)
val |= ~mask;
return val;
}
extern void embedvm_exec(struct embedvm_s *vm)
{
uint8_t opcode = vm->mem_read(vm->ip, false, vm->user_ctx);
uint16_t addr = 0;
int16_t a = 0, b = 0;
int8_t sfa = 0;
switch (opcode)
{
case 0x00 ... 0x3f:
sfa = signext(opcode, 0x3f);
embedvm_push(vm, embedvm_local_read(vm, sfa));
vm->ip++;
break;
case 0x40 ... 0x7f:
sfa = signext(opcode, 0x3f);
embedvm_local_write(vm, sfa, embedvm_pop(vm));
vm->ip++;
break;
case 0x80+0 ... 0x80+11:
case 0xa8+0 ... 0xa8+5:
b = embedvm_pop(vm);
case 0x80+12 ... 0x80+14:
a = embedvm_pop(vm);
switch (opcode)
{
case 0x80 + 0: embedvm_push(vm, a + b); break;
case 0x80 + 1: embedvm_push(vm, a - b); break;
case 0x80 + 2: embedvm_push(vm, a * b); break;
case 0x80 + 3: embedvm_push(vm, a / b); break;
case 0x80 + 4: embedvm_push(vm, a % b); break;
case 0x80 + 5: embedvm_push(vm, a << b); break;
case 0x80 + 6: embedvm_push(vm, a >> b); break;
case 0x80 + 7: embedvm_push(vm, a & b); break;
case 0x80 + 8: embedvm_push(vm, a | b); break;
case 0x80 + 9: embedvm_push(vm, a ^ b); break;
case 0x80 + 10: embedvm_push(vm, a && b); break;
case 0x80 + 11: embedvm_push(vm, a || b); break;
case 0x80 + 12: embedvm_push(vm, ~a); break;
case 0x80 + 13: embedvm_push(vm, -a); break;
case 0x80 + 14: embedvm_push(vm, !a); break;
case 0xa8 + 0: embedvm_push(vm, a < b); break;
case 0xa8 + 1: embedvm_push(vm, a <= b); break;
case 0xa8 + 2: embedvm_push(vm, a == b); break;
case 0xa8 + 3: embedvm_push(vm, a != b); break;
case 0xa8 + 4: embedvm_push(vm, a >= b); break;
case 0xa8 + 5: embedvm_push(vm, a > b); break;
}
vm->ip++;
break;
case 0x90 ... 0x97:
a = signext(opcode, 0x07);
if ((a & 0x04) != 0)
a |= ~0x07;
embedvm_push(vm, a);
vm->ip++;
break;
case 0x98:
a = vm->mem_read(vm->ip+1, false, vm->user_ctx) & 0x00ff;
embedvm_push(vm, a);
vm->ip += 2;
break;
case 0x99:
a = vm->mem_read(vm->ip+1, false, vm->user_ctx) & 0x00ff;
embedvm_push(vm, signext(a, 0x00ff));
vm->ip += 2;
break;
case 0x9a:
a = vm->mem_read(vm->ip+1, true, vm->user_ctx);
embedvm_push(vm, a);
vm->ip += 3;
break;
case 0x9b:
a = embedvm_pop(vm);
if (0) {
case 0x9c:
a = 0;
}
vm->sp = vm->sfp;
vm->ip = embedvm_pop(vm);
vm->sfp = embedvm_pop(vm);
if ((vm->sfp & 1) != 0)
vm->sfp &= ~1;
else
embedvm_push(vm, a);
break;
case 0x9d:
embedvm_pop(vm);
vm->ip++;
break;
case 0x9e:
addr = embedvm_pop(vm);
if (vm->mem_read(vm->ip+1, false, vm->user_ctx) == 0x9d) {
embedvm_push(vm, vm->sfp | 1);
embedvm_push(vm, vm->ip + 2);
} else {
embedvm_push(vm, vm->sfp);
embedvm_push(vm, vm->ip + 1);
}
vm->sfp = vm->sp;
vm->ip = addr;
break;
case 0x9f:
vm->ip = embedvm_pop(vm);
break;
case 0xa0 ... 0xa0+7:
if ((opcode & 1) == 0) {
addr = vm->ip + signext(vm->mem_read(vm->ip+1, false, vm->user_ctx), 0x00ff);
vm->ip += 2;
} else {
addr = vm->ip + vm->mem_read(vm->ip+1, true, vm->user_ctx);
vm->ip += 3;
}
switch (opcode)
{
case 0xa0:
case 0xa1:
vm->ip = addr;
break;
case 0xa2:
case 0xa3:
if (vm->mem_read(vm->ip, false, vm->user_ctx) == 0x9d) {
embedvm_push(vm, vm->sfp | 1);
embedvm_push(vm, vm->ip + 1);
} else {
embedvm_push(vm, vm->sfp);
embedvm_push(vm, vm->ip);
}
vm->sfp = vm->sp;
vm->ip = addr;
break;
case 0xa4:
case 0xa5:
if (embedvm_pop(vm))
vm->ip = addr;
break;
case 0xa6:
case 0xa7:
if (!embedvm_pop(vm))
vm->ip = addr;
break;
}
break;
case 0xae:
embedvm_push(vm, vm->sp);
vm->ip++;
break;
case 0xaf:
embedvm_push(vm, vm->sfp);
vm->ip++;
break;
case 0xb0 ... 0xb0+15:
{
uint8_t argc = embedvm_pop(vm);
int16_t argv[argc];
for (sfa=0; sfa<argc; sfa++)
argv[sfa] = embedvm_pop(vm);
a = vm->call_user(opcode - 0xb0, argc, argv, vm->user_ctx);
embedvm_push(vm, a);
}
vm->ip++;
break;
case 0xc0 ... 0xef:
if ((opcode & 0x07) == 5) {
/* this is a "bury" instruction */
uint8_t depth = (opcode >> 3) & 0x07;
int16_t stack[depth+1];
for (sfa = 0; sfa <= depth; sfa++)
stack[sfa] = embedvm_pop(vm);
embedvm_push(vm, stack[0]);
for (sfa = depth; sfa > 0; sfa--)
embedvm_push(vm, stack[sfa]);
embedvm_push(vm, stack[0]);
vm->ip++;
break;
}
if ((opcode & 0x07) == 6) {
/* this is a "dig" instruction */
uint8_t depth = (opcode >> 3) & 0x07;
int16_t stack[depth+2];
for (sfa = 0; sfa < depth+2; sfa++)
stack[sfa] = embedvm_pop(vm);
for (sfa = depth+1; sfa > 0; sfa--)
embedvm_push(vm, stack[sfa-1]);
embedvm_push(vm, stack[depth+1]);
vm->ip++;
break;
}
sfa = ((opcode >> 3) & 0x07) == 4 || ((opcode >> 3) & 0x07) == 5 ? 1 : 0;
switch (opcode & 0x07)
{
case 0:
addr = vm->mem_read(vm->ip+1, false, vm->user_ctx) & 0x00ff;
vm->ip += 2;
break;
case 1:
addr = vm->mem_read(vm->ip+1, true, vm->user_ctx);
vm->ip += 3;
break;
case 2:
addr = embedvm_pop(vm);
vm->ip++;
break;
case 3:
addr = (embedvm_pop(vm) << sfa) + (vm->mem_read(vm->ip+1, false, vm->user_ctx) & 0x00ff);
vm->ip += 2;
break;
case 4:
addr = (embedvm_pop(vm) << sfa) + vm->mem_read(vm->ip+1, true, vm->user_ctx);
vm->ip += 3;
break;
}
switch ((opcode >> 3) & 0x07)
{
case 0:
embedvm_push(vm, vm->mem_read(addr, false, vm->user_ctx) & 0x00ff);
break;
case 1:
vm->mem_write(addr, embedvm_pop(vm), false, vm->user_ctx);
break;
case 2:
embedvm_push(vm, signext(vm->mem_read(addr, false, vm->user_ctx), 0x00ff));
break;
case 3:
vm->mem_write(addr, embedvm_pop(vm), false, vm->user_ctx);
break;
case 4:
embedvm_push(vm, vm->mem_read(addr, true, vm->user_ctx));
break;
case 5:
vm->mem_write(addr, embedvm_pop(vm), true, vm->user_ctx);
break;
}
break;
case 0xf0 ... 0xf7:
for (sfa = 0; sfa <= (opcode & 0x07); sfa++)
embedvm_push(vm, 0);
vm->ip++;
break;
case 0xf8 ... 0xff:
a = embedvm_pop(vm);
vm->sp += 2 + 2*(opcode & 0x07);
embedvm_push(vm, a);
vm->ip++;
break;
}
}
void embedvm_interrupt(struct embedvm_s *vm, uint16_t addr)
{
embedvm_push(vm, vm->sfp | 1);
embedvm_push(vm, vm->ip);
vm->sfp = vm->sp;
vm->ip = addr;
}
int16_t embedvm_pop(struct embedvm_s *vm)
{
int16_t value = vm->mem_read(vm->sp, true, vm->user_ctx);
vm->sp += 2;
return value;
}
void embedvm_push(struct embedvm_s *vm, int16_t value)
{
vm->sp -= 2;
vm->mem_write(vm->sp, value, true, vm->user_ctx);
}
int16_t embedvm_local_read(struct embedvm_s *vm, int8_t sfa)
{
uint16_t addr = vm->sfp - 2*sfa + (sfa < 0 ? +2 : -2);
return vm->mem_read(addr, true, vm->user_ctx);
}
void embedvm_local_write(struct embedvm_s *vm, int8_t sfa, int16_t value)
{
uint16_t addr = vm->sfp - 2*sfa + (sfa < 0 ? +2 : -2);
vm->mem_write(addr, value, true, vm->user_ctx);
}

53
ui/embedvm.h Normal file
View file

@ -0,0 +1,53 @@
/*
* EmbedVM - Embedded Virtual Machine for uC Applications
*
* Copyright (C) 2011 Clifford Wolf <clifford@clifford.at>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
*/
#ifndef EMBEDVM_H
#define EMBEDVM_H
#include <stdint.h>
#include <stdbool.h>
#ifdef __cplusplus
extern "C" {
#endif
struct embedvm_s
{
uint16_t ip, sp, sfp;
void *user_ctx;
int16_t (*mem_read)(uint16_t addr, bool is16bit, void *ctx);
void (*mem_write)(uint16_t addr, int16_t value, bool is16bit, void *ctx);
int16_t (*call_user)(uint8_t funcid, uint8_t argc, int16_t *argv, void *ctx);
};
extern void embedvm_exec(struct embedvm_s *vm);
extern void embedvm_interrupt(struct embedvm_s *vm, uint16_t addr);
int16_t embedvm_pop(struct embedvm_s *vm);
void embedvm_push(struct embedvm_s *vm, int16_t value);
int16_t embedvm_local_read(struct embedvm_s *vm, int8_t sfa);
void embedvm_local_write(struct embedvm_s *vm, int8_t sfa, int16_t value);
#ifdef __cplusplus
}
#endif
#endif

BIN
ui/fonts/DroidSans-Bold.ttf Normal file

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,261 @@
/* -FreeType-Droid_Sans-Bold-R-Normal--11-80-96-96-P-63-ISO10646-1 */
#define FONT_WIDTH_Droid_SansBold_11x14 11
#define FONT_HEIGHT_Droid_SansBold_11x14 14
const uint8_t FONT_DATA_Droid_SansBold_11x14[256][29] = {
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x00,0x14,0x00,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x48,0x00,0x48,0x00,0xfe,0x00,0x68,0x00,0x2c,0x00,0xfe,0x00,0x24,0x00,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x3c,0x00,0x0a,0x00,0x0e,0x00,0x1c,0x00,0x38,0x00,0x2a,0x00,0x1e,0x00,0x08,0x00,0x00,0x00,0x00,0x00,},
{/*w*/10,0x00,0x00,0x00,0x00,0x00,0x00,0x8c,0x00,0x52,0x00,0x52,0x00,0x2c,0x00,0xa0,0x01,0x50,0x02,0x50,0x02,0x88,0x01,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x24,0x00,0x24,0x00,0x18,0x00,0xde,0x00,0x72,0x00,0x76,0x00,0xdc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x08,0x00,0x0c,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x0c,0x00,0x08,0x00,0x18,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x04,0x00,0x0c,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x0c,0x00,0x04,0x00,0x06,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x2a,0x00,0x3e,0x00,0x14,0x00,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x3e,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x0c,0x00,0x04,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x10,0x00,0x10,0x00,0x08,0x00,0x08,0x00,0x04,0x00,0x04,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x1c,0x00,0x1a,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x36,0x00,0x30,0x00,0x30,0x00,0x18,0x00,0x0c,0x00,0x06,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x30,0x00,0x30,0x00,0x0c,0x00,0x30,0x00,0x30,0x00,0x32,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x38,0x00,0x34,0x00,0x36,0x00,0x7e,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x06,0x00,0x06,0x00,0x1e,0x00,0x30,0x00,0x30,0x00,0x32,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x04,0x00,0x06,0x00,0x1a,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x30,0x00,0x30,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x36,0x00,0x36,0x00,0x1c,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x2c,0x00,0x30,0x00,0x10,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x0c,0x00,0x04,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x06,0x00,0x1c,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x0c,0x00,0x30,0x00,0x1c,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x12,0x00,0x10,0x00,0x0c,0x00,0x04,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/10,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0x18,0x01,0xec,0x02,0xb4,0x02,0x94,0x02,0x94,0x02,0xe4,0x01,0x08,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x28,0x00,0x28,0x00,0x6c,0x00,0x6c,0x00,0x7c,0x00,0xc6,0x00,0xc6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x6c,0x00,0x6c,0x00,0x3c,0x00,0x6c,0x00,0x6c,0x00,0x6c,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x58,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x58,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x6c,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0x6c,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x0c,0x00,0x0c,0x00,0x3c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x0c,0x00,0x0c,0x00,0x3c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0x98,0x00,0x0c,0x00,0xec,0x00,0xec,0x00,0xcc,0x00,0xd8,0x00,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x00,0x00,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xfc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x07,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0xcc,0x00,0x6c,0x00,0x2c,0x00,0x3c,0x00,0x3c,0x00,0x6c,0x00,0x6c,0x00,0xcc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/10,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x03,0x0c,0x03,0x9c,0x03,0x94,0x02,0x94,0x02,0x64,0x02,0x64,0x02,0x64,0x02,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x00,0x00,0x00,0x8c,0x00,0x8c,0x00,0x94,0x00,0x94,0x00,0xa4,0x00,0xa4,0x00,0xc4,0x00,0xc4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/9,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xd8,0x00,0x8c,0x01,0x8c,0x01,0x8c,0x01,0x8c,0x01,0xd8,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x6c,0x00,0x6c,0x00,0x6c,0x00,0x3c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/9,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xd8,0x00,0x8c,0x01,0x8c,0x01,0x8c,0x01,0x8c,0x01,0xd8,0x00,0x70,0x00,0xc0,0x00,0x80,0x01,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x6c,0x00,0x6c,0x00,0x6c,0x00,0x3c,0x00,0x2c,0x00,0x6c,0x00,0xcc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x2c,0x00,0x0c,0x00,0x1c,0x00,0x38,0x00,0x30,0x00,0x34,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x00,0x00,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0xc6,0x00,0xc6,0x00,0x44,0x00,0x6c,0x00,0x6c,0x00,0x28,0x00,0x28,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/10,0x00,0x00,0x00,0x00,0x00,0x00,0x62,0x04,0x66,0x06,0x66,0x06,0xf4,0x02,0x94,0x02,0x9c,0x03,0x98,0x01,0x08,0x01,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0xc6,0x00,0x6c,0x00,0x28,0x00,0x38,0x00,0x38,0x00,0x6c,0x00,0x64,0x00,0xc6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x00,0x26,0x00,0x34,0x00,0x1c,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x60,0x00,0x30,0x00,0x18,0x00,0x08,0x00,0x0c,0x00,0x06,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x1c,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x06,0x00,0x04,0x00,0x0c,0x00,0x08,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x0e,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x18,0x00,0x2c,0x00,0x24,0x00,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x18,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x24,0x00,0x3c,0x00,0x26,0x00,0x36,0x00,0x2c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x3a,0x00,0x66,0x00,0x42,0x00,0x42,0x00,0x66,0x00,0x3a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x26,0x00,0x02,0x00,0x02,0x00,0x26,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0x5c,0x00,0x66,0x00,0x42,0x00,0x42,0x00,0x66,0x00,0x5c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x26,0x00,0x3e,0x00,0x02,0x00,0x06,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x0c,0x00,0x1e,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7c,0x00,0x22,0x00,0x22,0x00,0x1c,0x00,0x02,0x00,0x3c,0x00,0x66,0x00,0x66,0x00,0x3c,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x3a,0x00,0x66,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x06,0x00,0x03,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x32,0x00,0x1a,0x00,0x0a,0x00,0x1e,0x00,0x32,0x00,0x32,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9a,0x01,0x76,0x03,0x22,0x02,0x22,0x02,0x22,0x02,0x22,0x02,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3a,0x00,0x66,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x66,0x00,0x42,0x00,0x42,0x00,0x66,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3a,0x00,0x66,0x00,0x42,0x00,0x42,0x00,0x66,0x00,0x3a,0x00,0x02,0x00,0x02,0x00,0x02,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5c,0x00,0x66,0x00,0x42,0x00,0x42,0x00,0x66,0x00,0x5c,0x00,0x40,0x00,0x40,0x00,0x40,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1a,0x00,0x1e,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x02,0x00,0x0e,0x00,0x18,0x00,0x10,0x00,0x0e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x1e,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x0c,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x66,0x00,0x5c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x00,0x36,0x00,0x14,0x00,0x14,0x00,0x14,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x01,0xb6,0x01,0xb6,0x01,0xcc,0x00,0xcc,0x00,0xcc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x00,0x3c,0x00,0x18,0x00,0x18,0x00,0x3c,0x00,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x00,0x36,0x00,0x14,0x00,0x14,0x00,0x14,0x00,0x08,0x00,0x08,0x00,0x0c,0x00,0x06,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x30,0x00,0x18,0x00,0x0c,0x00,0x06,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x0c,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x10,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x18,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x04,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2e,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x3c,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x3c,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x0c,0x00,0x0c,0x00,0x1e,0x00,0x0c,0x00,0x0c,0x00,0x06,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x24,0x00,0x24,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x00,0x26,0x00,0x3c,0x00,0x1c,0x00,0x3c,0x00,0x18,0x00,0x3c,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x04,0x00,0x18,0x00,0x24,0x00,0x2c,0x00,0x18,0x00,0x20,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x6c,0x00,0x6c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/9,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x88,0x00,0x64,0x01,0x14,0x01,0x14,0x01,0x64,0x01,0x88,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x10,0x00,0x1c,0x00,0x12,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6c,0x00,0x36,0x00,0x36,0x00,0x6c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/9,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x88,0x00,0x74,0x01,0x54,0x01,0x34,0x01,0x54,0x01,0x88,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x12,0x00,0x12,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x3e,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x10,0x00,0x18,0x00,0x04,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x10,0x00,0x0c,0x00,0x10,0x00,0x0e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x66,0x00,0x5e,0x00,0x02,0x00,0x02,0x00,0x02,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x5c,0x00,0x50,0x00,0x50,0x00,0x50,0x00,0x50,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x04,0x00,0x02,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x0c,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x00,0x6c,0x00,0x6c,0x00,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/10,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x00,0x4c,0x00,0x48,0x00,0x28,0x01,0xa8,0x01,0x50,0x01,0xd0,0x03,0x08,0x01,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/10,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x00,0x4c,0x00,0x48,0x00,0xe8,0x01,0x28,0x02,0x10,0x03,0x90,0x00,0xc8,0x03,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/10,0x00,0x00,0x00,0x00,0x00,0x00,0x8e,0x00,0x50,0x00,0x4c,0x00,0x30,0x01,0xae,0x01,0x50,0x01,0xd0,0x03,0x08,0x01,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x08,0x00,0x0c,0x00,0x02,0x00,0x12,0x00,0x1c,0x00,0x00,0x00,},
{/*w*/7,0x18,0x00,0x30,0x00,0x00,0x00,0x10,0x00,0x28,0x00,0x28,0x00,0x6c,0x00,0x6c,0x00,0x7c,0x00,0xc6,0x00,0xc6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x60,0x00,0x30,0x00,0x00,0x00,0x10,0x00,0x28,0x00,0x28,0x00,0x6c,0x00,0x6c,0x00,0x7c,0x00,0xc6,0x00,0xc6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x30,0x00,0x48,0x00,0x00,0x00,0x10,0x00,0x28,0x00,0x28,0x00,0x6c,0x00,0x6c,0x00,0x7c,0x00,0xc6,0x00,0xc6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x58,0x00,0x68,0x00,0x00,0x00,0x10,0x00,0x28,0x00,0x28,0x00,0x6c,0x00,0x6c,0x00,0x7c,0x00,0xc6,0x00,0xc6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x6c,0x00,0x6c,0x00,0x00,0x00,0x10,0x00,0x28,0x00,0x28,0x00,0x6c,0x00,0x6c,0x00,0x7c,0x00,0xc6,0x00,0xc6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x10,0x00,0x28,0x00,0x10,0x00,0x28,0x00,0x28,0x00,0x6c,0x00,0x6c,0x00,0x7c,0x00,0xc6,0x00,0xc6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/10,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x03,0xd0,0x00,0xd8,0x00,0xd8,0x03,0xc8,0x00,0xfc,0x00,0xc4,0x00,0xc6,0x03,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x58,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x58,0x00,0x78,0x00,0x30,0x00,0x20,0x00,0x10,0x00,},
{/*w*/6,0x0c,0x00,0x18,0x00,0x00,0x00,0x3c,0x00,0x0c,0x00,0x0c,0x00,0x3c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x30,0x00,0x18,0x00,0x00,0x00,0x3c,0x00,0x0c,0x00,0x0c,0x00,0x3c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x18,0x00,0x24,0x00,0x00,0x00,0x3c,0x00,0x0c,0x00,0x0c,0x00,0x3c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x6c,0x00,0x6c,0x00,0x00,0x00,0x3c,0x00,0x0c,0x00,0x0c,0x00,0x3c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x06,0x00,0x0c,0x00,0x00,0x00,0x1e,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x18,0x00,0x0c,0x00,0x00,0x00,0x1e,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x0c,0x00,0x12,0x00,0x00,0x00,0x1e,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x36,0x00,0x36,0x00,0x00,0x00,0x1e,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x6c,0x00,0xcc,0x00,0xde,0x00,0xcc,0x00,0xcc,0x00,0x6c,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/8,0x58,0x00,0x68,0x00,0x00,0x00,0x8c,0x00,0x8c,0x00,0x94,0x00,0x94,0x00,0xa4,0x00,0xa4,0x00,0xc4,0x00,0xc4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/9,0x30,0x00,0x60,0x00,0x00,0x00,0x70,0x00,0xd8,0x00,0x8c,0x01,0x8c,0x01,0x8c,0x01,0x8c,0x01,0xd8,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/9,0xc0,0x00,0x60,0x00,0x00,0x00,0x70,0x00,0xd8,0x00,0x8c,0x01,0x8c,0x01,0x8c,0x01,0x8c,0x01,0xd8,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/9,0x60,0x00,0x90,0x00,0x00,0x00,0x70,0x00,0xd8,0x00,0x8c,0x01,0x8c,0x01,0x8c,0x01,0x8c,0x01,0xd8,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/9,0xb0,0x00,0xd0,0x00,0x00,0x00,0x70,0x00,0xd8,0x00,0x8c,0x01,0x8c,0x01,0x8c,0x01,0x8c,0x01,0xd8,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/9,0xd8,0x00,0xd8,0x00,0x00,0x00,0x70,0x00,0xd8,0x00,0x8c,0x01,0x8c,0x01,0x8c,0x01,0x8c,0x01,0xd8,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x00,0x28,0x00,0x10,0x00,0x28,0x00,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/9,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0xd8,0x00,0xcc,0x01,0xac,0x01,0xac,0x01,0x9c,0x01,0xd8,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/8,0x18,0x00,0x30,0x00,0x00,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/8,0x60,0x00,0x30,0x00,0x00,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/8,0x30,0x00,0x48,0x00,0x00,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/8,0xd8,0x00,0xd8,0x00,0x00,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0xcc,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x30,0x00,0x18,0x00,0x00,0x00,0x66,0x00,0x26,0x00,0x34,0x00,0x1c,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x3c,0x00,0x6c,0x00,0x6c,0x00,0x6c,0x00,0x3c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x66,0x00,0x62,0x00,0x12,0x00,0x32,0x00,0xc2,0x00,0x82,0x00,0x7a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x0c,0x00,0x18,0x00,0x00,0x00,0x1c,0x00,0x24,0x00,0x3c,0x00,0x26,0x00,0x36,0x00,0x2c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x1c,0x00,0x24,0x00,0x3c,0x00,0x26,0x00,0x36,0x00,0x2c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x18,0x00,0x24,0x00,0x00,0x00,0x1c,0x00,0x24,0x00,0x3c,0x00,0x26,0x00,0x36,0x00,0x2c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x2c,0x00,0x34,0x00,0x00,0x00,0x1c,0x00,0x24,0x00,0x3c,0x00,0x26,0x00,0x36,0x00,0x2c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x36,0x00,0x36,0x00,0x00,0x00,0x1c,0x00,0x24,0x00,0x3c,0x00,0x26,0x00,0x36,0x00,0x2c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x08,0x00,0x14,0x00,0x08,0x00,0x00,0x00,0x1c,0x00,0x24,0x00,0x3c,0x00,0x26,0x00,0x36,0x00,0x2c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x01,0x60,0x02,0xfc,0x03,0x22,0x00,0x76,0x02,0xdc,0x03,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x26,0x00,0x02,0x00,0x02,0x00,0x26,0x00,0x3c,0x00,0x18,0x00,0x10,0x00,0x08,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x0c,0x00,0x18,0x00,0x00,0x00,0x1c,0x00,0x26,0x00,0x3e,0x00,0x02,0x00,0x06,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x1c,0x00,0x26,0x00,0x3e,0x00,0x02,0x00,0x06,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x18,0x00,0x24,0x00,0x00,0x00,0x1c,0x00,0x26,0x00,0x3e,0x00,0x02,0x00,0x06,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x36,0x00,0x36,0x00,0x00,0x00,0x1c,0x00,0x26,0x00,0x3e,0x00,0x02,0x00,0x06,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x03,0x00,0x06,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x0c,0x00,0x06,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x06,0x00,0x09,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x1b,0x00,0x1b,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x28,0x00,0x18,0x00,0x20,0x00,0x7c,0x00,0x66,0x00,0x42,0x00,0x42,0x00,0x66,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x2c,0x00,0x34,0x00,0x00,0x00,0x3a,0x00,0x66,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x0c,0x00,0x18,0x00,0x00,0x00,0x3c,0x00,0x66,0x00,0x42,0x00,0x42,0x00,0x66,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x3c,0x00,0x66,0x00,0x42,0x00,0x42,0x00,0x66,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x18,0x00,0x24,0x00,0x00,0x00,0x3c,0x00,0x66,0x00,0x42,0x00,0x42,0x00,0x66,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x2c,0x00,0x34,0x00,0x00,0x00,0x3c,0x00,0x66,0x00,0x42,0x00,0x42,0x00,0x66,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x6c,0x00,0x6c,0x00,0x00,0x00,0x3c,0x00,0x66,0x00,0x42,0x00,0x42,0x00,0x66,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x66,0x00,0x52,0x00,0x4a,0x00,0x66,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x0c,0x00,0x18,0x00,0x00,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x66,0x00,0x5c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x66,0x00,0x5c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x18,0x00,0x24,0x00,0x00,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x66,0x00,0x5c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x6c,0x00,0x6c,0x00,0x00,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x66,0x00,0x5c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x22,0x00,0x36,0x00,0x14,0x00,0x14,0x00,0x14,0x00,0x08,0x00,0x08,0x00,0x0c,0x00,0x06,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x3a,0x00,0x66,0x00,0x42,0x00,0x42,0x00,0x66,0x00,0x3a,0x00,0x02,0x00,0x02,0x00,0x02,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x36,0x00,0x36,0x00,0x00,0x00,0x22,0x00,0x36,0x00,0x14,0x00,0x14,0x00,0x14,0x00,0x08,0x00,0x08,0x00,0x0c,0x00,0x06,0x00,},
};

261
ui/fonts/DroidSans.h Normal file
View file

@ -0,0 +1,261 @@
/* -FreeType-Droid Sans-Medium-R-Normal--8-60-96-96-P-44-ISO10646-1 */
#define FONT_WIDTH_Droid SansMedium_13x14 13
#define FONT_HEIGHT_Droid SansMedium_13x14 14
const uint8_t FONT_DATA_Droid SansMedium_13x14[256][29] = {
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0xc0,0x00,0xf0,0x01,0xf0,0x01,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x70,0x00,0x30,0x00,0x30,0x00,0x60,0x00,0x60,0x00,0x70,0x00,0x20,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x01,0xb0,0x00,0xb0,0x03,0x70,0x03,0x40,0x03,0x20,0x03,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0x90,0x00,0x60,0x00,0x50,0x02,0x90,0x01,0xf0,0x01,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x20,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x08,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x70,0x00,0x20,0x00,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0xe0,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x20,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x50,0x00,0x50,0x00,0x50,0x00,0x50,0x00,0x20,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x30,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x20,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x40,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x60,0x00,0x60,0x00,0x50,0x00,0xf0,0x00,0x40,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x10,0x00,0x70,0x00,0x40,0x00,0x40,0x00,0x30,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x10,0x00,0x70,0x00,0x50,0x00,0x50,0x00,0x60,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x50,0x00,0x50,0x00,0x20,0x00,0x50,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x50,0x00,0x50,0x00,0x70,0x00,0x40,0x00,0x30,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x20,0x00,0x30,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x20,0x00,0x60,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x01,0x10,0x02,0xd0,0x02,0xd0,0x02,0xd0,0x03,0x10,0x00,0xe0,0x01,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0xa0,0x00,0xa0,0x00,0xe0,0x00,0x10,0x01,0x10,0x01,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0x90,0x00,0xf0,0x00,0x90,0x00,0x90,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0xe0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x90,0x00,0x90,0x00,0x90,0x00,0x90,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x10,0x00,0x70,0x00,0x10,0x00,0x10,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x10,0x00,0x70,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x01,0x10,0x00,0x10,0x00,0x90,0x01,0x10,0x01,0xe0,0x01,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x01,0x10,0x01,0xf0,0x01,0x10,0x01,0x10,0x01,0x10,0x01,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x08,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90,0x00,0x50,0x00,0x30,0x00,0x50,0x00,0x50,0x00,0x90,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x04,0x30,0x06,0x30,0x06,0x50,0x05,0x50,0x05,0x90,0x04,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x01,0x30,0x01,0x50,0x01,0x50,0x01,0x90,0x01,0x10,0x01,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x00,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,0xe0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0x90,0x00,0x90,0x00,0x70,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x00,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,0xe0,0x00,0x80,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0x90,0x00,0x90,0x00,0x70,0x00,0x50,0x00,0x90,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x10,0x00,0x30,0x00,0x40,0x00,0x40,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,0xe0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x01,0x10,0x01,0xa0,0x00,0xa0,0x00,0xa0,0x00,0x40,0x00,0x00,0x00,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90,0x04,0x50,0x05,0x50,0x05,0x50,0x05,0x20,0x03,0x20,0x02,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x50,0x00,0x90,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x00,0x50,0x00,0x50,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x20,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x60,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x20,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x18,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x60,0x00,0x90,0x00,0x90,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x40,0x00,0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x70,0x00,0x90,0x00,0x90,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x10,0x00,0x10,0x00,0x60,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x80,0x00,0xe0,0x00,0x90,0x00,0x90,0x00,0xe0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x70,0x00,0x10,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x10,0x00,0x30,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0x50,0x00,0x70,0x00,0xe0,0x00,0x90,0x00,0xf0,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0xf0,0x00,0x90,0x00,0x90,0x00,0x90,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x18,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x50,0x00,0x30,0x00,0x30,0x00,0x50,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x07,0x90,0x04,0x90,0x04,0x90,0x04,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0x90,0x00,0x90,0x00,0x90,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x90,0x00,0x90,0x00,0x60,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x90,0x00,0x90,0x00,0x70,0x00,0x10,0x00,0x10,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x00,0x90,0x00,0x90,0x00,0xe0,0x00,0x80,0x00,0x80,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x30,0x00,0x40,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x30,0x00,0x10,0x00,0x10,0x00,0x30,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90,0x00,0x90,0x00,0x90,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x00,0x50,0x00,0x50,0x00,0x20,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x01,0x50,0x01,0xb0,0x00,0xa0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x00,0x20,0x00,0x20,0x00,0x50,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x00,0x50,0x00,0x50,0x00,0x20,0x00,0x20,0x00,0x10,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x20,0x00,0x20,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x10,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x40,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x60,0x00,0x20,0x00,0x20,0x00,0x60,0x00,0x40,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x20,0x00,0x20,0x00,0x70,0x00,0x20,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x50,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x00,0x50,0x00,0x30,0x00,0x70,0x00,0x70,0x00,0x20,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x30,0x00,0x50,0x00,0x70,0x00,0x40,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x01,0xd0,0x02,0x50,0x02,0xd0,0x02,0x10,0x02,0xe0,0x01,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0x00,0x50,0x00,0x50,0x00,0xa0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x01,0xd0,0x03,0xd0,0x02,0xd0,0x02,0x10,0x02,0xe0,0x01,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x50,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0xe0,0x00,0x40,0x00,0xe0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x40,0x00,0x20,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x40,0x00,0x40,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90,0x00,0x90,0x00,0x90,0x00,0xf0,0x00,0x10,0x00,0x10,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0xb0,0x00,0xb0,0x00,0xb0,0x00,0xc0,0x00,0xc0,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x50,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x00,0xa0,0x00,0xa0,0x00,0x50,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xb0,0x00,0xa0,0x00,0x60,0x03,0xe0,0x02,0x20,0x03,0x20,0x02,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xb0,0x00,0xa0,0x00,0xe0,0x03,0x60,0x02,0x20,0x01,0xa0,0x01,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x01,0x40,0x01,0xc0,0x03,0xf0,0x02,0x40,0x03,0x40,0x02,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x10,0x00,0x10,0x00,0x70,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0xa0,0x00,0xa0,0x00,0xe0,0x00,0x10,0x01,0x10,0x01,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0xa0,0x00,0xa0,0x00,0xe0,0x00,0x10,0x01,0x10,0x01,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0xa0,0x00,0x00,0x00,0x40,0x00,0xa0,0x00,0xa0,0x00,0xe0,0x00,0x10,0x01,0x10,0x01,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x80,0x00,0x00,0x00,0x40,0x00,0xa0,0x00,0xa0,0x00,0xe0,0x00,0x10,0x01,0x10,0x01,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0x00,0x00,0x00,0x40,0x00,0xa0,0x00,0xa0,0x00,0xe0,0x00,0x10,0x01,0x10,0x01,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0xc0,0x00,0xa0,0x00,0xa0,0x00,0xe0,0x00,0x10,0x01,0x10,0x01,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x03,0xc0,0x00,0xa0,0x03,0xa0,0x00,0xf0,0x00,0x90,0x03,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0xe0,0x00,0x80,0x00,0x80,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x40,0x00,0x00,0x00,0x70,0x00,0x10,0x00,0x70,0x00,0x10,0x00,0x10,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x70,0x00,0x10,0x00,0x70,0x00,0x10,0x00,0x10,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x50,0x00,0x00,0x00,0x70,0x00,0x10,0x00,0x70,0x00,0x10,0x00,0x10,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x70,0x00,0x10,0x00,0x70,0x00,0x10,0x00,0x10,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x50,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x90,0x00,0xb8,0x00,0x90,0x00,0x90,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x80,0x00,0x00,0x00,0x10,0x01,0x30,0x01,0x50,0x01,0x50,0x01,0x90,0x01,0x10,0x01,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x40,0x00,0x00,0x00,0xe0,0x00,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,0xe0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x40,0x00,0x00,0x00,0xe0,0x00,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,0xe0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0xa0,0x00,0x00,0x00,0xe0,0x00,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,0xe0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x80,0x00,0x00,0x00,0xe0,0x00,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,0xe0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0x00,0x00,0x00,0xe0,0x00,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,0xe0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0x00,0x40,0x00,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x00,0x90,0x01,0x50,0x01,0x50,0x01,0x30,0x01,0xe0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x40,0x00,0x00,0x00,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,0xe0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x40,0x00,0x00,0x00,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,0xe0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0xa0,0x00,0x00,0x00,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,0xe0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0x00,0x00,0x00,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,0xe0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x88,0x00,0x50,0x00,0x50,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x70,0x00,0x90,0x00,0x90,0x00,0x70,0x00,0x10,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0x90,0x00,0x50,0x00,0x50,0x00,0x90,0x00,0xd0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x40,0x00,0x00,0x00,0x70,0x00,0x40,0x00,0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x70,0x00,0x40,0x00,0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x50,0x00,0x00,0x00,0x70,0x00,0x40,0x00,0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x40,0x00,0x00,0x00,0x70,0x00,0x40,0x00,0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x70,0x00,0x40,0x00,0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x70,0x00,0x40,0x00,0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x03,0x80,0x03,0xf0,0x00,0x70,0x03,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x10,0x00,0x10,0x00,0x60,0x00,0x40,0x00,0x40,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x40,0x00,0x00,0x00,0x70,0x00,0x70,0x00,0x10,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x70,0x00,0x70,0x00,0x10,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x50,0x00,0x00,0x00,0x70,0x00,0x70,0x00,0x10,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x70,0x00,0x70,0x00,0x10,0x00,0x70,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x28,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0x00,0x60,0x00,0xe0,0x00,0x90,0x00,0x90,0x00,0x60,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x80,0x00,0x00,0x00,0xf0,0x00,0x90,0x00,0x90,0x00,0x90,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x40,0x00,0x00,0x00,0x60,0x00,0x90,0x00,0x90,0x00,0x60,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x40,0x00,0x00,0x00,0x60,0x00,0x90,0x00,0x90,0x00,0x60,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0xa0,0x00,0x00,0x00,0x60,0x00,0x90,0x00,0x90,0x00,0x60,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x80,0x00,0x00,0x00,0x60,0x00,0x90,0x00,0x90,0x00,0x60,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0x00,0x00,0x00,0x60,0x00,0x90,0x00,0x90,0x00,0x60,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0xe0,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0xd0,0x00,0xb0,0x00,0x60,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x40,0x00,0x00,0x00,0x90,0x00,0x90,0x00,0x90,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x40,0x00,0x00,0x00,0x90,0x00,0x90,0x00,0x90,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0xa0,0x00,0x00,0x00,0x90,0x00,0x90,0x00,0x90,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0x00,0x00,0x00,0x90,0x00,0x90,0x00,0x90,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x50,0x00,0x50,0x00,0x50,0x00,0x20,0x00,0x20,0x00,0x10,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x70,0x00,0x90,0x00,0x90,0x00,0x70,0x00,0x10,0x00,0x10,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x50,0x00,0x50,0x00,0x50,0x00,0x20,0x00,0x20,0x00,0x10,0x00,},
};

BIN
ui/fonts/DroidSans.ttf Normal file

Binary file not shown.

2927
ui/fonts/DroidSans8x11.bdf Normal file

File diff suppressed because it is too large Load diff

261
ui/fonts/DroidSans8x11.h Normal file
View file

@ -0,0 +1,261 @@
/* -FreeType-Droid Sans-Medium-R-Normal--8-60-96-96-P-44-ISO10646-1 */
#define FONT_WIDTH_Droid_SansMedium_8x11 8
#define FONT_HEIGHT_Droid_SansMedium_8x11 11
const uint8_t FONT_DATA_Droid_SansMedium_8x11[256][12] = {
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x00,0x02,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x0c,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x18,0x18,0x3e,0x3e,0x0c,0x0c,0x00,0x00,},
{/*w*/4,0x00,0x00,0x04,0x0e,0x06,0x06,0x0c,0x0c,0x0e,0x04,0x00,},
{/*w*/7,0x00,0x00,0x00,0x26,0x16,0x76,0x6e,0x68,0x64,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x1e,0x12,0x0c,0x4a,0x32,0x3e,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x04,0x02,0x02,0x02,0x02,0x02,0x04,0x00,},
{/*w*/2,0x00,0x00,0x00,0x01,0x02,0x02,0x02,0x02,0x02,0x01,0x00,},
{/*w*/4,0x00,0x00,0x00,0x04,0x0e,0x04,0x0a,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x08,0x08,0x1c,0x08,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x08,0x08,0x04,0x04,0x02,0x02,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x04,0x0a,0x0a,0x0a,0x0a,0x04,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x04,0x06,0x04,0x04,0x04,0x04,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x08,0x08,0x04,0x04,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x08,0x04,0x08,0x08,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x08,0x0c,0x0c,0x0a,0x1e,0x08,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x02,0x0e,0x08,0x08,0x06,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0c,0x02,0x0e,0x0a,0x0a,0x0c,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x08,0x08,0x04,0x04,0x04,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x0a,0x0a,0x04,0x0a,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x06,0x0a,0x0a,0x0e,0x08,0x06,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x02,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x02,0x02,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x08,0x04,0x06,0x08,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x0e,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x02,0x04,0x0c,0x02,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x08,0x08,0x04,0x00,0x04,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x3c,0x42,0x5a,0x5a,0x7a,0x02,0x3c,0x00,},
{/*w*/6,0x00,0x00,0x00,0x08,0x14,0x14,0x1c,0x22,0x22,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1e,0x12,0x1e,0x12,0x12,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1c,0x02,0x02,0x02,0x02,0x1c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x0e,0x12,0x12,0x12,0x12,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x02,0x0e,0x02,0x02,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x02,0x0e,0x02,0x02,0x02,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x3c,0x02,0x02,0x32,0x22,0x3c,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x22,0x22,0x3e,0x22,0x22,0x22,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x01,},
{/*w*/5,0x00,0x00,0x00,0x12,0x0a,0x06,0x0a,0x0a,0x12,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x1e,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x82,0xc6,0xc6,0xaa,0xaa,0x92,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x22,0x26,0x2a,0x2a,0x32,0x22,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x1c,0x22,0x22,0x22,0x22,0x1c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1e,0x12,0x12,0x0e,0x02,0x02,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x1c,0x22,0x22,0x22,0x22,0x1c,0x10,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1e,0x12,0x12,0x0e,0x0a,0x12,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x02,0x06,0x08,0x08,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x04,0x04,0x04,0x04,0x04,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x22,0x22,0x14,0x14,0x14,0x08,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x92,0xaa,0xaa,0xaa,0x64,0x44,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x12,0x0c,0x0c,0x0c,0x0a,0x12,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x11,0x0a,0x0a,0x04,0x04,0x04,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1e,0x08,0x08,0x04,0x04,0x1e,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x0c,0x04,0x04,0x04,0x04,0x04,0x0c,0x00,},
{/*w*/3,0x00,0x00,0x00,0x02,0x02,0x04,0x04,0x08,0x08,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x02,0x02,0x03,0x00,},
{/*w*/4,0x00,0x00,0x00,0x08,0x0c,0x12,0x12,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,},
{/*w*/5,0x00,0x00,0x08,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x0e,0x08,0x0e,0x0e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x02,0x02,0x0e,0x12,0x12,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x0c,0x02,0x02,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x10,0x10,0x1c,0x12,0x12,0x1c,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x0e,0x0e,0x02,0x0e,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x06,0x02,0x06,0x02,0x02,0x02,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x1e,0x0a,0x0e,0x1c,0x12,0x1e,},
{/*w*/5,0x00,0x00,0x00,0x02,0x02,0x1e,0x12,0x12,0x12,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x02,0x00,0x02,0x02,0x02,0x02,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x02,0x00,0x02,0x02,0x02,0x02,0x02,0x03,},
{/*w*/4,0x00,0x00,0x00,0x02,0x02,0x0a,0x06,0x06,0x0a,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x00,0x00,0xee,0x92,0x92,0x92,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x1e,0x12,0x12,0x12,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x0c,0x12,0x12,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x0e,0x12,0x12,0x0e,0x02,0x02,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x1c,0x12,0x12,0x1c,0x10,0x10,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x06,0x02,0x02,0x02,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x0e,0x06,0x08,0x0e,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x02,0x06,0x02,0x02,0x06,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x12,0x12,0x12,0x1e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x0a,0x0a,0x0a,0x04,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x2a,0x2a,0x16,0x14,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x0a,0x04,0x04,0x0a,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x0a,0x0a,0x0a,0x04,0x04,0x02,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x0e,0x04,0x04,0x0e,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x04,0x04,0x04,0x02,0x04,0x04,0x04,0x00,},
{/*w*/4,0x00,0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,},
{/*w*/3,0x00,0x00,0x00,0x04,0x04,0x04,0x08,0x04,0x04,0x04,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x0c,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x02,0x02,0x02,},
{/*w*/4,0x00,0x00,0x00,0x08,0x0c,0x04,0x04,0x0c,0x08,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0c,0x04,0x04,0x0e,0x04,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x0e,0x0a,0x0e,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x11,0x0a,0x06,0x0e,0x0e,0x04,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x04,0x04,0x04,0x00,0x00,0x04,0x04,0x04,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x06,0x0a,0x0e,0x08,0x0e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x3c,0x5a,0x4a,0x5a,0x42,0x3c,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x0e,0x0e,0x0e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x14,0x0a,0x0a,0x14,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x08,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x3c,0x7a,0x5a,0x5a,0x42,0x3c,0x00,0x00,},
{/*w*/4,0x00,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x0e,0x0a,0x0e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x08,0x08,0x1c,0x08,0x1c,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x08,0x04,0x06,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x08,0x08,0x0e,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x10,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x12,0x12,0x12,0x1e,0x02,0x02,},
{/*w*/5,0x00,0x00,0x00,0x00,0x1e,0x16,0x16,0x16,0x18,0x18,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x04,},
{/*w*/4,0x00,0x00,0x00,0x06,0x04,0x04,0x04,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x0e,0x0a,0x0e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x0a,0x14,0x14,0x0a,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x16,0x14,0x6c,0x5c,0x64,0x44,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x16,0x14,0x7c,0x4c,0x24,0x34,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x2e,0x28,0x78,0x5e,0x68,0x48,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x04,0x02,0x02,0x0e,},
{/*w*/6,0x04,0x08,0x00,0x08,0x14,0x14,0x1c,0x22,0x22,0x00,0x00,},
{/*w*/6,0x10,0x08,0x00,0x08,0x14,0x14,0x1c,0x22,0x22,0x00,0x00,},
{/*w*/6,0x08,0x14,0x00,0x08,0x14,0x14,0x1c,0x22,0x22,0x00,0x00,},
{/*w*/6,0x0c,0x10,0x00,0x08,0x14,0x14,0x1c,0x22,0x22,0x00,0x00,},
{/*w*/6,0x00,0x14,0x00,0x08,0x14,0x14,0x1c,0x22,0x22,0x00,0x00,},
{/*w*/6,0x00,0x00,0x18,0x18,0x14,0x14,0x1c,0x22,0x22,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x78,0x18,0x74,0x14,0x1e,0x72,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1c,0x02,0x02,0x02,0x02,0x1c,0x10,0x10,},
{/*w*/4,0x04,0x08,0x00,0x0e,0x02,0x0e,0x02,0x02,0x0e,0x00,0x00,},
{/*w*/4,0x08,0x04,0x00,0x0e,0x02,0x0e,0x02,0x02,0x0e,0x00,0x00,},
{/*w*/4,0x04,0x0a,0x00,0x0e,0x02,0x0e,0x02,0x02,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x0a,0x00,0x0e,0x02,0x0e,0x02,0x02,0x0e,0x00,0x00,},
{/*w*/4,0x02,0x04,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x00,0x00,},
{/*w*/4,0x08,0x04,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x00,0x00,},
{/*w*/4,0x04,0x0a,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x00,0x00,},
{/*w*/4,0x00,0x0a,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x0e,0x12,0x17,0x12,0x12,0x0e,0x00,0x00,},
{/*w*/6,0x0c,0x10,0x00,0x22,0x26,0x2a,0x2a,0x32,0x22,0x00,0x00,},
{/*w*/6,0x04,0x08,0x00,0x1c,0x22,0x22,0x22,0x22,0x1c,0x00,0x00,},
{/*w*/6,0x10,0x08,0x00,0x1c,0x22,0x22,0x22,0x22,0x1c,0x00,0x00,},
{/*w*/6,0x08,0x14,0x00,0x1c,0x22,0x22,0x22,0x22,0x1c,0x00,0x00,},
{/*w*/6,0x0c,0x10,0x00,0x1c,0x22,0x22,0x22,0x22,0x1c,0x00,0x00,},
{/*w*/6,0x00,0x14,0x00,0x1c,0x22,0x22,0x22,0x22,0x1c,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x14,0x08,0x14,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x1c,0x32,0x2a,0x2a,0x26,0x1c,0x00,0x00,},
{/*w*/6,0x04,0x08,0x00,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,0x00,},
{/*w*/6,0x10,0x08,0x00,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,0x00,},
{/*w*/6,0x08,0x14,0x00,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,0x00,},
{/*w*/6,0x00,0x14,0x00,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,0x00,},
{/*w*/4,0x08,0x04,0x00,0x11,0x0a,0x0a,0x04,0x04,0x04,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x02,0x0e,0x12,0x12,0x0e,0x02,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1e,0x12,0x0a,0x0a,0x12,0x1a,0x00,0x00,},
{/*w*/4,0x00,0x00,0x04,0x08,0x00,0x0e,0x08,0x0e,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x08,0x04,0x00,0x0e,0x08,0x0e,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x04,0x0a,0x00,0x0e,0x08,0x0e,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x06,0x08,0x00,0x0e,0x08,0x0e,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0a,0x00,0x0e,0x08,0x0e,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x0c,0x0c,0x00,0x0e,0x08,0x0e,0x0e,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x6e,0x70,0x1e,0x6e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x0c,0x02,0x02,0x0c,0x08,0x08,},
{/*w*/4,0x00,0x00,0x04,0x08,0x00,0x0e,0x0e,0x02,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x08,0x04,0x00,0x0e,0x0e,0x02,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x04,0x0a,0x00,0x0e,0x0e,0x02,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0a,0x00,0x0e,0x0e,0x02,0x0e,0x00,0x00,},
{/*w*/2,0x00,0x00,0x01,0x02,0x00,0x02,0x02,0x02,0x02,0x00,0x00,},
{/*w*/2,0x00,0x00,0x04,0x02,0x00,0x02,0x02,0x02,0x02,0x00,0x00,},
{/*w*/2,0x00,0x00,0x02,0x05,0x00,0x02,0x02,0x02,0x02,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x05,0x00,0x02,0x02,0x02,0x02,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x14,0x0c,0x1c,0x12,0x12,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x0c,0x10,0x00,0x1e,0x12,0x12,0x12,0x00,0x00,},
{/*w*/5,0x00,0x00,0x04,0x08,0x00,0x0c,0x12,0x12,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x10,0x08,0x00,0x0c,0x12,0x12,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x08,0x14,0x00,0x0c,0x12,0x12,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x0c,0x10,0x00,0x0c,0x12,0x12,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x14,0x00,0x0c,0x12,0x12,0x0c,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x08,0x00,0x1c,0x00,0x08,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x0c,0x1a,0x16,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x04,0x08,0x00,0x12,0x12,0x12,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x10,0x08,0x00,0x12,0x12,0x12,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x08,0x14,0x00,0x12,0x12,0x12,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x14,0x00,0x12,0x12,0x12,0x1e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x08,0x04,0x00,0x0a,0x0a,0x0a,0x04,0x04,0x02,},
{/*w*/5,0x00,0x00,0x00,0x02,0x02,0x0e,0x12,0x12,0x0e,0x02,0x02,},
{/*w*/4,0x00,0x00,0x00,0x0a,0x00,0x0a,0x0a,0x0a,0x04,0x04,0x02,},
};

3090
ui/fonts/DroidSans8x12.bdf Normal file

File diff suppressed because it is too large Load diff

261
ui/fonts/DroidSans8x12.h Normal file
View file

@ -0,0 +1,261 @@
/* -FreeType-Droid_Sans-Medium-R-Normal--9-70-96-96-P-49-ISO10646-1 */
#define FONT_WIDTH_Droid_SansMedium_8x12 8
#define FONT_HEIGHT_Droid_SansMedium_8x12 12
const uint8_t FONT_DATA_Droid_SansMedium_8x12[256][13] = {
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x02,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0a,0x0a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x28,0x28,0x7e,0x24,0x7e,0x14,0x14,0x00,0x00,},
{/*w*/5,0x00,0x00,0x08,0x1c,0x0a,0x0a,0x0c,0x14,0x14,0x0e,0x04,0x00,},
{/*w*/8,0x00,0x00,0x00,0x4e,0x2a,0x2a,0xfe,0xa8,0xa8,0xe4,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x1e,0x12,0x0a,0x04,0x4a,0x32,0x3c,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x04,0x02,0x02,0x02,0x02,0x02,0x02,0x04,0x00,},
{/*w*/3,0x00,0x00,0x00,0x02,0x04,0x04,0x04,0x04,0x04,0x04,0x02,0x00,},
{/*w*/6,0x00,0x00,0x00,0x08,0x3e,0x08,0x14,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x08,0x08,0x1e,0x08,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x08,0x08,0x04,0x04,0x04,0x02,0x02,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x0c,0x12,0x12,0x12,0x12,0x12,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x0c,0x0a,0x08,0x08,0x08,0x08,0x08,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x0e,0x10,0x10,0x08,0x08,0x04,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1e,0x10,0x10,0x0c,0x10,0x10,0x0e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x10,0x18,0x14,0x12,0x3e,0x10,0x10,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1e,0x02,0x02,0x0e,0x10,0x10,0x0e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1c,0x02,0x02,0x1e,0x12,0x12,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1e,0x10,0x08,0x08,0x08,0x04,0x04,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1e,0x12,0x12,0x0c,0x12,0x12,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x0c,0x12,0x12,0x1e,0x10,0x10,0x0e,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x02,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x10,0x0c,0x02,0x0c,0x10,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x1e,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x02,0x0c,0x10,0x0c,0x02,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x08,0x08,0x04,0x04,0x00,0x04,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x78,0x84,0xb2,0xaa,0xaa,0x5a,0x02,0x3c,0x00,},
{/*w*/6,0x00,0x00,0x00,0x08,0x14,0x14,0x14,0x1c,0x22,0x22,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1e,0x12,0x12,0x0e,0x12,0x12,0x0e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1c,0x02,0x02,0x02,0x02,0x02,0x1c,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x1e,0x22,0x22,0x22,0x22,0x32,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1e,0x02,0x02,0x1e,0x02,0x02,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1e,0x02,0x02,0x1e,0x02,0x02,0x02,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x3c,0x02,0x02,0x32,0x22,0x22,0x3c,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x22,0x22,0x22,0x3e,0x22,0x22,0x22,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x06,0x04,0x04,0x04,0x04,0x04,0x06,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x03,},
{/*w*/5,0x00,0x00,0x00,0x22,0x12,0x0a,0x0e,0x0a,0x12,0x22,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x1e,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x86,0xc6,0xc6,0xaa,0xaa,0xaa,0x92,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x22,0x26,0x26,0x2a,0x32,0x32,0x22,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x3c,0x42,0x42,0x42,0x42,0x42,0x3c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1e,0x12,0x12,0x0e,0x02,0x02,0x02,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x3c,0x42,0x42,0x42,0x42,0x42,0x3c,0x20,0x20,},
{/*w*/5,0x00,0x00,0x00,0x1e,0x12,0x12,0x0e,0x0a,0x12,0x12,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1c,0x02,0x02,0x0c,0x10,0x10,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x1f,0x04,0x04,0x04,0x04,0x04,0x04,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x22,0x22,0x22,0x14,0x14,0x14,0x08,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x92,0x9a,0xaa,0xaa,0xaa,0x44,0x44,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x22,0x14,0x14,0x08,0x14,0x14,0x22,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x22,0x12,0x14,0x08,0x08,0x08,0x08,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1e,0x10,0x08,0x04,0x04,0x02,0x1e,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x06,0x02,0x02,0x02,0x02,0x02,0x02,0x06,0x00,},
{/*w*/3,0x00,0x00,0x00,0x02,0x02,0x04,0x04,0x04,0x08,0x08,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x06,0x04,0x04,0x04,0x04,0x04,0x04,0x06,0x00,},
{/*w*/5,0x00,0x00,0x00,0x08,0x14,0x14,0x22,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,},
{/*w*/5,0x00,0x00,0x08,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x1e,0x10,0x1e,0x12,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x02,0x02,0x0e,0x12,0x12,0x12,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x0c,0x02,0x02,0x02,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x10,0x10,0x1c,0x12,0x12,0x12,0x1c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x0c,0x12,0x1e,0x02,0x1c,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0c,0x04,0x0e,0x04,0x04,0x04,0x04,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x1e,0x0a,0x0e,0x04,0x1c,0x12,0x1e,},
{/*w*/5,0x00,0x00,0x00,0x02,0x02,0x1e,0x12,0x12,0x12,0x12,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x02,0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x02,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x03,},
{/*w*/5,0x00,0x00,0x00,0x02,0x02,0x12,0x0a,0x06,0x0a,0x12,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x00,0x00,0xee,0x92,0x92,0x92,0x92,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x1e,0x12,0x12,0x12,0x12,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x0c,0x12,0x12,0x12,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x0e,0x12,0x12,0x12,0x0e,0x02,0x02,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x1c,0x12,0x12,0x12,0x1c,0x10,0x10,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x0e,0x02,0x02,0x02,0x02,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x0e,0x02,0x04,0x08,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x04,0x0e,0x04,0x04,0x04,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x12,0x12,0x12,0x12,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x12,0x12,0x0c,0x0c,0x0c,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x2a,0x2a,0x2a,0x16,0x14,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x12,0x0c,0x04,0x0c,0x12,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x12,0x12,0x0c,0x0c,0x0c,0x04,0x06,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x0e,0x08,0x04,0x02,0x0e,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x0c,0x04,0x04,0x02,0x04,0x04,0x04,0x0c,0x00,},
{/*w*/5,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,},
{/*w*/3,0x00,0x00,0x00,0x06,0x04,0x04,0x04,0x08,0x04,0x04,0x06,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x06,0x18,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x02,0x02,0x02,0x02,},
{/*w*/5,0x00,0x00,0x00,0x08,0x1c,0x02,0x02,0x02,0x1c,0x08,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1c,0x04,0x04,0x0e,0x04,0x04,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x1e,0x12,0x12,0x1e,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x22,0x14,0x14,0x1c,0x08,0x1c,0x08,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x08,0x08,0x08,0x00,0x00,0x00,0x08,0x08,0x08,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x02,0x0e,0x0a,0x0c,0x08,0x0e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x3c,0x42,0x5a,0x4a,0x5a,0x42,0x3c,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x0e,0x0e,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x0a,0x14,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x10,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x3c,0x42,0x7a,0x5a,0x5a,0x42,0x3c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x0a,0x0e,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x08,0x08,0x1e,0x08,0x00,0x1e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x08,0x04,0x0e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x08,0x08,0x0e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x10,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x12,0x12,0x12,0x12,0x1e,0x02,0x02,},
{/*w*/6,0x00,0x00,0x00,0x3c,0x2e,0x2e,0x2e,0x28,0x28,0x28,0x28,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x04,0x04,},
{/*w*/4,0x00,0x00,0x00,0x06,0x04,0x04,0x04,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x0a,0x0e,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0x14,0x0a,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x26,0x14,0x14,0x6c,0x54,0x74,0x42,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x26,0x14,0x14,0x7c,0x44,0x24,0x72,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x4e,0x28,0x28,0xde,0xa8,0xe8,0x84,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x04,0x04,0x02,0x02,0x0e,},
{/*w*/6,0x04,0x08,0x00,0x08,0x14,0x14,0x14,0x1c,0x22,0x22,0x00,0x00,},
{/*w*/6,0x10,0x08,0x00,0x08,0x14,0x14,0x14,0x1c,0x22,0x22,0x00,0x00,},
{/*w*/6,0x08,0x14,0x00,0x08,0x14,0x14,0x14,0x1c,0x22,0x22,0x00,0x00,},
{/*w*/6,0x2c,0x34,0x00,0x08,0x14,0x14,0x14,0x1c,0x22,0x22,0x00,0x00,},
{/*w*/6,0x00,0x14,0x00,0x08,0x14,0x14,0x14,0x1c,0x22,0x22,0x00,0x00,},
{/*w*/6,0x00,0x1c,0x14,0x1c,0x14,0x14,0x14,0x1c,0x22,0x22,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0xf8,0x18,0x14,0xf4,0x1c,0x12,0xf2,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1c,0x02,0x02,0x02,0x02,0x02,0x1c,0x10,0x10,},
{/*w*/5,0x04,0x08,0x00,0x1e,0x02,0x02,0x1e,0x02,0x02,0x1e,0x00,0x00,},
{/*w*/5,0x10,0x08,0x00,0x1e,0x02,0x02,0x1e,0x02,0x02,0x1e,0x00,0x00,},
{/*w*/5,0x08,0x14,0x00,0x1e,0x02,0x02,0x1e,0x02,0x02,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x14,0x00,0x1e,0x02,0x02,0x1e,0x02,0x02,0x1e,0x00,0x00,},
{/*w*/4,0x02,0x04,0x00,0x06,0x04,0x04,0x04,0x04,0x04,0x06,0x00,0x00,},
{/*w*/4,0x08,0x04,0x00,0x06,0x04,0x04,0x04,0x04,0x04,0x06,0x00,0x00,},
{/*w*/4,0x04,0x0a,0x00,0x06,0x04,0x04,0x04,0x04,0x04,0x06,0x00,0x00,},
{/*w*/4,0x00,0x0a,0x00,0x06,0x04,0x04,0x04,0x04,0x04,0x06,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x1e,0x22,0x22,0x27,0x22,0x32,0x1e,0x00,0x00,},
{/*w*/6,0x2c,0x34,0x00,0x22,0x26,0x26,0x2a,0x32,0x32,0x22,0x00,0x00,},
{/*w*/7,0x08,0x10,0x00,0x3c,0x42,0x42,0x42,0x42,0x42,0x3c,0x00,0x00,},
{/*w*/7,0x20,0x10,0x00,0x3c,0x42,0x42,0x42,0x42,0x42,0x3c,0x00,0x00,},
{/*w*/7,0x10,0x28,0x00,0x3c,0x42,0x42,0x42,0x42,0x42,0x3c,0x00,0x00,},
{/*w*/7,0x2c,0x34,0x00,0x3c,0x42,0x42,0x42,0x42,0x42,0x3c,0x00,0x00,},
{/*w*/7,0x00,0x28,0x00,0x3c,0x42,0x42,0x42,0x42,0x42,0x3c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x14,0x08,0x14,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x3c,0x62,0x52,0x52,0x4a,0x46,0x3c,0x00,0x00,},
{/*w*/6,0x04,0x08,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,0x00,},
{/*w*/6,0x10,0x08,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,0x00,},
{/*w*/6,0x08,0x14,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,0x00,},
{/*w*/6,0x00,0x14,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,0x00,},
{/*w*/6,0x10,0x08,0x00,0x22,0x12,0x14,0x08,0x08,0x08,0x08,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x02,0x0e,0x12,0x12,0x0e,0x02,0x02,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1e,0x12,0x0a,0x0a,0x12,0x12,0x1a,0x00,0x00,},
{/*w*/5,0x00,0x00,0x04,0x08,0x00,0x1e,0x10,0x1e,0x12,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x10,0x08,0x00,0x1e,0x10,0x1e,0x12,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x08,0x14,0x00,0x1e,0x10,0x1e,0x12,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x16,0x1a,0x00,0x1e,0x10,0x1e,0x12,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x14,0x00,0x1e,0x10,0x1e,0x12,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x1c,0x14,0x1c,0x00,0x1e,0x10,0x1e,0x12,0x1e,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x00,0x00,0x6e,0x90,0xfe,0x12,0xee,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x0c,0x02,0x02,0x02,0x0c,0x08,0x08,},
{/*w*/5,0x00,0x00,0x04,0x08,0x00,0x0c,0x12,0x1e,0x02,0x1c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x10,0x08,0x00,0x0c,0x12,0x1e,0x02,0x1c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x08,0x14,0x00,0x0c,0x12,0x1e,0x02,0x1c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x14,0x00,0x0c,0x12,0x1e,0x02,0x1c,0x00,0x00,},
{/*w*/2,0x00,0x00,0x01,0x02,0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x00,},
{/*w*/2,0x00,0x00,0x04,0x02,0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x00,},
{/*w*/2,0x00,0x00,0x02,0x05,0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x05,0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x14,0x0c,0x10,0x1c,0x12,0x12,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x16,0x1a,0x00,0x1e,0x12,0x12,0x12,0x12,0x00,0x00,},
{/*w*/5,0x00,0x00,0x04,0x08,0x00,0x0c,0x12,0x12,0x12,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x10,0x08,0x00,0x0c,0x12,0x12,0x12,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x08,0x14,0x00,0x0c,0x12,0x12,0x12,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x16,0x1a,0x00,0x0c,0x12,0x12,0x12,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x14,0x00,0x0c,0x12,0x12,0x12,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x08,0x00,0x3e,0x00,0x08,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x1c,0x1a,0x1a,0x16,0x0e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x04,0x08,0x00,0x12,0x12,0x12,0x12,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x10,0x08,0x00,0x12,0x12,0x12,0x12,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x08,0x14,0x00,0x12,0x12,0x12,0x12,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x14,0x00,0x12,0x12,0x12,0x12,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x10,0x08,0x00,0x12,0x12,0x0c,0x0c,0x0c,0x04,0x06,},
{/*w*/5,0x00,0x00,0x00,0x02,0x02,0x0e,0x12,0x12,0x12,0x0e,0x02,0x02,},
{/*w*/5,0x00,0x00,0x00,0x14,0x00,0x12,0x12,0x0c,0x0c,0x0c,0x04,0x06,},
};

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,261 @@
/* -FreeType-Droid_Sans-Bold-R-Normal--9-70-96-96-P-49-ISO10646-1 */
#define FONT_WIDTH_Droid_SansBold_8x12 8
#define FONT_HEIGHT_Droid_SansBold_8x12 12
const uint8_t FONT_DATA_Droid_SansBold_8x12[256][13] = {
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x00,0x06,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x1e,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x78,0x78,0xfe,0x6c,0xfe,0x3c,0x3c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x18,0x3c,0x1e,0x1e,0x1c,0x3c,0x3c,0x1e,0x0c,0x00,},
{/*w*/8,0x00,0x00,0x00,0xde,0x7e,0x7e,0xfe,0xf9,0xf9,0xed,0x01,0x00,},
{/*w*/6,0x00,0x00,0x00,0x3e,0x36,0x1e,0x0c,0xde,0x76,0x7c,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x0c,0x06,0x06,0x06,0x06,0x06,0x06,0x0c,0x00,},
{/*w*/3,0x00,0x00,0x00,0x06,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x06,0x00,},
{/*w*/6,0x00,0x00,0x00,0x18,0x7e,0x18,0x3c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x18,0x18,0x3e,0x18,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x18,0x18,0x0c,0x0c,0x0c,0x06,0x06,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1c,0x36,0x36,0x36,0x36,0x36,0x1c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1c,0x1e,0x18,0x18,0x18,0x18,0x18,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1e,0x30,0x30,0x18,0x18,0x0c,0x3e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3e,0x30,0x30,0x1c,0x30,0x30,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x30,0x38,0x3c,0x36,0x7e,0x30,0x30,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3e,0x06,0x06,0x1e,0x30,0x30,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3c,0x06,0x06,0x3e,0x36,0x36,0x1c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3e,0x30,0x18,0x18,0x18,0x0c,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3e,0x36,0x36,0x1c,0x36,0x36,0x1c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x1c,0x36,0x36,0x3e,0x30,0x30,0x1e,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x06,0x06,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x30,0x1c,0x06,0x1c,0x30,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x3e,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x06,0x1c,0x30,0x1c,0x06,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x1e,0x18,0x18,0x0c,0x0c,0x00,0x0c,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0xf8,0x8c,0xf7,0xff,0xff,0xff,0x06,0x7c,0x00,},
{/*w*/6,0x00,0x00,0x00,0x18,0x3c,0x3c,0x3c,0x3c,0x66,0x66,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3e,0x36,0x36,0x1e,0x36,0x36,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3c,0x06,0x06,0x06,0x06,0x06,0x3c,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x3e,0x66,0x66,0x66,0x66,0x76,0x3e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3e,0x06,0x06,0x3e,0x06,0x06,0x3e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3e,0x06,0x06,0x3e,0x06,0x06,0x06,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x7c,0x06,0x06,0x76,0x66,0x66,0x7c,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x66,0x66,0x66,0x7e,0x66,0x66,0x66,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x0c,0x0c,0x0c,0x0c,0x0c,0x0e,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x07,},
{/*w*/5,0x00,0x00,0x00,0x66,0x36,0x1e,0x1e,0x1e,0x36,0x66,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x3e,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x8e,0xcf,0xcf,0xff,0xff,0xff,0xb7,0x01,0x00,},
{/*w*/6,0x00,0x00,0x00,0x66,0x6e,0x6e,0x7e,0x76,0x76,0x66,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3e,0x36,0x36,0x1e,0x06,0x06,0x06,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x60,0x60,},
{/*w*/5,0x00,0x00,0x00,0x3e,0x36,0x36,0x1e,0x1e,0x36,0x36,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3c,0x06,0x06,0x1c,0x30,0x30,0x1e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x3f,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x3c,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x66,0x66,0x66,0x3c,0x3c,0x3c,0x18,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0xb6,0xbf,0xff,0xff,0xff,0xcd,0xcc,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x66,0x3c,0x3c,0x18,0x3c,0x3c,0x66,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x66,0x36,0x3c,0x18,0x18,0x18,0x18,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3e,0x30,0x18,0x0c,0x0c,0x06,0x3e,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x0e,0x06,0x06,0x06,0x06,0x06,0x06,0x0e,0x00,},
{/*w*/3,0x00,0x00,0x00,0x06,0x06,0x0c,0x0c,0x0c,0x18,0x18,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x0e,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0e,0x00,},
{/*w*/5,0x00,0x00,0x00,0x18,0x3c,0x3c,0x66,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,},
{/*w*/5,0x00,0x00,0x18,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x3e,0x30,0x3e,0x36,0x3e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x06,0x06,0x1e,0x36,0x36,0x36,0x1e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x1c,0x06,0x06,0x06,0x1c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x30,0x30,0x3c,0x36,0x36,0x36,0x3c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x1c,0x36,0x3e,0x06,0x3c,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x1c,0x0c,0x1e,0x0c,0x0c,0x0c,0x0c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x3e,0x1e,0x1e,0x0c,0x3c,0x36,0x3e,},
{/*w*/5,0x00,0x00,0x00,0x06,0x06,0x3e,0x36,0x36,0x36,0x36,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x06,0x00,0x06,0x06,0x06,0x06,0x06,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x06,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x07,},
{/*w*/5,0x00,0x00,0x00,0x06,0x06,0x36,0x1e,0x0e,0x1e,0x36,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x00,0x00,0xfe,0xb7,0xb7,0xb7,0xb7,0x01,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x3e,0x36,0x36,0x36,0x36,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x1c,0x36,0x36,0x36,0x1c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x1e,0x36,0x36,0x36,0x1e,0x06,0x06,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x3c,0x36,0x36,0x36,0x3c,0x30,0x30,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x1e,0x06,0x06,0x06,0x06,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x1e,0x06,0x0c,0x18,0x1e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x0c,0x1e,0x0c,0x0c,0x0c,0x1c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x36,0x36,0x36,0x36,0x3e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x36,0x36,0x1c,0x1c,0x1c,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x7e,0x7e,0x7e,0x3e,0x3c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x36,0x1c,0x0c,0x1c,0x36,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x36,0x36,0x1c,0x1c,0x1c,0x0c,0x0e,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x1e,0x18,0x0c,0x06,0x1e,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x1c,0x0c,0x0c,0x06,0x0c,0x0c,0x0c,0x1c,0x00,},
{/*w*/5,0x00,0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,},
{/*w*/3,0x00,0x00,0x00,0x0e,0x0c,0x0c,0x0c,0x18,0x0c,0x0c,0x0e,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x0e,0x38,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x06,0x06,0x06,0x06,},
{/*w*/5,0x00,0x00,0x00,0x18,0x3c,0x06,0x06,0x06,0x3c,0x18,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3c,0x0c,0x0c,0x1e,0x0c,0x0c,0x3e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x3e,0x36,0x36,0x3e,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x66,0x3c,0x3c,0x3c,0x18,0x3c,0x18,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x18,},
{/*w*/4,0x00,0x00,0x00,0x1e,0x06,0x1e,0x1e,0x1c,0x18,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x7c,0xc6,0xfe,0xde,0xfe,0xc6,0x7c,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x1e,0x1e,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x1e,0x3c,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x30,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x7c,0xc6,0xfe,0xfe,0xfe,0xc6,0x7c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x1e,0x1e,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x18,0x18,0x3e,0x18,0x00,0x3e,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x1e,0x18,0x0c,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x1e,0x18,0x18,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x30,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x36,0x36,0x36,0x36,0x3e,0x06,0x06,},
{/*w*/6,0x00,0x00,0x00,0x7c,0x7e,0x7e,0x7e,0x78,0x78,0x78,0x78,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x0c,0x0c,},
{/*w*/4,0x00,0x00,0x00,0x0e,0x0c,0x0c,0x0c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x1e,0x1e,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x3c,0x1e,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x6e,0x3c,0x3c,0xfc,0xfc,0xfc,0xc6,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x6e,0x3c,0x3c,0xfc,0xcc,0x6c,0xf6,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0xde,0x78,0x78,0xfe,0xf9,0xf9,0x8d,0x01,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x0c,0x06,0x06,0x1e,},
{/*w*/6,0x0c,0x18,0x00,0x18,0x3c,0x3c,0x3c,0x3c,0x66,0x66,0x00,0x00,},
{/*w*/6,0x30,0x18,0x00,0x18,0x3c,0x3c,0x3c,0x3c,0x66,0x66,0x00,0x00,},
{/*w*/6,0x18,0x3c,0x00,0x18,0x3c,0x3c,0x3c,0x3c,0x66,0x66,0x00,0x00,},
{/*w*/6,0x7c,0x7c,0x00,0x18,0x3c,0x3c,0x3c,0x3c,0x66,0x66,0x00,0x00,},
{/*w*/6,0x00,0x3c,0x00,0x18,0x3c,0x3c,0x3c,0x3c,0x66,0x66,0x00,0x00,},
{/*w*/6,0x00,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x66,0x66,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0xf8,0x39,0x3c,0xfc,0x3d,0x36,0xf6,0x01,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3c,0x06,0x06,0x06,0x06,0x06,0x3c,0x30,0x30,},
{/*w*/5,0x0c,0x18,0x00,0x3e,0x06,0x06,0x3e,0x06,0x06,0x3e,0x00,0x00,},
{/*w*/5,0x30,0x18,0x00,0x3e,0x06,0x06,0x3e,0x06,0x06,0x3e,0x00,0x00,},
{/*w*/5,0x18,0x3c,0x00,0x3e,0x06,0x06,0x3e,0x06,0x06,0x3e,0x00,0x00,},
{/*w*/5,0x00,0x3c,0x00,0x3e,0x06,0x06,0x3e,0x06,0x06,0x3e,0x00,0x00,},
{/*w*/4,0x06,0x0c,0x00,0x0e,0x0c,0x0c,0x0c,0x0c,0x0c,0x0e,0x00,0x00,},
{/*w*/4,0x18,0x0c,0x00,0x0e,0x0c,0x0c,0x0c,0x0c,0x0c,0x0e,0x00,0x00,},
{/*w*/4,0x0c,0x1e,0x00,0x0e,0x0c,0x0c,0x0c,0x0c,0x0c,0x0e,0x00,0x00,},
{/*w*/4,0x00,0x1e,0x00,0x0e,0x0c,0x0c,0x0c,0x0c,0x0c,0x0e,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x3e,0x66,0x66,0x6f,0x66,0x76,0x3e,0x00,0x00,},
{/*w*/6,0x7c,0x7c,0x00,0x66,0x6e,0x6e,0x7e,0x76,0x76,0x66,0x00,0x00,},
{/*w*/7,0x18,0x30,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,},
{/*w*/7,0x60,0x30,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,},
{/*w*/7,0x30,0x78,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,},
{/*w*/7,0x7c,0x7c,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,},
{/*w*/7,0x00,0x78,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x3c,0x18,0x3c,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x7c,0xe6,0xf6,0xf6,0xde,0xce,0x7c,0x00,0x00,},
{/*w*/6,0x0c,0x18,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x3c,0x00,0x00,},
{/*w*/6,0x30,0x18,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x3c,0x00,0x00,},
{/*w*/6,0x18,0x3c,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x3c,0x00,0x00,},
{/*w*/6,0x00,0x3c,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x3c,0x00,0x00,},
{/*w*/6,0x30,0x18,0x00,0x66,0x36,0x3c,0x18,0x18,0x18,0x18,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x06,0x1e,0x36,0x36,0x1e,0x06,0x06,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3e,0x36,0x1e,0x1e,0x36,0x36,0x3e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x0c,0x18,0x00,0x3e,0x30,0x3e,0x36,0x3e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x30,0x18,0x00,0x3e,0x30,0x3e,0x36,0x3e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x18,0x3c,0x00,0x3e,0x30,0x3e,0x36,0x3e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x3e,0x3e,0x00,0x3e,0x30,0x3e,0x36,0x3e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3c,0x00,0x3e,0x30,0x3e,0x36,0x3e,0x00,0x00,},
{/*w*/5,0x00,0x3c,0x3c,0x3c,0x00,0x3e,0x30,0x3e,0x36,0x3e,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x00,0x00,0xfe,0xb0,0xff,0x37,0xfe,0x01,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x1c,0x06,0x06,0x06,0x1c,0x18,0x18,},
{/*w*/5,0x00,0x00,0x0c,0x18,0x00,0x1c,0x36,0x3e,0x06,0x3c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x30,0x18,0x00,0x1c,0x36,0x3e,0x06,0x3c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x18,0x3c,0x00,0x1c,0x36,0x3e,0x06,0x3c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3c,0x00,0x1c,0x36,0x3e,0x06,0x3c,0x00,0x00,},
{/*w*/2,0x00,0x00,0x03,0x06,0x00,0x06,0x06,0x06,0x06,0x06,0x00,0x00,},
{/*w*/2,0x00,0x00,0x0c,0x06,0x00,0x06,0x06,0x06,0x06,0x06,0x00,0x00,},
{/*w*/2,0x00,0x00,0x06,0x0f,0x00,0x06,0x06,0x06,0x06,0x06,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x0f,0x00,0x06,0x06,0x06,0x06,0x06,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3c,0x1c,0x30,0x3c,0x36,0x36,0x1c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x3e,0x3e,0x00,0x3e,0x36,0x36,0x36,0x36,0x00,0x00,},
{/*w*/5,0x00,0x00,0x0c,0x18,0x00,0x1c,0x36,0x36,0x36,0x1c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x30,0x18,0x00,0x1c,0x36,0x36,0x36,0x1c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x18,0x3c,0x00,0x1c,0x36,0x36,0x36,0x1c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x3e,0x3e,0x00,0x1c,0x36,0x36,0x36,0x1c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3c,0x00,0x1c,0x36,0x36,0x36,0x1c,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x18,0x00,0x7e,0x00,0x18,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x3c,0x3e,0x3e,0x3e,0x1e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x0c,0x18,0x00,0x36,0x36,0x36,0x36,0x3e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x30,0x18,0x00,0x36,0x36,0x36,0x36,0x3e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x18,0x3c,0x00,0x36,0x36,0x36,0x36,0x3e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x3c,0x00,0x36,0x36,0x36,0x36,0x3e,0x00,0x00,},
{/*w*/5,0x00,0x00,0x30,0x18,0x00,0x36,0x36,0x1c,0x1c,0x1c,0x0c,0x0e,},
{/*w*/5,0x00,0x00,0x00,0x06,0x06,0x1e,0x36,0x36,0x36,0x1e,0x06,0x06,},
{/*w*/5,0x00,0x00,0x00,0x3c,0x00,0x36,0x36,0x1c,0x1c,0x1c,0x0c,0x0e,},
};

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,261 @@
/* -FreeType-Droid Sans-Bold-R-Normal--8-60-96-96-P-44-ISO10646-1 */
#define FONT_WIDTH_Droid SansBold_9x11 9
#define FONT_HEIGHT_Droid SansBold_9x11 11
const uint8_t FONT_DATA_Droid SansBold_9x11[256][23] = {
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x7e,0x00,0x7e,0x00,0x1c,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x0c,0x00,0x1e,0x00,0x0e,0x00,0x0e,0x00,0x1c,0x00,0x1c,0x00,0x1e,0x00,0x0c,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x6e,0x00,0x3e,0x00,0xfe,0x00,0xfe,0x00,0xf8,0x00,0xec,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x36,0x00,0x1c,0x00,0xde,0x00,0x76,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x0c,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x03,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x1e,0x00,0x0c,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x18,0x00,0x3c,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x18,0x00,0x0c,0x00,0x0c,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x1e,0x00,0x1e,0x00,0x1e,0x00,0x1e,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0e,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x18,0x00,0x18,0x00,0x0c,0x00,0x0c,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x18,0x00,0x0c,0x00,0x18,0x00,0x18,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x1c,0x00,0x1c,0x00,0x1e,0x00,0x3e,0x00,0x18,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x06,0x00,0x1e,0x00,0x18,0x00,0x18,0x00,0x0e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x06,0x00,0x1e,0x00,0x1e,0x00,0x1e,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x18,0x00,0x18,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x1e,0x00,0x1e,0x00,0x0c,0x00,0x1e,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x1e,0x00,0x1e,0x00,0x1e,0x00,0x18,0x00,0x0e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x0c,0x00,0x0e,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x0c,0x00,0x1c,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x18,0x00,0x18,0x00,0x0c,0x00,0x00,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x7c,0x00,0xc6,0x00,0xfe,0x00,0xfe,0x00,0xfe,0x00,0x06,0x00,0x7c,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x66,0x00,0x66,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x36,0x00,0x3e,0x00,0x36,0x00,0x36,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x06,0x00,0x1e,0x00,0x06,0x00,0x06,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x06,0x00,0x1e,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x7c,0x00,0x06,0x00,0x06,0x00,0x76,0x00,0x66,0x00,0x7c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x00,0x66,0x00,0x7e,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x03,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x00,0x1e,0x00,0x0e,0x00,0x1e,0x00,0x1e,0x00,0x36,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x00,0x00,0x00,0x86,0x01,0xce,0x01,0xce,0x01,0xfe,0x01,0xfe,0x01,0xb6,0x01,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x00,0x6e,0x00,0x7e,0x00,0x7e,0x00,0x76,0x00,0x66,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x36,0x00,0x36,0x00,0x1e,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x3c,0x00,0x30,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x36,0x00,0x36,0x00,0x1e,0x00,0x1e,0x00,0x36,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x06,0x00,0x0e,0x00,0x18,0x00,0x18,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x00,0x66,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x18,0x00,0x00,0x00,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x00,0x00,0x00,0xb6,0x01,0xfe,0x01,0xfe,0x01,0xfe,0x01,0xec,0x00,0xcc,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x00,0x1c,0x00,0x1c,0x00,0x1c,0x00,0x1e,0x00,0x36,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x00,0x1e,0x00,0x1e,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x18,0x00,0x18,0x00,0x0c,0x00,0x0c,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x1c,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x0c,0x00,0x0c,0x00,0x18,0x00,0x18,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x07,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x1c,0x00,0x36,0x00,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x18,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x18,0x00,0x1e,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x1e,0x00,0x36,0x00,0x36,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x06,0x00,0x06,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x3c,0x00,0x36,0x00,0x36,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x1e,0x00,0x06,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x06,0x00,0x0e,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x1e,0x00,0x1e,0x00,0x3c,0x00,0x36,0x00,0x3e,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x3e,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x07,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x1e,0x00,0x0e,0x00,0x0e,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,},
{/*w*/8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x01,0xb6,0x01,0xb6,0x01,0xb6,0x01,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x36,0x00,0x36,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x36,0x00,0x36,0x00,0x1e,0x00,0x06,0x00,0x06,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x36,0x00,0x36,0x00,0x3c,0x00,0x30,0x00,0x30,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x0e,0x00,0x18,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x0e,0x00,0x06,0x00,0x06,0x00,0x0e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x1e,0x00,0x1e,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x7e,0x00,0x3e,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x0c,0x00,0x0c,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x1e,0x00,0x1e,0x00,0x0c,0x00,0x0c,0x00,0x06,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x0c,0x00,0x0c,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x06,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x18,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x1c,0x00,0x0c,0x00,0x0c,0x00,0x1c,0x00,0x18,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x0c,0x00,0x0c,0x00,0x1e,0x00,0x0c,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x1e,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x00,0x1e,0x00,0x0e,0x00,0x1e,0x00,0x1e,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x0e,0x00,0x1e,0x00,0x1e,0x00,0x18,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x7c,0x00,0xfe,0x00,0xde,0x00,0xfe,0x00,0xc6,0x00,0x7c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x1e,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x1e,0x00,0x1e,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x7c,0x00,0xfe,0x00,0xfe,0x00,0xfe,0x00,0xc6,0x00,0x7c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x1e,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x18,0x00,0x3c,0x00,0x18,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x18,0x00,0x0c,0x00,0x0e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x18,0x00,0x18,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x3e,0x00,0x06,0x00,0x06,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x3e,0x00,0x3e,0x00,0x3e,0x00,0x38,0x00,0x38,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/3,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x1e,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x3c,0x00,0x3c,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x3c,0x00,0xfc,0x00,0xfc,0x00,0xec,0x00,0xcc,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x3c,0x00,0xfc,0x00,0xdc,0x00,0x6c,0x00,0x7c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x78,0x00,0xf8,0x00,0xfe,0x00,0xf8,0x00,0xd8,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x00,0x00,0x0c,0x00,0x06,0x00,0x06,0x00,0x1e,0x00,},
{/*w*/6,0x0c,0x00,0x18,0x00,0x00,0x00,0x18,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x66,0x00,0x66,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x30,0x00,0x18,0x00,0x00,0x00,0x18,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x66,0x00,0x66,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x18,0x00,0x3c,0x00,0x00,0x00,0x18,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x66,0x00,0x66,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x1c,0x00,0x30,0x00,0x00,0x00,0x18,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x66,0x00,0x66,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x3c,0x00,0x00,0x00,0x18,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x66,0x00,0x66,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x66,0x00,0x66,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x00,0x38,0x00,0xfc,0x00,0x3c,0x00,0x3e,0x00,0xf6,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x3c,0x00,0x30,0x00,0x30,0x00,},
{/*w*/4,0x0c,0x00,0x18,0x00,0x00,0x00,0x1e,0x00,0x06,0x00,0x1e,0x00,0x06,0x00,0x06,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x18,0x00,0x0c,0x00,0x00,0x00,0x1e,0x00,0x06,0x00,0x1e,0x00,0x06,0x00,0x06,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x0c,0x00,0x1e,0x00,0x00,0x00,0x1e,0x00,0x06,0x00,0x1e,0x00,0x06,0x00,0x06,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x1e,0x00,0x00,0x00,0x1e,0x00,0x06,0x00,0x1e,0x00,0x06,0x00,0x06,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x06,0x00,0x0c,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x18,0x00,0x0c,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x0c,0x00,0x1e,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x1e,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x36,0x00,0x3f,0x00,0x36,0x00,0x36,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x1c,0x00,0x30,0x00,0x00,0x00,0x66,0x00,0x6e,0x00,0x7e,0x00,0x7e,0x00,0x76,0x00,0x66,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x0c,0x00,0x18,0x00,0x00,0x00,0x3c,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x30,0x00,0x18,0x00,0x00,0x00,0x3c,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x18,0x00,0x3c,0x00,0x00,0x00,0x3c,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x1c,0x00,0x30,0x00,0x00,0x00,0x3c,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x3c,0x00,0x00,0x00,0x3c,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x18,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x76,0x00,0x7e,0x00,0x7e,0x00,0x6e,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x0c,0x00,0x18,0x00,0x00,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x30,0x00,0x18,0x00,0x00,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x18,0x00,0x3c,0x00,0x00,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/6,0x00,0x00,0x3c,0x00,0x00,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x18,0x00,0x0c,0x00,0x00,0x00,0x33,0x00,0x1e,0x00,0x1e,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x1e,0x00,0x36,0x00,0x36,0x00,0x1e,0x00,0x06,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x36,0x00,0x1e,0x00,0x1e,0x00,0x36,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x0c,0x00,0x18,0x00,0x00,0x00,0x1e,0x00,0x18,0x00,0x1e,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x18,0x00,0x0c,0x00,0x00,0x00,0x1e,0x00,0x18,0x00,0x1e,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x0c,0x00,0x1e,0x00,0x00,0x00,0x1e,0x00,0x18,0x00,0x1e,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x0e,0x00,0x18,0x00,0x00,0x00,0x1e,0x00,0x18,0x00,0x1e,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x1e,0x00,0x18,0x00,0x1e,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x1c,0x00,0x1c,0x00,0x00,0x00,0x1e,0x00,0x18,0x00,0x1e,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0xf0,0x00,0x3e,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x06,0x00,0x06,0x00,0x1c,0x00,0x18,0x00,0x18,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x0c,0x00,0x18,0x00,0x00,0x00,0x1e,0x00,0x1e,0x00,0x06,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x18,0x00,0x0c,0x00,0x00,0x00,0x1e,0x00,0x1e,0x00,0x06,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x0c,0x00,0x1e,0x00,0x00,0x00,0x1e,0x00,0x1e,0x00,0x06,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x1e,0x00,0x1e,0x00,0x06,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x03,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x0c,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x06,0x00,0x0f,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,},
{/*w*/2,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x1c,0x00,0x3c,0x00,0x36,0x00,0x36,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x1c,0x00,0x30,0x00,0x00,0x00,0x3e,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x0c,0x00,0x18,0x00,0x00,0x00,0x1c,0x00,0x36,0x00,0x36,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x1c,0x00,0x36,0x00,0x36,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x18,0x00,0x3c,0x00,0x00,0x00,0x1c,0x00,0x36,0x00,0x36,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x1c,0x00,0x30,0x00,0x00,0x00,0x1c,0x00,0x36,0x00,0x36,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x1c,0x00,0x36,0x00,0x36,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x3e,0x00,0x3e,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x0c,0x00,0x18,0x00,0x00,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x18,0x00,0x3c,0x00,0x00,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x18,0x00,0x0c,0x00,0x00,0x00,0x1e,0x00,0x1e,0x00,0x1e,0x00,0x0c,0x00,0x0c,0x00,0x06,0x00,},
{/*w*/5,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x1e,0x00,0x36,0x00,0x36,0x00,0x1e,0x00,0x06,0x00,0x06,0x00,},
{/*w*/4,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x1e,0x00,0x1e,0x00,0x1e,0x00,0x0c,0x00,0x0c,0x00,0x06,0x00,},
};

17
ui/fonts/README.txt Normal file
View file

@ -0,0 +1,17 @@
The fonts contained here are partially taken from third parties and
partially "home made". The fonts were edited and converted to C style header
files using "gbdfed" by Mark Leisher <mleisher@gmail.com> which was extended
with the C style header export functions by Nicole Faerber.
lcd
Font made specifically for Oswald, old style 7-segment LCD look,
monospaced, especially useful for watch display
fixed
Converted from the public domain "fixed" fonts from the X11 graphics
server dustribution
DroidSans
Converted from the Android Sans TrueType font, licensed under
the Apache 2.0 license, font originally created by by Steve Matteson
of Ascender Corporation

3618
ui/fonts/fixed5x7.bdf Normal file

File diff suppressed because it is too large Load diff

261
ui/fonts/fixed5x7.h Normal file
View file

@ -0,0 +1,261 @@
/* -Misc-Fixed-Medium-R-Normal--7-70-75-75-C-50-ISO8859-9 */
#define FONT_WIDTH_Fixed_5x7 5
#define FONT_HEIGHT_Fixed_5x7 7
const uint8_t FONT_DATA_Fixed_5x7[256][7] = {
{0x00,0x15,0x00,0x11,0x00,0x15,0x00,},
{0x00,0x04,0x0e,0x1f,0x0e,0x04,0x00,},
{0x15,0x0a,0x15,0x0a,0x15,0x0a,0x15,},
{0x05,0x07,0x05,0x0e,0x04,0x04,0x00,},
{0x07,0x01,0x1f,0x05,0x0c,0x04,0x00,},
{0x06,0x01,0x07,0x0a,0x06,0x0a,0x00,},
{0x01,0x01,0x0f,0x04,0x0c,0x04,0x00,},
{0x04,0x0a,0x04,0x00,0x00,0x00,0x00,},
{0x04,0x04,0x1f,0x04,0x04,0x1f,0x00,},
{0x03,0x05,0x05,0x05,0x04,0x1c,0x00,},
{0x05,0x05,0x1e,0x0a,0x08,0x08,0x00,},
{0x04,0x04,0x04,0x07,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x07,0x04,0x04,0x04,},
{0x00,0x00,0x00,0x1c,0x04,0x04,0x04,},
{0x04,0x04,0x04,0x1c,0x00,0x00,0x00,},
{0x04,0x04,0x04,0x1f,0x04,0x04,0x04,},
{0x1f,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x1f,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x1f,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x1f,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,},
{0x04,0x04,0x04,0x1c,0x04,0x04,0x04,},
{0x04,0x04,0x04,0x07,0x04,0x04,0x04,},
{0x04,0x04,0x04,0x1f,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x1f,0x04,0x04,0x04,},
{0x04,0x04,0x04,0x04,0x04,0x04,0x04,},
{0x08,0x04,0x02,0x04,0x08,0x0e,0x00,},
{0x02,0x04,0x08,0x04,0x02,0x0e,0x00,},
{0x00,0x00,0x0e,0x0a,0x0a,0x0a,0x00,},
{0x00,0x08,0x0f,0x04,0x0f,0x02,0x00,},
{0x00,0x0c,0x02,0x07,0x02,0x0d,0x00,},
{0x00,0x00,0x06,0x06,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x04,0x04,0x04,0x04,0x00,0x04,0x00,},
{0x0a,0x0a,0x0a,0x00,0x00,0x00,0x00,},
{0x00,0x0a,0x1f,0x0a,0x1f,0x0a,0x00,},
{0x00,0x0e,0x05,0x0e,0x14,0x0e,0x00,},
{0x01,0x09,0x04,0x02,0x09,0x08,0x00,},
{0x00,0x02,0x05,0x02,0x05,0x0a,0x00,},
{0x04,0x04,0x04,0x00,0x00,0x00,0x00,},
{0x04,0x02,0x02,0x02,0x02,0x04,0x00,},
{0x02,0x04,0x04,0x04,0x04,0x02,0x00,},
{0x00,0x0a,0x04,0x0e,0x04,0x0a,0x00,},
{0x00,0x04,0x04,0x1f,0x04,0x04,0x00,},
{0x00,0x00,0x00,0x00,0x0c,0x04,0x02,},
{0x00,0x00,0x00,0x0f,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x06,0x06,0x00,},
{0x00,0x08,0x04,0x02,0x01,0x00,0x00,},
{0x04,0x0a,0x0a,0x0a,0x0a,0x04,0x00,},
{0x04,0x06,0x04,0x04,0x04,0x0e,0x00,},
{0x06,0x09,0x08,0x04,0x02,0x0f,0x00,},
{0x0f,0x08,0x06,0x08,0x09,0x06,0x00,},
{0x04,0x06,0x05,0x0f,0x04,0x04,0x00,},
{0x0f,0x01,0x07,0x08,0x09,0x06,0x00,},
{0x06,0x01,0x07,0x09,0x09,0x06,0x00,},
{0x0f,0x08,0x04,0x04,0x02,0x02,0x00,},
{0x06,0x09,0x06,0x09,0x09,0x06,0x00,},
{0x06,0x09,0x09,0x0e,0x08,0x06,0x00,},
{0x00,0x06,0x06,0x00,0x06,0x06,0x00,},
{0x00,0x06,0x06,0x00,0x06,0x02,0x01,},
{0x00,0x08,0x04,0x02,0x04,0x08,0x00,},
{0x00,0x00,0x0f,0x00,0x0f,0x00,0x00,},
{0x00,0x02,0x04,0x08,0x04,0x02,0x00,},
{0x04,0x0a,0x08,0x04,0x00,0x04,0x00,},
{0x06,0x09,0x0d,0x0d,0x01,0x06,0x00,},
{0x06,0x09,0x09,0x0f,0x09,0x09,0x00,},
{0x07,0x09,0x07,0x09,0x09,0x07,0x00,},
{0x06,0x09,0x01,0x01,0x09,0x06,0x00,},
{0x07,0x09,0x09,0x09,0x09,0x07,0x00,},
{0x0f,0x01,0x07,0x01,0x01,0x0f,0x00,},
{0x0f,0x01,0x07,0x01,0x01,0x01,0x00,},
{0x06,0x09,0x01,0x0d,0x09,0x0e,0x00,},
{0x09,0x09,0x0f,0x09,0x09,0x09,0x00,},
{0x0e,0x04,0x04,0x04,0x04,0x0e,0x00,},
{0x08,0x08,0x08,0x08,0x09,0x06,0x00,},
{0x09,0x05,0x03,0x03,0x05,0x09,0x00,},
{0x01,0x01,0x01,0x01,0x01,0x0f,0x00,},
{0x09,0x0f,0x0f,0x09,0x09,0x09,0x00,},
{0x09,0x0b,0x0b,0x0d,0x0d,0x09,0x00,},
{0x06,0x09,0x09,0x09,0x09,0x06,0x00,},
{0x07,0x09,0x09,0x07,0x01,0x01,0x00,},
{0x06,0x09,0x09,0x09,0x0b,0x06,0x08,},
{0x07,0x09,0x09,0x07,0x05,0x09,0x00,},
{0x06,0x09,0x02,0x04,0x09,0x06,0x00,},
{0x0e,0x04,0x04,0x04,0x04,0x04,0x00,},
{0x09,0x09,0x09,0x09,0x09,0x06,0x00,},
{0x09,0x09,0x09,0x09,0x06,0x06,0x00,},
{0x09,0x09,0x09,0x0f,0x0f,0x09,0x00,},
{0x09,0x09,0x06,0x06,0x09,0x09,0x00,},
{0x0a,0x0a,0x0a,0x04,0x04,0x04,0x00,},
{0x0f,0x08,0x04,0x02,0x01,0x0f,0x00,},
{0x0e,0x02,0x02,0x02,0x02,0x0e,0x00,},
{0x00,0x01,0x02,0x04,0x08,0x00,0x00,},
{0x0e,0x08,0x08,0x08,0x08,0x0e,0x00,},
{0x04,0x0a,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x0f,0x00,},
{0x02,0x04,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x0e,0x09,0x0d,0x0a,0x00,},
{0x01,0x01,0x07,0x09,0x09,0x07,0x00,},
{0x00,0x00,0x06,0x01,0x01,0x06,0x00,},
{0x08,0x08,0x0e,0x09,0x09,0x0e,0x00,},
{0x00,0x00,0x06,0x0d,0x03,0x06,0x00,},
{0x04,0x0a,0x02,0x07,0x02,0x02,0x00,},
{0x00,0x00,0x0e,0x09,0x06,0x01,0x0e,},
{0x01,0x01,0x07,0x09,0x09,0x09,0x00,},
{0x04,0x00,0x06,0x04,0x04,0x0e,0x00,},
{0x08,0x00,0x08,0x08,0x08,0x0a,0x04,},
{0x01,0x01,0x05,0x03,0x05,0x09,0x00,},
{0x06,0x04,0x04,0x04,0x04,0x0e,0x00,},
{0x00,0x00,0x05,0x0f,0x09,0x09,0x00,},
{0x00,0x00,0x07,0x09,0x09,0x09,0x00,},
{0x00,0x00,0x06,0x09,0x09,0x06,0x00,},
{0x00,0x00,0x07,0x09,0x09,0x07,0x01,},
{0x00,0x00,0x0e,0x09,0x09,0x0e,0x08,},
{0x00,0x00,0x07,0x09,0x01,0x01,0x00,},
{0x00,0x00,0x0e,0x03,0x0c,0x07,0x00,},
{0x02,0x02,0x07,0x02,0x02,0x0c,0x00,},
{0x00,0x00,0x09,0x09,0x09,0x0e,0x00,},
{0x00,0x00,0x0a,0x0a,0x0a,0x04,0x00,},
{0x00,0x00,0x09,0x09,0x0f,0x0f,0x00,},
{0x00,0x00,0x09,0x06,0x06,0x09,0x00,},
{0x00,0x00,0x09,0x09,0x0a,0x04,0x02,},
{0x00,0x00,0x0f,0x04,0x02,0x0f,0x00,},
{0x08,0x04,0x06,0x04,0x04,0x08,0x00,},
{0x04,0x04,0x04,0x04,0x04,0x04,0x00,},
{0x02,0x04,0x0c,0x04,0x04,0x02,0x00,},
{0x0a,0x05,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x04,0x00,0x04,0x04,0x04,0x04,0x00,},
{0x00,0x04,0x0e,0x05,0x05,0x0e,0x04,},
{0x00,0x0c,0x02,0x07,0x02,0x0d,0x00,},
{0x00,0x11,0x0e,0x0a,0x0e,0x11,0x00,},
{0x0a,0x0a,0x04,0x0e,0x04,0x04,0x00,},
{0x00,0x04,0x04,0x00,0x04,0x04,0x00,},
{0x0c,0x02,0x06,0x0a,0x0c,0x08,0x06,},
{0x0a,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x0e,0x11,0x15,0x13,0x15,0x11,0x0e,},
{0x06,0x05,0x06,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x12,0x09,0x12,0x00,0x00,},
{0x00,0x00,0x00,0x0f,0x08,0x00,0x00,},
{0x00,0x00,0x00,0x0e,0x00,0x00,0x00,},
{0x0e,0x11,0x17,0x13,0x13,0x11,0x0e,},
{0x0f,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x04,0x0a,0x04,0x00,0x00,0x00,0x00,},
{0x04,0x04,0x1f,0x04,0x04,0x1f,0x00,},
{0x06,0x04,0x02,0x06,0x00,0x00,0x00,},
{0x06,0x06,0x04,0x06,0x00,0x00,0x00,},
{0x04,0x02,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x09,0x09,0x09,0x07,0x01,},
{0x0e,0x0b,0x0b,0x0a,0x0a,0x0a,0x00,},
{0x00,0x00,0x06,0x06,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x04,0x02,},
{0x04,0x06,0x04,0x0e,0x00,0x00,0x00,},
{0x02,0x05,0x02,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x09,0x12,0x09,0x00,0x00,},
{0x01,0x01,0x01,0x09,0x0c,0x0e,0x08,},
{0x01,0x01,0x01,0x0d,0x08,0x04,0x0c,},
{0x03,0x03,0x02,0x0b,0x0c,0x0e,0x08,},
{0x04,0x00,0x04,0x02,0x0a,0x04,0x00,},
{0x06,0x09,0x09,0x0f,0x09,0x09,0x00,},
{0x06,0x09,0x09,0x0f,0x09,0x09,0x00,},
{0x06,0x09,0x09,0x0f,0x09,0x09,0x00,},
{0x06,0x09,0x09,0x0f,0x09,0x09,0x00,},
{0x09,0x06,0x09,0x0f,0x09,0x09,0x00,},
{0x06,0x06,0x09,0x0f,0x09,0x09,0x00,},
{0x0e,0x05,0x0d,0x07,0x05,0x0d,0x00,},
{0x06,0x09,0x01,0x01,0x09,0x06,0x02,},
{0x0f,0x01,0x07,0x01,0x01,0x0f,0x00,},
{0x0f,0x01,0x07,0x01,0x01,0x0f,0x00,},
{0x0f,0x01,0x07,0x01,0x01,0x0f,0x00,},
{0x0f,0x01,0x07,0x01,0x01,0x0f,0x00,},
{0x0e,0x04,0x04,0x04,0x04,0x0e,0x00,},
{0x0e,0x04,0x04,0x04,0x04,0x0e,0x00,},
{0x0e,0x04,0x04,0x04,0x04,0x0e,0x00,},
{0x0e,0x04,0x04,0x04,0x04,0x0e,0x00,},
{0x06,0x09,0x01,0x0d,0x09,0x0e,0x00,},
{0x0d,0x09,0x0b,0x0d,0x0d,0x09,0x00,},
{0x06,0x09,0x09,0x09,0x09,0x06,0x00,},
{0x06,0x09,0x09,0x09,0x09,0x06,0x00,},
{0x06,0x09,0x09,0x09,0x09,0x06,0x00,},
{0x06,0x09,0x09,0x09,0x09,0x06,0x00,},
{0x09,0x06,0x09,0x09,0x09,0x06,0x00,},
{0x00,0x00,0x09,0x06,0x06,0x09,0x00,},
{0x0e,0x0d,0x0d,0x0b,0x0b,0x07,0x00,},
{0x09,0x09,0x09,0x09,0x09,0x06,0x00,},
{0x09,0x09,0x09,0x09,0x09,0x06,0x00,},
{0x09,0x09,0x09,0x09,0x09,0x06,0x00,},
{0x09,0x00,0x09,0x09,0x09,0x06,0x00,},
{0x0e,0x04,0x04,0x04,0x04,0x0e,0x00,},
{0x06,0x09,0x02,0x04,0x09,0x06,0x02,},
{0x06,0x09,0x05,0x09,0x09,0x05,0x00,},
{0x02,0x04,0x0e,0x09,0x0d,0x0a,0x00,},
{0x04,0x02,0x0e,0x09,0x0d,0x0a,0x00,},
{0x04,0x0a,0x0e,0x09,0x0d,0x0a,0x00,},
{0x0a,0x05,0x0e,0x09,0x0d,0x0a,0x00,},
{0x0a,0x00,0x0e,0x09,0x0d,0x0a,0x00,},
{0x06,0x06,0x0e,0x09,0x0d,0x0a,0x00,},
{0x00,0x00,0x0e,0x0d,0x05,0x0e,0x00,},
{0x00,0x00,0x0c,0x02,0x02,0x0c,0x04,},
{0x02,0x04,0x06,0x0d,0x03,0x06,0x00,},
{0x04,0x02,0x06,0x0d,0x03,0x06,0x00,},
{0x02,0x05,0x06,0x0d,0x03,0x06,0x00,},
{0x05,0x00,0x06,0x0d,0x03,0x06,0x00,},
{0x02,0x04,0x06,0x04,0x04,0x0e,0x00,},
{0x04,0x02,0x06,0x04,0x04,0x0e,0x00,},
{0x04,0x0a,0x06,0x04,0x04,0x0e,0x00,},
{0x0a,0x00,0x06,0x04,0x04,0x0e,0x00,},
{0x0a,0x04,0x0e,0x09,0x06,0x01,0x0e,},
{0x0a,0x05,0x07,0x09,0x09,0x09,0x00,},
{0x02,0x04,0x06,0x09,0x09,0x06,0x00,},
{0x04,0x02,0x06,0x09,0x09,0x06,0x00,},
{0x06,0x00,0x06,0x09,0x09,0x06,0x00,},
{0x0a,0x05,0x06,0x09,0x09,0x06,0x00,},
{0x0a,0x00,0x06,0x09,0x09,0x06,0x00,},
{0x00,0x06,0x00,0x0f,0x00,0x06,0x00,},
{0x00,0x00,0x0e,0x0d,0x0b,0x07,0x00,},
{0x02,0x04,0x09,0x09,0x09,0x0e,0x00,},
{0x04,0x02,0x09,0x09,0x09,0x0e,0x00,},
{0x06,0x00,0x09,0x09,0x09,0x0e,0x00,},
{0x0a,0x00,0x09,0x09,0x09,0x0e,0x00,},
{0x00,0x00,0x06,0x04,0x04,0x0e,0x00,},
{0x00,0x00,0x0e,0x03,0x0c,0x07,0x02,},
{0x0a,0x00,0x09,0x09,0x0a,0x04,0x02,},
};

5153
ui/fonts/fixed6x13.bdf Normal file

File diff suppressed because it is too large Load diff

261
ui/fonts/fixed6x13.h Normal file
View file

@ -0,0 +1,261 @@
/* -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO8859-15 */
#define FONT_WIDTH_FixedMedium_6x13 6
#define FONT_HEIGHT_FixedMedium_6x13 13
const uint8_t FONT_DATA_FixedMedium_6x13[256][13] = {
{0x00,0x00,0x15,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x15,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x04,0x0e,0x1f,0x0e,0x04,0x00,0x00,0x00,0x00,},
{0x15,0x2a,0x15,0x2a,0x15,0x2a,0x15,0x2a,0x15,0x2a,0x15,0x2a,0x15,},
{0x00,0x00,0x05,0x05,0x07,0x05,0x05,0x1c,0x08,0x08,0x08,0x00,0x00,},
{0x00,0x00,0x07,0x01,0x03,0x01,0x1d,0x04,0x0c,0x04,0x04,0x00,0x00,},
{0x00,0x00,0x06,0x01,0x01,0x06,0x0c,0x14,0x0c,0x14,0x14,0x00,0x00,},
{0x00,0x00,0x01,0x01,0x01,0x07,0x1c,0x04,0x0c,0x04,0x04,0x00,0x00,},
{0x00,0x00,0x0c,0x12,0x12,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x04,0x04,0x1f,0x04,0x04,0x00,0x1f,0x00,0x00,0x00,},
{0x00,0x00,0x09,0x0b,0x0d,0x09,0x04,0x04,0x04,0x04,0x1c,0x00,0x00,},
{0x00,0x00,0x05,0x05,0x05,0x02,0x02,0x1c,0x08,0x08,0x08,0x00,0x00,},
{0x04,0x04,0x04,0x04,0x04,0x04,0x07,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x04,0x04,0x04,0x04,0x04,0x04,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x04,0x04,0x04,0x04,0x04,0x04,},
{0x04,0x04,0x04,0x04,0x04,0x04,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x04,0x04,0x04,0x04,0x04,0x04,0x3f,0x04,0x04,0x04,0x04,0x04,0x04,},
{0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,},
{0x04,0x04,0x04,0x04,0x04,0x04,0x3c,0x04,0x04,0x04,0x04,0x04,0x04,},
{0x04,0x04,0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x04,0x04,0x04,},
{0x04,0x04,0x04,0x04,0x04,0x04,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x04,0x04,0x04,0x04,0x04,0x04,},
{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,},
{0x00,0x00,0x00,0x18,0x06,0x01,0x06,0x18,0x00,0x1f,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x03,0x0c,0x10,0x0c,0x03,0x00,0x1f,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x1f,0x0a,0x0a,0x0a,0x0a,0x0a,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x10,0x1f,0x04,0x1f,0x01,0x00,0x00,0x00,},
{0x00,0x00,0x0c,0x12,0x02,0x02,0x07,0x02,0x02,0x12,0x0d,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,0x04,0x00,0x00,},
{0x00,0x00,0x0a,0x0a,0x0a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x0a,0x0a,0x1f,0x0a,0x1f,0x0a,0x0a,0x00,0x00,0x00,},
{0x00,0x00,0x04,0x1e,0x05,0x05,0x0e,0x14,0x14,0x0f,0x04,0x00,0x00,},
{0x00,0x00,0x12,0x15,0x0a,0x08,0x04,0x02,0x0a,0x15,0x09,0x00,0x00,},
{0x00,0x00,0x00,0x02,0x05,0x05,0x02,0x05,0x19,0x09,0x16,0x00,0x00,},
{0x00,0x00,0x04,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x08,0x04,0x04,0x02,0x02,0x02,0x02,0x02,0x04,0x04,0x08,0x00,},
{0x00,0x02,0x04,0x04,0x08,0x08,0x08,0x08,0x08,0x04,0x04,0x02,0x00,},
{0x00,0x00,0x04,0x15,0x0e,0x15,0x04,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x04,0x04,0x1f,0x04,0x04,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x04,0x02,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x0e,0x04,0x00,},
{0x00,0x00,0x10,0x10,0x08,0x08,0x04,0x02,0x02,0x01,0x01,0x00,0x00,},
{0x00,0x00,0x04,0x0a,0x11,0x11,0x11,0x11,0x11,0x0a,0x04,0x00,0x00,},
{0x00,0x00,0x04,0x06,0x05,0x04,0x04,0x04,0x04,0x04,0x1f,0x00,0x00,},
{0x00,0x00,0x0e,0x11,0x11,0x10,0x08,0x04,0x02,0x01,0x1f,0x00,0x00,},
{0x00,0x00,0x1f,0x10,0x08,0x04,0x0e,0x10,0x10,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x08,0x08,0x0c,0x0a,0x0a,0x09,0x1f,0x08,0x08,0x00,0x00,},
{0x00,0x00,0x1f,0x01,0x01,0x0d,0x13,0x10,0x10,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x0e,0x11,0x01,0x01,0x0f,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x1f,0x10,0x08,0x08,0x04,0x04,0x02,0x02,0x02,0x00,0x00,},
{0x00,0x00,0x0e,0x11,0x11,0x11,0x0e,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x0e,0x11,0x11,0x11,0x1e,0x10,0x10,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x04,0x0e,0x04,0x00,0x00,0x04,0x0e,0x04,0x00,},
{0x00,0x00,0x00,0x00,0x04,0x0e,0x04,0x00,0x00,0x0c,0x04,0x02,0x00,},
{0x00,0x00,0x10,0x08,0x04,0x02,0x01,0x02,0x04,0x08,0x10,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x1f,0x00,0x00,0x1f,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x08,0x04,0x02,0x01,0x00,0x00,},
{0x00,0x00,0x0e,0x11,0x11,0x10,0x08,0x04,0x04,0x00,0x04,0x00,0x00,},
{0x00,0x00,0x0e,0x11,0x11,0x19,0x15,0x15,0x0d,0x01,0x1e,0x00,0x00,},
{0x00,0x00,0x04,0x0a,0x11,0x11,0x11,0x1f,0x11,0x11,0x11,0x00,0x00,},
{0x00,0x00,0x0f,0x12,0x12,0x12,0x0e,0x12,0x12,0x12,0x0f,0x00,0x00,},
{0x00,0x00,0x0e,0x11,0x01,0x01,0x01,0x01,0x01,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x0f,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x0f,0x00,0x00,},
{0x00,0x00,0x1f,0x01,0x01,0x01,0x0f,0x01,0x01,0x01,0x1f,0x00,0x00,},
{0x00,0x00,0x1f,0x01,0x01,0x01,0x0f,0x01,0x01,0x01,0x01,0x00,0x00,},
{0x00,0x00,0x0e,0x11,0x01,0x01,0x01,0x19,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x11,0x11,0x11,0x11,0x1f,0x11,0x11,0x11,0x11,0x00,0x00,},
{0x00,0x00,0x0e,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x0e,0x00,0x00,},
{0x00,0x00,0x1c,0x08,0x08,0x08,0x08,0x08,0x08,0x09,0x06,0x00,0x00,},
{0x00,0x00,0x11,0x11,0x09,0x05,0x03,0x05,0x09,0x11,0x11,0x00,0x00,},
{0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x1f,0x00,0x00,},
{0x00,0x00,0x11,0x11,0x1b,0x15,0x15,0x11,0x11,0x11,0x11,0x00,0x00,},
{0x00,0x00,0x11,0x13,0x13,0x15,0x15,0x19,0x19,0x11,0x11,0x00,0x00,},
{0x00,0x00,0x0e,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x0f,0x11,0x11,0x11,0x0f,0x01,0x01,0x01,0x01,0x00,0x00,},
{0x00,0x00,0x0e,0x11,0x11,0x11,0x11,0x11,0x11,0x15,0x0e,0x10,0x00,},
{0x00,0x00,0x0f,0x11,0x11,0x11,0x0f,0x05,0x09,0x11,0x11,0x00,0x00,},
{0x00,0x00,0x0e,0x11,0x01,0x01,0x0e,0x10,0x10,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x1f,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,0x00,},
{0x00,0x00,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x11,0x11,0x11,0x11,0x0a,0x0a,0x0a,0x04,0x04,0x00,0x00,},
{0x00,0x00,0x11,0x11,0x11,0x11,0x15,0x15,0x15,0x15,0x0a,0x00,0x00,},
{0x00,0x00,0x11,0x11,0x0a,0x0a,0x04,0x0a,0x0a,0x11,0x11,0x00,0x00,},
{0x00,0x00,0x11,0x11,0x0a,0x0a,0x04,0x04,0x04,0x04,0x04,0x00,0x00,},
{0x00,0x00,0x1f,0x10,0x08,0x08,0x04,0x02,0x02,0x01,0x1f,0x00,0x00,},
{0x00,0x0e,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x0e,0x00,},
{0x00,0x00,0x01,0x01,0x02,0x02,0x04,0x08,0x08,0x10,0x10,0x00,0x00,},
{0x00,0x0e,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x0e,0x00,},
{0x00,0x00,0x04,0x0a,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x00,},
{0x00,0x04,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x0e,0x10,0x1e,0x11,0x19,0x16,0x00,0x00,},
{0x00,0x00,0x01,0x01,0x01,0x0f,0x11,0x11,0x11,0x11,0x0f,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x0e,0x11,0x01,0x01,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x10,0x10,0x10,0x1e,0x11,0x11,0x11,0x11,0x1e,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x0e,0x11,0x1f,0x01,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x0c,0x12,0x02,0x02,0x0f,0x02,0x02,0x02,0x02,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x0e,0x11,0x11,0x11,0x1e,0x10,0x11,0x0e,},
{0x00,0x00,0x01,0x01,0x01,0x0d,0x13,0x11,0x11,0x11,0x11,0x00,0x00,},
{0x00,0x00,0x00,0x04,0x00,0x06,0x04,0x04,0x04,0x04,0x0e,0x00,0x00,},
{0x00,0x00,0x00,0x08,0x00,0x0c,0x08,0x08,0x08,0x08,0x09,0x09,0x06,},
{0x00,0x00,0x01,0x01,0x01,0x09,0x05,0x03,0x05,0x09,0x11,0x00,0x00,},
{0x00,0x00,0x06,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x0e,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x0b,0x15,0x15,0x15,0x15,0x11,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x0d,0x13,0x11,0x11,0x11,0x11,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x0e,0x11,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x11,0x11,0x0f,0x01,0x01,0x01,},
{0x00,0x00,0x00,0x00,0x00,0x1e,0x11,0x11,0x11,0x1e,0x10,0x10,0x10,},
{0x00,0x00,0x00,0x00,0x00,0x0d,0x13,0x01,0x01,0x01,0x01,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x0e,0x11,0x06,0x08,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x00,0x02,0x02,0x0f,0x02,0x02,0x02,0x12,0x0c,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x11,0x11,0x11,0x11,0x19,0x16,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x11,0x11,0x11,0x0a,0x0a,0x04,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x11,0x11,0x15,0x15,0x15,0x0a,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x11,0x0a,0x04,0x04,0x0a,0x11,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x11,0x11,0x11,0x19,0x16,0x10,0x11,0x0e,},
{0x00,0x00,0x00,0x00,0x00,0x1f,0x08,0x04,0x02,0x01,0x1f,0x00,0x00,},
{0x00,0x18,0x04,0x04,0x04,0x04,0x03,0x04,0x04,0x04,0x04,0x18,0x00,},
{0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,0x00,},
{0x00,0x03,0x04,0x04,0x04,0x04,0x18,0x04,0x04,0x04,0x04,0x03,0x00,},
{0x00,0x00,0x12,0x15,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x04,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,0x00,},
{0x00,0x00,0x04,0x0e,0x15,0x05,0x05,0x15,0x0e,0x04,0x00,0x00,0x00,},
{0x00,0x00,0x0c,0x12,0x02,0x02,0x07,0x02,0x02,0x12,0x0d,0x00,0x00,},
{0x00,0x00,0x1c,0x02,0x02,0x0f,0x02,0x0f,0x02,0x02,0x1c,0x00,0x00,},
{0x00,0x00,0x11,0x11,0x0a,0x0a,0x1f,0x04,0x1f,0x04,0x04,0x00,0x00,},
{0x00,0x12,0x0c,0x00,0x0e,0x11,0x01,0x0e,0x10,0x11,0x0e,0x00,0x00,},
{0x00,0x0c,0x12,0x02,0x0c,0x12,0x12,0x0c,0x10,0x12,0x0c,0x00,0x00,},
{0x00,0x00,0x09,0x06,0x00,0x0e,0x11,0x06,0x08,0x11,0x0e,0x00,0x00,},
{0x00,0x0e,0x11,0x15,0x1b,0x13,0x1b,0x15,0x11,0x0e,0x00,0x00,0x00,},
{0x00,0x00,0x0e,0x10,0x1e,0x11,0x1e,0x00,0x1f,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x14,0x0a,0x05,0x05,0x0a,0x14,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x10,0x10,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x0e,0x11,0x17,0x1b,0x1b,0x17,0x1b,0x11,0x0e,0x00,0x00,0x00,},
{0x00,0x00,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x0c,0x12,0x12,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x04,0x04,0x1f,0x04,0x04,0x00,0x1f,0x00,0x00,0x00,},
{0x00,0x02,0x05,0x04,0x02,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x02,0x05,0x02,0x04,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x12,0x0c,0x00,0x1f,0x10,0x08,0x04,0x02,0x01,0x1f,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x11,0x11,0x11,0x11,0x19,0x17,0x01,0x01,},
{0x00,0x00,0x1e,0x17,0x17,0x17,0x17,0x16,0x14,0x14,0x14,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x12,0x0c,0x00,0x1f,0x08,0x04,0x02,0x01,0x1f,0x00,0x00,},
{0x00,0x02,0x03,0x02,0x02,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x0e,0x11,0x11,0x11,0x0e,0x00,0x1f,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x05,0x0a,0x14,0x14,0x0a,0x05,0x00,0x00,0x00,},
{0x00,0x00,0x1e,0x05,0x05,0x05,0x0d,0x05,0x05,0x05,0x1e,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x0a,0x15,0x1d,0x05,0x15,0x0a,0x00,0x00,},
{0x00,0x0a,0x0a,0x00,0x11,0x0a,0x0a,0x04,0x04,0x04,0x04,0x00,0x00,},
{0x00,0x00,0x04,0x00,0x04,0x04,0x02,0x01,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x02,0x04,0x00,0x04,0x0a,0x11,0x11,0x1f,0x11,0x11,0x00,0x00,},
{0x00,0x08,0x04,0x00,0x04,0x0a,0x11,0x11,0x1f,0x11,0x11,0x00,0x00,},
{0x00,0x0c,0x12,0x00,0x04,0x0a,0x11,0x11,0x1f,0x11,0x11,0x00,0x00,},
{0x00,0x14,0x0a,0x00,0x04,0x0a,0x11,0x11,0x1f,0x11,0x11,0x00,0x00,},
{0x00,0x0a,0x0a,0x00,0x04,0x0a,0x11,0x11,0x1f,0x11,0x11,0x00,0x00,},
{0x00,0x04,0x0a,0x04,0x04,0x0a,0x11,0x11,0x1f,0x11,0x11,0x00,0x00,},
{0x00,0x00,0x1a,0x05,0x05,0x05,0x0d,0x07,0x05,0x05,0x1d,0x00,0x00,},
{0x00,0x00,0x0e,0x11,0x01,0x01,0x01,0x01,0x01,0x11,0x0e,0x04,0x02,},
{0x00,0x02,0x04,0x00,0x1f,0x01,0x01,0x0f,0x01,0x01,0x1f,0x00,0x00,},
{0x00,0x08,0x04,0x00,0x1f,0x01,0x01,0x0f,0x01,0x01,0x1f,0x00,0x00,},
{0x00,0x0c,0x12,0x00,0x1f,0x01,0x01,0x0f,0x01,0x01,0x1f,0x00,0x00,},
{0x00,0x0a,0x0a,0x00,0x1f,0x01,0x01,0x0f,0x01,0x01,0x1f,0x00,0x00,},
{0x00,0x02,0x04,0x00,0x0e,0x04,0x04,0x04,0x04,0x04,0x0e,0x00,0x00,},
{0x00,0x08,0x04,0x00,0x0e,0x04,0x04,0x04,0x04,0x04,0x0e,0x00,0x00,},
{0x00,0x0c,0x12,0x00,0x0e,0x04,0x04,0x04,0x04,0x04,0x0e,0x00,0x00,},
{0x00,0x0a,0x0a,0x00,0x0e,0x04,0x04,0x04,0x04,0x04,0x0e,0x00,0x00,},
{0x00,0x00,0x0f,0x12,0x12,0x12,0x17,0x12,0x12,0x12,0x0f,0x00,0x00,},
{0x00,0x14,0x0a,0x00,0x11,0x11,0x13,0x15,0x19,0x11,0x11,0x00,0x00,},
{0x00,0x02,0x04,0x00,0x0e,0x11,0x11,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x08,0x04,0x00,0x0e,0x11,0x11,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x0c,0x12,0x00,0x0e,0x11,0x11,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x14,0x0a,0x00,0x0e,0x11,0x11,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x0a,0x0a,0x00,0x0e,0x11,0x11,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x11,0x0a,0x04,0x0a,0x11,0x00,0x00,0x00,},
{0x00,0x10,0x0e,0x19,0x19,0x15,0x15,0x15,0x13,0x13,0x0e,0x01,0x00,},
{0x00,0x02,0x04,0x00,0x11,0x11,0x11,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x08,0x04,0x00,0x11,0x11,0x11,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x0c,0x12,0x00,0x11,0x11,0x11,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x0a,0x0a,0x00,0x11,0x11,0x11,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x08,0x04,0x00,0x11,0x11,0x0a,0x04,0x04,0x04,0x04,0x00,0x00,},
{0x00,0x00,0x01,0x0f,0x11,0x11,0x11,0x0f,0x01,0x01,0x01,0x00,0x00,},
{0x00,0x00,0x06,0x09,0x09,0x05,0x05,0x09,0x11,0x11,0x0d,0x00,0x00,},
{0x00,0x00,0x02,0x04,0x00,0x0e,0x10,0x1e,0x11,0x19,0x16,0x00,0x00,},
{0x00,0x00,0x08,0x04,0x00,0x0e,0x10,0x1e,0x11,0x19,0x16,0x00,0x00,},
{0x00,0x00,0x0c,0x12,0x00,0x0e,0x10,0x1e,0x11,0x19,0x16,0x00,0x00,},
{0x00,0x00,0x14,0x0a,0x00,0x0e,0x10,0x1e,0x11,0x19,0x16,0x00,0x00,},
{0x00,0x00,0x0a,0x0a,0x00,0x0e,0x10,0x1e,0x11,0x19,0x16,0x00,0x00,},
{0x00,0x0c,0x12,0x0c,0x00,0x0e,0x10,0x1e,0x11,0x19,0x16,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x0e,0x14,0x0e,0x05,0x15,0x0a,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x0e,0x11,0x01,0x01,0x11,0x0e,0x04,0x02,},
{0x00,0x00,0x02,0x04,0x00,0x0e,0x11,0x1f,0x01,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x08,0x04,0x00,0x0e,0x11,0x1f,0x01,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x0c,0x12,0x00,0x0e,0x11,0x1f,0x01,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x0a,0x0a,0x00,0x0e,0x11,0x1f,0x01,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x02,0x04,0x00,0x06,0x04,0x04,0x04,0x04,0x0e,0x00,0x00,},
{0x00,0x00,0x08,0x04,0x00,0x06,0x04,0x04,0x04,0x04,0x0e,0x00,0x00,},
{0x00,0x00,0x0c,0x12,0x00,0x06,0x04,0x04,0x04,0x04,0x0e,0x00,0x00,},
{0x00,0x00,0x0a,0x0a,0x00,0x06,0x04,0x04,0x04,0x04,0x0e,0x00,0x00,},
{0x00,0x0a,0x04,0x06,0x08,0x0e,0x11,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x14,0x0a,0x00,0x0d,0x13,0x11,0x11,0x11,0x11,0x00,0x00,},
{0x00,0x00,0x02,0x04,0x00,0x0e,0x11,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x08,0x04,0x00,0x0e,0x11,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x0c,0x12,0x00,0x0e,0x11,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x14,0x0a,0x00,0x0e,0x11,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x0a,0x0a,0x00,0x0e,0x11,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x00,0x00,0x04,0x04,0x00,0x1f,0x00,0x04,0x04,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x10,0x0e,0x19,0x15,0x15,0x13,0x0e,0x01,0x00,},
{0x00,0x00,0x02,0x04,0x00,0x11,0x11,0x11,0x11,0x19,0x16,0x00,0x00,},
{0x00,0x00,0x08,0x04,0x00,0x11,0x11,0x11,0x11,0x19,0x16,0x00,0x00,},
{0x00,0x00,0x0c,0x12,0x00,0x11,0x11,0x11,0x11,0x19,0x16,0x00,0x00,},
{0x00,0x00,0x0a,0x0a,0x00,0x11,0x11,0x11,0x11,0x19,0x16,0x00,0x00,},
{0x00,0x00,0x08,0x04,0x00,0x11,0x11,0x11,0x19,0x16,0x10,0x11,0x0e,},
{0x00,0x00,0x00,0x01,0x01,0x0d,0x13,0x11,0x11,0x13,0x0d,0x01,0x01,},
{0x00,0x00,0x0a,0x0a,0x00,0x11,0x11,0x11,0x19,0x16,0x10,0x11,0x0e,},
};

5153
ui/fonts/fixed6x13b.bdf Normal file

File diff suppressed because it is too large Load diff

261
ui/fonts/fixed6x13b.h Normal file
View file

@ -0,0 +1,261 @@
/* -Misc-Fixed-Bold-R-SemiCondensed--13-120-75-75-C-60-ISO8859-15 */
#define FONT_WIDTH_FixedBold_6x13 6
#define FONT_HEIGHT_FixedBold_6x13 13
const uint8_t FONT_DATA_FixedBold_6x13[256][13] = {
{0x00,0x15,0x15,0x00,0x11,0x11,0x00,0x11,0x11,0x00,0x15,0x15,0x00,},
{0x00,0x00,0x00,0x00,0x0c,0x1e,0x3f,0x1e,0x0c,0x00,0x00,0x00,0x00,},
{0x15,0x2a,0x15,0x2a,0x15,0x2a,0x15,0x2a,0x15,0x2a,0x15,0x2a,0x15,},
{0x00,0x1b,0x1b,0x1f,0x1b,0x1b,0x3c,0x18,0x18,0x18,0x18,0x00,0x00,},
{0x00,0x0f,0x03,0x07,0x03,0x03,0x3c,0x0c,0x1c,0x0c,0x0c,0x00,0x00,},
{0x00,0x1e,0x13,0x03,0x13,0x1e,0x1e,0x36,0x1e,0x16,0x36,0x00,0x00,},
{0x00,0x03,0x03,0x03,0x03,0x0f,0x3c,0x0c,0x1c,0x0c,0x0c,0x00,0x00,},
{0x00,0x00,0x1e,0x33,0x33,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x0c,0x0c,0x3f,0x3f,0x0c,0x0c,0x00,0x3f,0x3f,0x00,0x00,},
{0x00,0x00,0x00,0x1b,0x1f,0x1f,0x1b,0x1b,0x0c,0x0c,0x0c,0x0c,0x3c,},
{0x00,0x1b,0x1b,0x1b,0x0e,0x04,0x3c,0x18,0x18,0x18,0x18,0x00,0x00,},
{0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0f,0x0f,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x0f,0x0c,0x0c,0x0c,0x0c,0x0c,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x3c,0x0c,0x0c,0x0c,0x0c,0x0c,},
{0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x3c,0x3c,0x00,0x00,0x00,0x00,0x00,},
{0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x3f,0x3f,0x0c,0x0c,0x0c,0x0c,0x0c,},
{0x3f,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x3f,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x3f,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x3f,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x3f,},
{0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x3c,0x3c,0x0c,0x0c,0x0c,0x0c,0x0c,},
{0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0f,0x0f,0x0c,0x0c,0x0c,0x0c,0x0c,},
{0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x3f,0x3f,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x3f,0x0c,0x0c,0x0c,0x0c,0x0c,},
{0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,},
{0x00,0x00,0x00,0x38,0x0e,0x03,0x0e,0x38,0x00,0x3f,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x07,0x1c,0x30,0x1c,0x07,0x00,0x3f,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x3f,0x33,0x33,0x33,0x33,0x33,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x30,0x3f,0x0c,0x3f,0x03,0x00,0x00,0x00,},
{0x00,0x00,0x1c,0x36,0x06,0x06,0x1f,0x06,0x06,0x26,0x1f,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x0c,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x00,0x0c,0x00,0x00,},
{0x00,0x00,0x1b,0x1b,0x1b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x1e,0x1e,0x3f,0x1e,0x3f,0x1e,0x1e,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x0c,0x1e,0x0f,0x1e,0x3c,0x1e,0x0c,0x00,0x00,0x00,},
{0x00,0x00,0x36,0x3f,0x1e,0x18,0x0c,0x06,0x1e,0x3f,0x1b,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x06,0x0f,0x0f,0x06,0x3f,0x1b,0x3e,0x00,0x00,},
{0x00,0x00,0x0c,0x0c,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x18,0x0c,0x0c,0x06,0x06,0x06,0x06,0x06,0x0c,0x0c,0x18,0x00,},
{0x00,0x06,0x0c,0x0c,0x18,0x18,0x18,0x18,0x18,0x0c,0x0c,0x06,0x00,},
{0x00,0x00,0x00,0x00,0x33,0x1e,0x3f,0x1e,0x33,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x0c,0x0c,0x3f,0x0c,0x0c,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x0c,0x06,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x1e,0x0c,0x00,},
{0x00,0x00,0x30,0x30,0x18,0x18,0x0c,0x06,0x06,0x03,0x03,0x00,0x00,},
{0x00,0x00,0x0c,0x1e,0x33,0x33,0x33,0x33,0x33,0x1e,0x0c,0x00,0x00,},
{0x00,0x00,0x0c,0x0e,0x0f,0x0c,0x0c,0x0c,0x0c,0x0c,0x3f,0x00,0x00,},
{0x00,0x00,0x1e,0x33,0x33,0x30,0x18,0x0c,0x06,0x03,0x3f,0x00,0x00,},
{0x00,0x00,0x3f,0x30,0x18,0x0c,0x1e,0x30,0x30,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x18,0x18,0x1c,0x1e,0x1a,0x1b,0x3f,0x18,0x18,0x00,0x00,},
{0x00,0x00,0x3f,0x03,0x03,0x1f,0x37,0x30,0x30,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x1c,0x06,0x03,0x03,0x1f,0x37,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x3f,0x30,0x18,0x18,0x0c,0x0c,0x06,0x06,0x06,0x00,0x00,},
{0x00,0x00,0x1e,0x33,0x33,0x33,0x1e,0x33,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x1e,0x33,0x33,0x3b,0x3e,0x30,0x30,0x18,0x0e,0x00,0x00,},
{0x00,0x00,0x00,0x0c,0x1e,0x0c,0x00,0x00,0x0c,0x1e,0x0c,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x0c,0x1e,0x0c,0x00,0x00,0x1c,0x0c,0x06,0x00,},
{0x00,0x00,0x30,0x18,0x0c,0x06,0x03,0x06,0x0c,0x18,0x30,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x3f,0x00,0x00,0x3f,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x03,0x06,0x0c,0x18,0x30,0x18,0x0c,0x06,0x03,0x00,0x00,},
{0x00,0x00,0x1e,0x33,0x33,0x30,0x18,0x0c,0x0c,0x00,0x0c,0x00,0x00,},
{0x00,0x00,0x1e,0x33,0x33,0x3b,0x3f,0x3f,0x1f,0x03,0x3e,0x00,0x00,},
{0x00,0x00,0x0c,0x1e,0x33,0x33,0x33,0x3f,0x33,0x33,0x33,0x00,0x00,},
{0x00,0x00,0x1f,0x36,0x36,0x36,0x1e,0x36,0x36,0x36,0x1f,0x00,0x00,},
{0x00,0x00,0x1e,0x33,0x03,0x03,0x03,0x03,0x03,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x1f,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x1f,0x00,0x00,},
{0x00,0x00,0x3f,0x03,0x03,0x03,0x1f,0x03,0x03,0x03,0x3f,0x00,0x00,},
{0x00,0x00,0x3f,0x03,0x03,0x03,0x1f,0x03,0x03,0x03,0x03,0x00,0x00,},
{0x00,0x00,0x1e,0x33,0x03,0x03,0x03,0x3b,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x33,0x33,0x33,0x33,0x3f,0x33,0x33,0x33,0x33,0x00,0x00,},
{0x00,0x00,0x1e,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x1e,0x00,0x00,},
{0x00,0x00,0x3c,0x30,0x30,0x30,0x30,0x30,0x30,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x33,0x33,0x1b,0x0f,0x07,0x0f,0x1b,0x33,0x33,0x00,0x00,},
{0x00,0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x3f,0x00,0x00,},
{0x00,0x00,0x33,0x33,0x3f,0x3f,0x3f,0x33,0x33,0x33,0x33,0x00,0x00,},
{0x00,0x00,0x33,0x37,0x37,0x3f,0x3f,0x3b,0x3b,0x33,0x33,0x00,0x00,},
{0x00,0x00,0x1e,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x1f,0x33,0x33,0x33,0x1f,0x03,0x03,0x03,0x03,0x00,0x00,},
{0x00,0x00,0x1e,0x33,0x33,0x33,0x33,0x33,0x33,0x3f,0x1e,0x30,0x00,},
{0x00,0x00,0x1f,0x33,0x33,0x33,0x1f,0x0f,0x1b,0x33,0x33,0x00,0x00,},
{0x00,0x00,0x1e,0x33,0x03,0x03,0x1e,0x30,0x30,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x3f,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x00,0x00,},
{0x00,0x00,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x33,0x33,0x33,0x33,0x1e,0x1e,0x1e,0x0c,0x0c,0x00,0x00,},
{0x00,0x00,0x33,0x33,0x33,0x33,0x3f,0x3f,0x3f,0x3f,0x33,0x00,0x00,},
{0x00,0x00,0x33,0x33,0x1e,0x1e,0x0c,0x1e,0x1e,0x33,0x33,0x00,0x00,},
{0x00,0x00,0x33,0x33,0x1e,0x1e,0x0c,0x0c,0x0c,0x0c,0x0c,0x00,0x00,},
{0x00,0x00,0x3f,0x30,0x18,0x18,0x0c,0x06,0x06,0x03,0x3f,0x00,0x00,},
{0x00,0x1e,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x1e,0x00,},
{0x00,0x00,0x03,0x03,0x06,0x06,0x0c,0x18,0x18,0x30,0x30,0x00,0x00,},
{0x00,0x1e,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1e,0x00,},
{0x00,0x00,0x0c,0x1e,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x00,},
{0x00,0x06,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x1e,0x30,0x3e,0x33,0x3b,0x36,0x00,0x00,},
{0x00,0x00,0x03,0x03,0x03,0x1b,0x37,0x33,0x33,0x37,0x1b,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x1e,0x33,0x03,0x03,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x30,0x30,0x30,0x36,0x3b,0x33,0x33,0x3b,0x36,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x1e,0x33,0x3f,0x03,0x03,0x1e,0x00,0x00,},
{0x00,0x00,0x1c,0x36,0x06,0x06,0x1f,0x06,0x06,0x06,0x06,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x3e,0x1b,0x1b,0x0e,0x03,0x1e,0x33,0x1e,},
{0x00,0x00,0x03,0x03,0x03,0x1b,0x37,0x33,0x33,0x33,0x33,0x00,0x00,},
{0x00,0x00,0x0c,0x0c,0x00,0x0e,0x0c,0x0c,0x0c,0x0c,0x1e,0x00,0x00,},
{0x00,0x00,0x18,0x18,0x00,0x1c,0x18,0x18,0x18,0x18,0x1b,0x1b,0x0e,},
{0x00,0x00,0x03,0x03,0x03,0x1b,0x0f,0x07,0x0f,0x1b,0x33,0x00,0x00,},
{0x00,0x00,0x0e,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x1e,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x1f,0x3f,0x3f,0x3f,0x3f,0x33,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x1b,0x37,0x33,0x33,0x33,0x33,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x1e,0x33,0x33,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x1b,0x37,0x33,0x37,0x1b,0x03,0x03,0x03,},
{0x00,0x00,0x00,0x00,0x00,0x36,0x3b,0x33,0x3b,0x36,0x30,0x30,0x30,},
{0x00,0x00,0x00,0x00,0x00,0x1b,0x37,0x03,0x03,0x03,0x03,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x1e,0x33,0x0e,0x18,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x00,0x06,0x06,0x1f,0x06,0x06,0x06,0x36,0x1c,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0x3b,0x36,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x1e,0x1e,0x0c,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x3f,0x3f,0x3f,0x12,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x33,0x1e,0x0c,0x0c,0x1e,0x33,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x3b,0x36,0x30,0x33,0x1e,},
{0x00,0x00,0x00,0x00,0x00,0x3f,0x18,0x0c,0x06,0x03,0x3f,0x00,0x00,},
{0x00,0x1c,0x06,0x06,0x06,0x0c,0x07,0x0c,0x06,0x06,0x06,0x1c,0x00,},
{0x00,0x00,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x00,0x00,},
{0x00,0x07,0x0c,0x0c,0x0c,0x06,0x1c,0x06,0x0c,0x0c,0x0c,0x07,0x00,},
{0x00,0x00,0x16,0x1f,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x0c,0x0c,0x00,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x00,0x00,},
{0x00,0x00,0x08,0x1e,0x2b,0x0b,0x0b,0x2b,0x1e,0x08,0x00,0x00,0x00,},
{0x00,0x00,0x1c,0x36,0x06,0x06,0x1f,0x06,0x06,0x26,0x1f,0x00,0x00,},
{0x00,0x00,0x1c,0x3e,0x06,0x0f,0x06,0x0f,0x06,0x3e,0x1c,0x00,0x00,},
{0x00,0x00,0x33,0x33,0x1e,0x1e,0x3f,0x0c,0x3f,0x0c,0x0c,0x00,0x00,},
{0x00,0x36,0x1c,0x00,0x1e,0x33,0x03,0x1e,0x30,0x33,0x1e,0x00,0x00,},
{0x00,0x1e,0x33,0x03,0x1e,0x33,0x33,0x1e,0x30,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x36,0x1c,0x00,0x1e,0x33,0x0e,0x18,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x1e,0x33,0x2d,0x37,0x27,0x37,0x2d,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x1f,0x30,0x3f,0x31,0x3f,0x00,0x3f,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x2c,0x16,0x0b,0x05,0x0b,0x16,0x2c,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x3f,0x3f,0x20,0x20,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x1e,0x33,0x3d,0x35,0x3d,0x2d,0x35,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x1f,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x1e,0x33,0x33,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x0c,0x0c,0x3f,0x3f,0x0c,0x0c,0x00,0x3f,0x3f,0x00,0x00,},
{0x00,0x07,0x0d,0x0c,0x06,0x03,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x07,0x0d,0x06,0x0c,0x0d,0x07,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x36,0x1c,0x00,0x3f,0x30,0x18,0x0c,0x06,0x03,0x3f,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0x33,0x3f,0x01,0x01,},
{0x00,0x00,0x3e,0x3f,0x2f,0x2f,0x2f,0x2e,0x2c,0x2c,0x2c,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x0c,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x36,0x1c,0x00,0x3f,0x18,0x0c,0x06,0x03,0x3f,0x00,0x00,},
{0x00,0x06,0x07,0x06,0x06,0x06,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x0e,0x1f,0x11,0x1f,0x0e,0x00,0x1f,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x0d,0x1a,0x34,0x28,0x34,0x1a,0x0d,0x00,0x00,0x00,},
{0x00,0x00,0x3e,0x1b,0x1b,0x1b,0x3b,0x1b,0x1b,0x1b,0x3e,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x1e,0x2b,0x1b,0x0b,0x2b,0x1e,0x00,0x00,},
{0x00,0x33,0x33,0x00,0x33,0x33,0x1e,0x1e,0x0c,0x0c,0x0c,0x00,0x00,},
{0x00,0x0c,0x0c,0x00,0x0c,0x0c,0x06,0x03,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x06,0x0c,0x00,0x0c,0x1e,0x33,0x33,0x3f,0x33,0x33,0x00,0x00,},
{0x00,0x18,0x0c,0x00,0x0c,0x1e,0x33,0x33,0x3f,0x33,0x33,0x00,0x00,},
{0x00,0x1c,0x36,0x00,0x0c,0x1e,0x33,0x33,0x3f,0x33,0x33,0x00,0x00,},
{0x00,0x2c,0x1a,0x00,0x0c,0x1e,0x33,0x33,0x3f,0x33,0x33,0x00,0x00,},
{0x00,0x33,0x33,0x00,0x0c,0x1e,0x33,0x33,0x3f,0x33,0x33,0x00,0x00,},
{0x00,0x0c,0x12,0x1e,0x0c,0x1e,0x33,0x33,0x3f,0x33,0x33,0x00,0x00,},
{0x00,0x00,0x3e,0x0d,0x0d,0x0d,0x1d,0x0f,0x0f,0x0d,0x3d,0x00,0x00,},
{0x00,0x00,0x1e,0x33,0x03,0x03,0x03,0x03,0x03,0x33,0x1e,0x0c,0x06,},
{0x00,0x06,0x0c,0x00,0x3f,0x03,0x03,0x1f,0x03,0x03,0x3f,0x00,0x00,},
{0x00,0x18,0x0c,0x00,0x3f,0x03,0x03,0x1f,0x03,0x03,0x3f,0x00,0x00,},
{0x00,0x1c,0x36,0x00,0x3f,0x03,0x03,0x1f,0x03,0x03,0x3f,0x00,0x00,},
{0x00,0x33,0x33,0x00,0x3f,0x03,0x03,0x1f,0x03,0x03,0x3f,0x00,0x00,},
{0x00,0x06,0x0c,0x00,0x1e,0x0c,0x0c,0x0c,0x0c,0x0c,0x1e,0x00,0x00,},
{0x00,0x18,0x0c,0x00,0x1e,0x0c,0x0c,0x0c,0x0c,0x0c,0x1e,0x00,0x00,},
{0x00,0x0e,0x1b,0x00,0x1e,0x0c,0x0c,0x0c,0x0c,0x0c,0x1e,0x00,0x00,},
{0x00,0x33,0x33,0x00,0x1e,0x0c,0x0c,0x0c,0x0c,0x0c,0x1e,0x00,0x00,},
{0x00,0x00,0x1f,0x36,0x36,0x36,0x37,0x36,0x36,0x36,0x1f,0x00,0x00,},
{0x00,0x2c,0x1a,0x00,0x33,0x37,0x37,0x3f,0x3b,0x3b,0x33,0x00,0x00,},
{0x00,0x06,0x0c,0x00,0x1e,0x33,0x33,0x33,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x18,0x0c,0x00,0x1e,0x33,0x33,0x33,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x1c,0x36,0x00,0x1e,0x33,0x33,0x33,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x2c,0x1a,0x00,0x1e,0x33,0x33,0x33,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x33,0x33,0x00,0x1e,0x33,0x33,0x33,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x33,0x1e,0x0c,0x1e,0x33,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x20,0x1e,0x3b,0x3b,0x33,0x37,0x37,0x1e,0x01,0x00,},
{0x00,0x06,0x0c,0x00,0x33,0x33,0x33,0x33,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x18,0x0c,0x00,0x33,0x33,0x33,0x33,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x1c,0x36,0x00,0x33,0x33,0x33,0x33,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x36,0x36,0x00,0x33,0x33,0x33,0x33,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x18,0x0c,0x00,0x33,0x12,0x1e,0x0c,0x0c,0x0c,0x0c,0x00,0x00,},
{0x00,0x00,0x03,0x1f,0x33,0x33,0x33,0x1f,0x03,0x03,0x03,0x00,0x00,},
{0x00,0x00,0x00,0x1e,0x33,0x33,0x1f,0x33,0x33,0x33,0x1f,0x01,0x00,},
{0x00,0x00,0x06,0x0c,0x00,0x1e,0x30,0x3e,0x33,0x3b,0x36,0x00,0x00,},
{0x00,0x00,0x18,0x0c,0x00,0x1e,0x30,0x3e,0x33,0x3b,0x36,0x00,0x00,},
{0x00,0x00,0x1c,0x36,0x00,0x1e,0x30,0x3e,0x33,0x3b,0x36,0x00,0x00,},
{0x00,0x00,0x2c,0x1a,0x00,0x1e,0x30,0x3e,0x33,0x3b,0x36,0x00,0x00,},
{0x00,0x00,0x36,0x36,0x00,0x1e,0x30,0x3e,0x33,0x3b,0x36,0x00,0x00,},
{0x00,0x1c,0x14,0x1c,0x00,0x1e,0x30,0x3e,0x33,0x3b,0x36,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x1e,0x2c,0x1e,0x0d,0x2d,0x16,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x1e,0x33,0x03,0x03,0x33,0x1e,0x0c,0x06,},
{0x00,0x00,0x06,0x0c,0x00,0x1e,0x33,0x3f,0x03,0x03,0x1e,0x00,0x00,},
{0x00,0x00,0x18,0x0c,0x00,0x1e,0x33,0x3f,0x03,0x03,0x1e,0x00,0x00,},
{0x00,0x00,0x1c,0x36,0x00,0x1e,0x33,0x3f,0x03,0x03,0x1e,0x00,0x00,},
{0x00,0x00,0x36,0x36,0x00,0x1e,0x33,0x3f,0x03,0x03,0x1e,0x00,0x00,},
{0x00,0x00,0x06,0x0c,0x00,0x0e,0x0c,0x0c,0x0c,0x0c,0x1e,0x00,0x00,},
{0x00,0x00,0x18,0x0c,0x00,0x0e,0x0c,0x0c,0x0c,0x0c,0x1e,0x00,0x00,},
{0x00,0x00,0x0e,0x1b,0x00,0x0e,0x0c,0x0c,0x0c,0x0c,0x1e,0x00,0x00,},
{0x00,0x00,0x1b,0x1b,0x00,0x0e,0x0c,0x0c,0x0c,0x0c,0x1e,0x00,0x00,},
{0x00,0x1b,0x0e,0x0f,0x19,0x1e,0x33,0x33,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x2c,0x1a,0x00,0x1b,0x37,0x33,0x33,0x33,0x33,0x00,0x00,},
{0x00,0x00,0x06,0x0c,0x00,0x1e,0x33,0x33,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x18,0x0c,0x00,0x1e,0x33,0x33,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x1c,0x36,0x00,0x1e,0x33,0x33,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x2c,0x1a,0x00,0x1e,0x33,0x33,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x33,0x33,0x00,0x1e,0x33,0x33,0x33,0x33,0x1e,0x00,0x00,},
{0x00,0x00,0x00,0x0c,0x0c,0x00,0x3f,0x00,0x0c,0x0c,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x20,0x1e,0x33,0x3b,0x33,0x37,0x33,0x1e,0x01,0x00,},
{0x00,0x00,0x06,0x0c,0x00,0x33,0x33,0x33,0x33,0x3b,0x36,0x00,0x00,},
{0x00,0x00,0x18,0x0c,0x00,0x33,0x33,0x33,0x33,0x3b,0x36,0x00,0x00,},
{0x00,0x00,0x1c,0x36,0x00,0x33,0x33,0x33,0x33,0x3b,0x36,0x00,0x00,},
{0x00,0x00,0x33,0x33,0x00,0x33,0x33,0x33,0x33,0x3b,0x36,0x00,0x00,},
{0x00,0x00,0x18,0x0c,0x00,0x33,0x33,0x33,0x3b,0x36,0x30,0x33,0x1e,},
{0x00,0x00,0x00,0x03,0x03,0x1b,0x37,0x33,0x37,0x1b,0x03,0x03,0x03,},
{0x00,0x00,0x33,0x33,0x00,0x33,0x33,0x33,0x3b,0x36,0x30,0x33,0x1e,},
};

4129
ui/fonts/fixed6x9.bdf Normal file

File diff suppressed because it is too large Load diff

261
ui/fonts/fixed6x9.h Normal file
View file

@ -0,0 +1,261 @@
/* -Misc-Fixed-Medium-R-Normal--9-90-75-75-C-60-ISO8859-9 */
#define FONT_WIDTH_Fixed_6x9 6
#define FONT_HEIGHT_Fixed_6x9 9
const uint8_t FONT_DATA_Fixed_6x9[256][9] = {
{0x00,0x14,0x02,0x10,0x02,0x10,0x0a,0x00,0x00,},
{0x00,0x00,0x0c,0x1e,0x3f,0x1e,0x0c,0x00,0x00,},
{0x2a,0x15,0x2a,0x15,0x2a,0x15,0x2a,0x15,0x2a,},
{0x00,0x05,0x07,0x05,0x00,0x1c,0x08,0x08,0x00,},
{0x00,0x07,0x01,0x03,0x01,0x1c,0x04,0x0c,0x04,},
{0x00,0x06,0x01,0x06,0x00,0x0c,0x14,0x0c,0x14,},
{0x00,0x01,0x01,0x01,0x03,0x1c,0x04,0x0c,0x04,},
{0x00,0x00,0x0c,0x12,0x0c,0x00,0x00,0x00,0x00,},
{0x00,0x04,0x04,0x1f,0x04,0x04,0x00,0x1f,0x00,},
{0x00,0x09,0x0b,0x0d,0x09,0x04,0x04,0x04,0x1c,},
{0x00,0x05,0x05,0x02,0x02,0x1c,0x08,0x08,0x08,},
{0x08,0x08,0x08,0x08,0x0f,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x0f,0x08,0x08,0x08,0x08,},
{0x00,0x00,0x00,0x00,0x38,0x08,0x08,0x08,0x08,},
{0x08,0x08,0x08,0x08,0x38,0x00,0x00,0x00,0x00,},
{0x08,0x08,0x08,0x08,0x3f,0x08,0x08,0x08,0x08,},
{0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x3f,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,},
{0x08,0x08,0x08,0x08,0x38,0x08,0x08,0x08,0x08,},
{0x08,0x08,0x08,0x08,0x0f,0x08,0x08,0x08,0x08,},
{0x08,0x08,0x08,0x08,0x3f,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x3f,0x08,0x08,0x08,0x08,},
{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,},
{0x00,0x18,0x06,0x01,0x06,0x19,0x06,0x18,0x00,},
{0x00,0x03,0x0c,0x10,0x0c,0x13,0x0c,0x03,0x00,},
{0x00,0x00,0x00,0x1f,0x0a,0x0a,0x0a,0x00,0x00,},
{0x00,0x00,0x08,0x1f,0x04,0x1f,0x02,0x00,0x00,},
{0x00,0x0c,0x12,0x02,0x0f,0x02,0x02,0x1f,0x00,},
{0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x04,0x04,0x04,0x04,0x00,0x04,0x00,0x00,},
{0x00,0x0a,0x0a,0x0a,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x0a,0x0a,0x1f,0x0a,0x1f,0x0a,0x0a,0x00,},
{0x04,0x0e,0x15,0x05,0x0e,0x14,0x15,0x0e,0x04,},
{0x02,0x15,0x12,0x08,0x04,0x12,0x2a,0x10,0x00,},
{0x00,0x06,0x09,0x09,0x06,0x19,0x09,0x16,0x00,},
{0x00,0x04,0x04,0x04,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x08,0x04,0x04,0x04,0x04,0x04,0x08,0x00,},
{0x00,0x04,0x08,0x08,0x08,0x08,0x08,0x04,0x00,},
{0x00,0x00,0x11,0x0a,0x1f,0x0a,0x11,0x00,0x00,},
{0x00,0x00,0x04,0x04,0x1f,0x04,0x04,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x0c,0x08,0x08,0x04,},
{0x00,0x00,0x00,0x00,0x1f,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x0c,0x0c,0x00,0x00,},
{0x00,0x10,0x10,0x08,0x04,0x02,0x02,0x00,0x00,},
{0x00,0x0c,0x12,0x12,0x12,0x12,0x0c,0x00,0x00,},
{0x00,0x04,0x06,0x04,0x04,0x04,0x0e,0x00,0x00,},
{0x00,0x0c,0x12,0x10,0x08,0x04,0x1e,0x00,0x00,},
{0x00,0x1e,0x08,0x0c,0x10,0x10,0x0e,0x00,0x00,},
{0x00,0x08,0x0c,0x0a,0x09,0x1f,0x08,0x00,0x00,},
{0x00,0x1e,0x02,0x0e,0x10,0x10,0x0e,0x00,0x00,},
{0x00,0x0c,0x02,0x0e,0x12,0x12,0x0c,0x00,0x00,},
{0x00,0x1e,0x10,0x10,0x08,0x04,0x04,0x00,0x00,},
{0x00,0x0c,0x12,0x0c,0x12,0x12,0x0c,0x00,0x00,},
{0x00,0x0c,0x12,0x12,0x1c,0x10,0x0c,0x00,0x00,},
{0x00,0x00,0x0c,0x0c,0x00,0x0c,0x0c,0x00,0x00,},
{0x00,0x00,0x0c,0x0c,0x00,0x0c,0x08,0x08,0x04,},
{0x00,0x00,0x18,0x06,0x01,0x06,0x18,0x00,0x00,},
{0x00,0x00,0x00,0x1f,0x00,0x1f,0x00,0x00,0x00,},
{0x00,0x00,0x03,0x0c,0x10,0x0c,0x03,0x00,0x00,},
{0x0c,0x12,0x10,0x0c,0x04,0x00,0x04,0x00,0x00,},
{0x00,0x0e,0x09,0x15,0x0d,0x01,0x0e,0x00,0x00,},
{0x00,0x04,0x0a,0x11,0x1f,0x11,0x11,0x00,0x00,},
{0x00,0x0f,0x11,0x0f,0x11,0x11,0x0f,0x00,0x00,},
{0x00,0x0c,0x12,0x02,0x02,0x12,0x0c,0x00,0x00,},
{0x00,0x0e,0x12,0x12,0x12,0x12,0x0e,0x00,0x00,},
{0x00,0x1e,0x02,0x0e,0x02,0x02,0x1e,0x00,0x00,},
{0x00,0x1e,0x02,0x0e,0x02,0x02,0x02,0x00,0x00,},
{0x00,0x0c,0x12,0x02,0x1a,0x12,0x0c,0x00,0x00,},
{0x00,0x12,0x12,0x1e,0x12,0x12,0x12,0x00,0x00,},
{0x00,0x0e,0x04,0x04,0x04,0x04,0x0e,0x00,0x00,},
{0x00,0x1c,0x08,0x08,0x08,0x09,0x06,0x00,0x00,},
{0x00,0x12,0x0a,0x06,0x0a,0x12,0x12,0x00,0x00,},
{0x00,0x02,0x02,0x02,0x02,0x02,0x1e,0x00,0x00,},
{0x00,0x11,0x1b,0x15,0x15,0x11,0x11,0x00,0x00,},
{0x00,0x12,0x16,0x1a,0x12,0x12,0x12,0x00,0x00,},
{0x00,0x0e,0x11,0x11,0x11,0x11,0x0e,0x00,0x00,},
{0x00,0x0e,0x12,0x12,0x0e,0x02,0x02,0x00,0x00,},
{0x00,0x0c,0x12,0x12,0x16,0x1a,0x0c,0x10,0x00,},
{0x00,0x0e,0x12,0x12,0x0e,0x12,0x12,0x00,0x00,},
{0x00,0x0c,0x12,0x04,0x08,0x12,0x0c,0x00,0x00,},
{0x00,0x1f,0x04,0x04,0x04,0x04,0x04,0x00,0x00,},
{0x00,0x12,0x12,0x12,0x12,0x12,0x0c,0x00,0x00,},
{0x00,0x12,0x12,0x12,0x1e,0x0c,0x0c,0x00,0x00,},
{0x00,0x11,0x11,0x15,0x15,0x1b,0x11,0x00,0x00,},
{0x00,0x11,0x0a,0x04,0x04,0x0a,0x11,0x00,0x00,},
{0x00,0x11,0x11,0x0a,0x04,0x04,0x04,0x00,0x00,},
{0x00,0x1e,0x10,0x08,0x04,0x02,0x1e,0x00,0x00,},
{0x00,0x0e,0x02,0x02,0x02,0x02,0x0e,0x00,0x00,},
{0x00,0x02,0x02,0x04,0x08,0x10,0x10,0x00,0x00,},
{0x00,0x0e,0x08,0x08,0x08,0x08,0x0e,0x00,0x00,},
{0x00,0x04,0x0a,0x11,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,},
{0x00,0x04,0x08,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x1c,0x12,0x12,0x1c,0x00,0x00,},
{0x00,0x02,0x02,0x0e,0x12,0x12,0x0e,0x00,0x00,},
{0x00,0x00,0x00,0x1c,0x02,0x02,0x1c,0x00,0x00,},
{0x00,0x10,0x10,0x1c,0x12,0x12,0x1c,0x00,0x00,},
{0x00,0x00,0x00,0x0c,0x1a,0x06,0x1c,0x00,0x00,},
{0x00,0x08,0x14,0x04,0x0e,0x04,0x04,0x00,0x00,},
{0x00,0x00,0x00,0x0c,0x12,0x12,0x1c,0x10,0x0c,},
{0x00,0x02,0x02,0x0e,0x12,0x12,0x12,0x00,0x00,},
{0x00,0x04,0x00,0x06,0x04,0x04,0x0e,0x00,0x00,},
{0x00,0x08,0x00,0x0c,0x08,0x08,0x08,0x0a,0x04,},
{0x00,0x02,0x02,0x0a,0x06,0x0a,0x12,0x00,0x00,},
{0x00,0x06,0x04,0x04,0x04,0x04,0x0e,0x00,0x00,},
{0x00,0x00,0x00,0x0b,0x15,0x15,0x11,0x00,0x00,},
{0x00,0x00,0x00,0x0e,0x12,0x12,0x12,0x00,0x00,},
{0x00,0x00,0x00,0x0c,0x12,0x12,0x0c,0x00,0x00,},
{0x00,0x00,0x00,0x0e,0x12,0x12,0x0e,0x02,0x02,},
{0x00,0x00,0x00,0x1c,0x12,0x12,0x1c,0x10,0x10,},
{0x00,0x00,0x00,0x0a,0x16,0x02,0x02,0x00,0x00,},
{0x00,0x00,0x00,0x1c,0x06,0x18,0x0e,0x00,0x00,},
{0x00,0x04,0x04,0x0e,0x04,0x14,0x08,0x00,0x00,},
{0x00,0x00,0x00,0x12,0x12,0x12,0x1c,0x00,0x00,},
{0x00,0x00,0x00,0x12,0x12,0x0c,0x0c,0x00,0x00,},
{0x00,0x00,0x00,0x11,0x15,0x15,0x0a,0x00,0x00,},
{0x00,0x00,0x00,0x12,0x0c,0x0c,0x12,0x00,0x00,},
{0x00,0x00,0x00,0x12,0x12,0x12,0x1c,0x12,0x0c,},
{0x00,0x00,0x00,0x1e,0x08,0x04,0x1e,0x00,0x00,},
{0x08,0x04,0x04,0x02,0x04,0x04,0x08,0x00,0x00,},
{0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,},
{0x02,0x04,0x04,0x08,0x04,0x04,0x02,0x00,0x00,},
{0x00,0x00,0x14,0x0a,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x04,0x00,0x04,0x04,0x04,0x04,0x00,0x00,},
{0x00,0x00,0x08,0x1c,0x0a,0x0a,0x1c,0x08,0x00,},
{0x00,0x0c,0x12,0x02,0x0f,0x02,0x02,0x1f,0x00,},
{0x00,0x00,0x15,0x0a,0x11,0x0a,0x15,0x00,0x00,},
{0x00,0x11,0x0a,0x1f,0x04,0x1f,0x04,0x00,0x00,},
{0x00,0x04,0x04,0x04,0x00,0x04,0x04,0x04,0x00,},
{0x00,0x1c,0x02,0x0c,0x12,0x0c,0x10,0x0e,0x00,},
{0x00,0x0a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x1e,0x21,0x29,0x25,0x29,0x21,0x1e,0x00,0x00,},
{0x00,0x0c,0x0a,0x0c,0x00,0x0e,0x00,0x00,0x00,},
{0x00,0x00,0x14,0x0a,0x05,0x0a,0x14,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x1e,0x10,0x10,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x00,},
{0x1e,0x21,0x2d,0x25,0x25,0x21,0x1e,0x00,0x00,},
{0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x0c,0x12,0x0c,0x00,0x00,0x00,0x00,},
{0x00,0x04,0x04,0x1f,0x04,0x04,0x00,0x1f,0x00,},
{0x00,0x04,0x0a,0x08,0x04,0x0e,0x00,0x00,0x00,},
{0x00,0x06,0x08,0x04,0x08,0x06,0x00,0x00,0x00,},
{0x00,0x08,0x04,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x12,0x12,0x1a,0x16,0x02,0x00,},
{0x00,0x1e,0x17,0x17,0x16,0x14,0x14,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x04,},
{0x00,0x04,0x06,0x04,0x04,0x0e,0x00,0x00,0x00,},
{0x00,0x04,0x0a,0x04,0x00,0x0e,0x00,0x00,0x00,},
{0x00,0x00,0x05,0x0a,0x14,0x0a,0x05,0x00,0x00,},
{0x02,0x03,0x02,0x0a,0x0e,0x0c,0x1e,0x08,0x00,},
{0x02,0x03,0x02,0x0a,0x16,0x10,0x08,0x1c,0x00,},
{0x03,0x04,0x02,0x0c,0x0f,0x0c,0x1e,0x08,0x00,},
{0x08,0x00,0x08,0x0c,0x02,0x12,0x0c,0x00,0x00,},
{0x02,0x04,0x04,0x0a,0x0e,0x11,0x11,0x00,0x00,},
{0x08,0x04,0x04,0x0a,0x0e,0x11,0x11,0x00,0x00,},
{0x04,0x0a,0x04,0x0a,0x0e,0x11,0x11,0x00,0x00,},
{0x14,0x0a,0x04,0x0a,0x0e,0x11,0x11,0x00,0x00,},
{0x0a,0x00,0x04,0x0a,0x0e,0x11,0x11,0x00,0x00,},
{0x04,0x0a,0x04,0x0a,0x0e,0x11,0x11,0x00,0x00,},
{0x00,0x1e,0x05,0x0f,0x05,0x05,0x1d,0x00,0x00,},
{0x00,0x0c,0x12,0x02,0x02,0x12,0x0c,0x08,0x04,},
{0x04,0x08,0x1e,0x02,0x0e,0x02,0x1e,0x00,0x00,},
{0x08,0x04,0x1e,0x02,0x0e,0x02,0x1e,0x00,0x00,},
{0x08,0x14,0x1e,0x02,0x0e,0x02,0x1e,0x00,0x00,},
{0x14,0x00,0x1e,0x02,0x0e,0x02,0x1e,0x00,0x00,},
{0x02,0x04,0x0e,0x04,0x04,0x04,0x0e,0x00,0x00,},
{0x08,0x04,0x0e,0x04,0x04,0x04,0x0e,0x00,0x00,},
{0x04,0x0a,0x0e,0x04,0x04,0x04,0x0e,0x00,0x00,},
{0x0a,0x00,0x0e,0x04,0x04,0x04,0x0e,0x00,0x00,},
{0x12,0x0c,0x1c,0x02,0x1a,0x12,0x0c,0x00,0x00,},
{0x14,0x0a,0x12,0x16,0x1a,0x12,0x12,0x00,0x00,},
{0x04,0x08,0x0c,0x12,0x12,0x12,0x0c,0x00,0x00,},
{0x08,0x04,0x0c,0x12,0x12,0x12,0x0c,0x00,0x00,},
{0x08,0x14,0x0c,0x12,0x12,0x12,0x0c,0x00,0x00,},
{0x14,0x0a,0x0c,0x12,0x12,0x12,0x0c,0x00,0x00,},
{0x14,0x00,0x0c,0x12,0x12,0x12,0x0c,0x00,0x00,},
{0x00,0x00,0x11,0x0a,0x04,0x0a,0x11,0x00,0x00,},
{0x10,0x1c,0x1a,0x1a,0x16,0x16,0x0e,0x02,0x00,},
{0x04,0x08,0x12,0x12,0x12,0x12,0x0c,0x00,0x00,},
{0x08,0x04,0x12,0x12,0x12,0x12,0x0c,0x00,0x00,},
{0x08,0x14,0x12,0x12,0x12,0x12,0x0c,0x00,0x00,},
{0x14,0x00,0x12,0x12,0x12,0x12,0x0c,0x00,0x00,},
{0x04,0x00,0x0e,0x04,0x04,0x04,0x0e,0x00,0x00,},
{0x00,0x0c,0x12,0x04,0x08,0x12,0x0c,0x08,0x04,},
{0x00,0x0c,0x12,0x0a,0x0a,0x12,0x0a,0x00,0x00,},
{0x04,0x08,0x00,0x1c,0x12,0x12,0x1c,0x00,0x00,},
{0x08,0x04,0x00,0x1c,0x12,0x12,0x1c,0x00,0x00,},
{0x08,0x14,0x00,0x1c,0x12,0x12,0x1c,0x00,0x00,},
{0x14,0x0a,0x00,0x1c,0x12,0x12,0x1c,0x00,0x00,},
{0x00,0x14,0x00,0x1c,0x12,0x12,0x1c,0x00,0x00,},
{0x08,0x14,0x08,0x1c,0x12,0x12,0x1c,0x00,0x00,},
{0x00,0x00,0x00,0x0e,0x15,0x0d,0x1e,0x00,0x00,},
{0x00,0x00,0x00,0x1c,0x02,0x02,0x1c,0x08,0x04,},
{0x04,0x08,0x00,0x0c,0x1a,0x06,0x1c,0x00,0x00,},
{0x08,0x04,0x00,0x0c,0x1a,0x06,0x1c,0x00,0x00,},
{0x08,0x14,0x00,0x0c,0x1a,0x06,0x1c,0x00,0x00,},
{0x00,0x14,0x00,0x0c,0x1a,0x06,0x1c,0x00,0x00,},
{0x02,0x04,0x00,0x06,0x04,0x04,0x0e,0x00,0x00,},
{0x08,0x04,0x00,0x06,0x04,0x04,0x0e,0x00,0x00,},
{0x04,0x0a,0x00,0x06,0x04,0x04,0x0e,0x00,0x00,},
{0x00,0x0a,0x00,0x06,0x04,0x04,0x0e,0x00,0x00,},
{0x12,0x0c,0x00,0x0c,0x12,0x12,0x1c,0x10,0x0c,},
{0x14,0x0a,0x00,0x0e,0x12,0x12,0x12,0x00,0x00,},
{0x04,0x08,0x00,0x0c,0x12,0x12,0x0c,0x00,0x00,},
{0x08,0x04,0x00,0x0c,0x12,0x12,0x0c,0x00,0x00,},
{0x08,0x14,0x00,0x0c,0x12,0x12,0x0c,0x00,0x00,},
{0x14,0x0a,0x00,0x0c,0x12,0x12,0x0c,0x00,0x00,},
{0x00,0x14,0x00,0x0c,0x12,0x12,0x0c,0x00,0x00,},
{0x00,0x00,0x04,0x00,0x1f,0x00,0x04,0x00,0x00,},
{0x00,0x00,0x00,0x1c,0x1a,0x16,0x0e,0x00,0x00,},
{0x04,0x08,0x00,0x12,0x12,0x12,0x1c,0x00,0x00,},
{0x08,0x04,0x00,0x12,0x12,0x12,0x1c,0x00,0x00,},
{0x08,0x14,0x00,0x12,0x12,0x12,0x1c,0x00,0x00,},
{0x00,0x14,0x00,0x12,0x12,0x12,0x1c,0x00,0x00,},
{0x00,0x00,0x00,0x06,0x04,0x04,0x0e,0x00,0x00,},
{0x00,0x00,0x00,0x1c,0x06,0x18,0x0e,0x08,0x04,},
{0x00,0x14,0x00,0x12,0x12,0x12,0x1c,0x12,0x0c,},
};

316
ui/fonts/lcd13x21.bdf Normal file
View file

@ -0,0 +1,316 @@
STARTFONT 2.1
COMMENT Nicole Watch font
FONT -gbdfed-LCD-Medium-R-Normal--16-120-96-96-M-100-FontSpecific-0
SIZE 13 96 96
FONTBOUNDINGBOX 13 21 0 0
STARTPROPERTIES 6
PIXEL_SIZE 16
SPACING "M"
FAMILY_NAME "LCD"
_GBDFED_INFO "Edited with gbdfed 1.6."
FONT_ASCENT 16
FONT_DESCENT 0
ENDPROPERTIES
CHARS 12
STARTCHAR char0
ENCODING 0
SWIDTH 750 0
DWIDTH 13 0
BBX 12 21 0 0
BITMAP
7FE0
BFD0
DFB0
E070
E070
E070
E070
E070
C030
8010
0000
8010
C030
E070
E070
E070
E070
E070
DFB0
BFD0
7FE0
ENDCHAR
STARTCHAR char0
ENCODING 1
SWIDTH 750 0
DWIDTH 13 0
BBX 3 19 9 1
BITMAP
20
60
E0
E0
E0
E0
E0
60
20
00
20
60
E0
E0
E0
E0
E0
60
20
ENDCHAR
STARTCHAR char0
ENCODING 2
SWIDTH 750 0
DWIDTH 13 0
BBX 12 21 0 0
BITMAP
7FE0
3FD0
1FB0
0070
0070
0070
0070
0070
0030
1F90
3FC0
9F80
C000
E000
E000
E000
E000
E000
DF80
BFC0
7FE0
ENDCHAR
STARTCHAR char0
ENCODING 3
SWIDTH 750 0
DWIDTH 13 0
BBX 11 21 1 0
BITMAP
FFC0
7FA0
3F60
00E0
00E0
00E0
00E0
00E0
0060
3F20
7F80
3F20
0060
00E0
00E0
00E0
00E0
00E0
3F60
7FA0
FFC0
ENDCHAR
STARTCHAR char0
ENCODING 4
SWIDTH 750 0
DWIDTH 13 0
BBX 12 19 0 1
BITMAP
8010
C030
E070
E070
E070
E070
E070
C030
9F90
3FC0
1F90
0030
0070
0070
0070
0070
0070
0030
0010
ENDCHAR
STARTCHAR char0
ENCODING 5
SWIDTH 750 0
DWIDTH 13 0
BBX 12 21 0 0
BITMAP
7FE0
BFC0
DF80
E000
E000
E000
E000
E000
C000
9F80
3FC0
1F90
0030
0070
0070
0070
0070
0070
1FB0
3FD0
7FE0
ENDCHAR
STARTCHAR char0
ENCODING 6
SWIDTH 750 0
DWIDTH 13 0
BBX 12 21 0 0
BITMAP
7FE0
BFC0
DF80
E000
E000
E000
E000
E000
C000
9F80
3FC0
9F90
C030
E070
E070
E070
E070
E070
DFB0
BFD0
7FE0
ENDCHAR
STARTCHAR char0
ENCODING 7
SWIDTH 750 0
DWIDTH 13 0
BBX 11 20 1 1
BITMAP
FFC0
7FA0
3F60
00E0
00E0
00E0
00E0
00E0
0060
0020
0000
0020
0060
00E0
00E0
00E0
00E0
00E0
0060
0020
ENDCHAR
STARTCHAR char0
ENCODING 8
SWIDTH 750 0
DWIDTH 13 0
BBX 12 21 0 0
BITMAP
7FE0
BFD0
DFB0
E070
E070
E070
E070
E070
C030
9F90
3FC0
9F90
C030
E070
E070
E070
E070
E070
DFB0
BFD0
7FE0
ENDCHAR
STARTCHAR char0
ENCODING 9
SWIDTH 750 0
DWIDTH 13 0
BBX 12 21 0 0
BITMAP
7FE0
BFD0
DFB0
E070
E070
E070
E070
E070
C030
9F90
3FC0
1F90
0030
0070
0070
0070
0070
0070
1FB0
3FD0
7FE0
ENDCHAR
STARTCHAR char0
ENCODING 10
SWIDTH 750 0
DWIDTH 13 0
BBX 4 11 4 5
BITMAP
60
F0
60
00
00
00
00
00
60
F0
60
ENDCHAR
STARTCHAR char11
ENCODING 11
SWIDTH 750 0
DWIDTH 13 0
BBX 13 1 0 0
BITMAP
FFF8
ENDCHAR
ENDFONT

17
ui/fonts/lcd13x21.h Normal file
View file

@ -0,0 +1,17 @@
/* -gbdfed-LCD-Medium-R-Normal--16-120-96-96-M-100-FontSpecific-0 */
#define FONT_WIDTH_LCDnone_13x21 13
#define FONT_HEIGHT_LCDnone_13x21 21
const uint8_t FONT_DATA_LCDnone_13x21[12][42] = {
{0xfe,0x07,0xfd,0x0b,0xfb,0x0d,0x07,0x0e,0x07,0x0e,0x07,0x0e,0x07,0x0e,0x07,0x0e,0x03,0x0c,0x01,0x08,0x00,0x00,0x01,0x08,0x03,0x0c,0x07,0x0e,0x07,0x0e,0x07,0x0e,0x07,0x0e,0x07,0x0e,0xfb,0x0d,0xfd,0x0b,0xfe,0x07,},
{0x00,0x00,0x00,0x08,0x00,0x0c,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0c,0x00,0x08,0x00,0x00,0x00,0x08,0x00,0x0c,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0c,0x00,0x08,0x00,0x00,},
{0xfe,0x07,0xfc,0x0b,0xf8,0x0d,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0c,0xf8,0x09,0xfc,0x03,0xf9,0x01,0x03,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0xfb,0x01,0xfd,0x03,0xfe,0x07,},
{0xfe,0x07,0xfc,0x0b,0xf8,0x0d,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0c,0xf8,0x09,0xfc,0x03,0xf8,0x09,0x00,0x0c,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0xf8,0x0d,0xfc,0x0b,0xfe,0x07,},
{0x00,0x00,0x01,0x08,0x03,0x0c,0x07,0x0e,0x07,0x0e,0x07,0x0e,0x07,0x0e,0x07,0x0e,0x03,0x0c,0xf9,0x09,0xfc,0x03,0xf8,0x09,0x00,0x0c,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0c,0x00,0x08,0x00,0x00,},
{0xfe,0x07,0xfd,0x03,0xfb,0x01,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x03,0x00,0xf9,0x01,0xfc,0x03,0xf8,0x09,0x00,0x0c,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0xf8,0x0d,0xfc,0x0b,0xfe,0x07,},
{0xfe,0x07,0xfd,0x03,0xfb,0x01,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x03,0x00,0xf9,0x01,0xfc,0x03,0xf9,0x09,0x03,0x0c,0x07,0x0e,0x07,0x0e,0x07,0x0e,0x07,0x0e,0x07,0x0e,0xfb,0x0d,0xfd,0x0b,0xfe,0x07,},
{0xfe,0x07,0xfc,0x0b,0xf8,0x0d,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0c,0x00,0x08,0x00,0x00,0x00,0x08,0x00,0x0c,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0c,0x00,0x08,0x00,0x00,},
{0xfe,0x07,0xfd,0x0b,0xfb,0x0d,0x07,0x0e,0x07,0x0e,0x07,0x0e,0x07,0x0e,0x07,0x0e,0x03,0x0c,0xf9,0x09,0xfc,0x03,0xf9,0x09,0x03,0x0c,0x07,0x0e,0x07,0x0e,0x07,0x0e,0x07,0x0e,0x07,0x0e,0xfb,0x0d,0xfd,0x0b,0xfe,0x07,},
{0xfe,0x07,0xfd,0x0b,0xfb,0x0d,0x07,0x0e,0x07,0x0e,0x07,0x0e,0x07,0x0e,0x07,0x0e,0x03,0x0c,0xf9,0x09,0xfc,0x03,0xf8,0x09,0x00,0x0c,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0x00,0x0e,0xf8,0x0d,0xfc,0x0b,0xfe,0x07,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0xf0,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0xf0,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x1f,},
};

229
ui/fonts/lcd8x13.bdf Normal file
View file

@ -0,0 +1,229 @@
STARTFONT 2.1
FONT -gbdfed-LCD-Medium-R-Normal--13-120-96-96-M-100-FontSpecific-0
SIZE 12 96 96
FONTBOUNDINGBOX 8 13 0 0
STARTPROPERTIES 6
PIXEL_SIZE 13
FONT_ASCENT 13
FONT_DESCENT 0
SPACING "M"
_GBDFED_INFO "Edited with gbdfed 1.6."
FAMILY_NAME "LCD"
ENDPROPERTIES
CHARS 12
STARTCHAR char16
ENCODING 0
SWIDTH 500 0
DWIDTH 8 0
BBX 7 13 0 0
BITMAP
7C
BA
C6
C6
C6
82
00
82
C6
C6
C6
BA
7C
ENDCHAR
STARTCHAR char16
ENCODING 1
SWIDTH 500 0
DWIDTH 8 0
BBX 2 11 5 1
BITMAP
40
C0
C0
C0
40
00
40
C0
C0
C0
40
ENDCHAR
STARTCHAR char16
ENCODING 2
SWIDTH 500 0
DWIDTH 8 0
BBX 7 13 0 0
BITMAP
7C
3A
06
06
06
3A
7C
B8
C0
C0
C0
B8
7C
ENDCHAR
STARTCHAR char16
ENCODING 3
SWIDTH 500 0
DWIDTH 8 0
BBX 6 13 1 0
BITMAP
F8
74
0C
0C
0C
74
F8
74
0C
0C
0C
74
F8
ENDCHAR
STARTCHAR char16
ENCODING 4
SWIDTH 500 0
DWIDTH 8 0
BBX 7 11 0 1
BITMAP
82
C6
C6
C6
BA
7C
3A
06
06
06
02
ENDCHAR
STARTCHAR char16
ENCODING 5
SWIDTH 500 0
DWIDTH 8 0
BBX 7 13 0 0
BITMAP
7C
B8
C0
C0
C0
B8
7C
3A
06
06
06
3A
7C
ENDCHAR
STARTCHAR char16
ENCODING 6
SWIDTH 500 0
DWIDTH 8 0
BBX 7 13 0 0
BITMAP
7C
B8
C0
C0
C0
B8
7C
BA
C6
C6
C6
BA
7C
ENDCHAR
STARTCHAR char16
ENCODING 7
SWIDTH 500 0
DWIDTH 8 0
BBX 6 12 1 1
BITMAP
F8
74
0C
0C
0C
04
00
04
0C
0C
0C
04
ENDCHAR
STARTCHAR char16
ENCODING 8
SWIDTH 500 0
DWIDTH 8 0
BBX 7 13 0 0
BITMAP
7C
BA
C6
C6
C6
BA
7C
BA
C6
C6
C6
BA
7C
ENDCHAR
STARTCHAR char16
ENCODING 9
SWIDTH 500 0
DWIDTH 8 0
BBX 7 13 0 0
BITMAP
7C
BA
C6
C6
C6
BA
7C
3A
06
06
06
3A
7C
ENDCHAR
STARTCHAR char16
ENCODING 10
SWIDTH 500 0
DWIDTH 8 0
BBX 2 5 3 4
BITMAP
C0
C0
00
C0
C0
ENDCHAR
STARTCHAR char16
ENCODING 11
SWIDTH 500 0
DWIDTH 8 0
BBX 8 1 0 0
BITMAP
FF
ENDCHAR
ENDFONT

17
ui/fonts/lcd8x13.h Normal file
View file

@ -0,0 +1,17 @@
/* -gbdfed-LCD-Medium-R-Normal--13-120-96-96-M-100-FontSpecific-0 */
#define FONT_WIDTH_LCDnone_8x13 8
#define FONT_HEIGHT_LCDnone_8x13 13
const uint8_t FONT_DATA_LCDnone_8x13[12][13] = {
{0x3e,0x5d,0x63,0x63,0x63,0x41,0x00,0x41,0x63,0x63,0x63,0x5d,0x3e,},
{0x00,0x40,0x60,0x60,0x60,0x40,0x00,0x40,0x60,0x60,0x60,0x40,0x00,},
{0x3e,0x5c,0x60,0x60,0x60,0x5c,0x3e,0x1d,0x03,0x03,0x03,0x1d,0x3e,},
{0x3e,0x5c,0x60,0x60,0x60,0x5c,0x3e,0x5c,0x60,0x60,0x60,0x5c,0x3e,},
{0x00,0x41,0x63,0x63,0x63,0x5d,0x3e,0x5c,0x60,0x60,0x60,0x40,0x00,},
{0x3e,0x1d,0x03,0x03,0x03,0x1d,0x3e,0x5c,0x60,0x60,0x60,0x5c,0x3e,},
{0x3e,0x1d,0x03,0x03,0x03,0x1d,0x3e,0x5d,0x63,0x63,0x63,0x5d,0x3e,},
{0x3e,0x5c,0x60,0x60,0x60,0x40,0x00,0x40,0x60,0x60,0x60,0x40,0x00,},
{0x3e,0x5d,0x63,0x63,0x63,0x5d,0x3e,0x5d,0x63,0x63,0x63,0x5d,0x3e,},
{0x3e,0x5d,0x63,0x63,0x63,0x5d,0x3e,0x5c,0x60,0x60,0x60,0x5c,0x3e,},
{0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00,},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,},
};

533
ui/oswald-ui.c Normal file
View file

@ -0,0 +1,533 @@
#include <stdio.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <poll.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <time.h>
#include <gtk/gtk.h>
//#include "Fonts.h" // the MetaWatch fonts
#include "oswald.h"
#include "oswald_main.h"
#include "oswald-ui.h"
#define BITMAP_WIDTH 192
#define BITMAP_HEIGHT 192
static oswald_ui *ui_g;
void hal_lcd_set_pixel(gint x, gint y, uint8_t state)
{
gint ix, iy;
ix = x*2;
iy = y*2;
// we double all pixel to get a bigger picture
gdk_draw_point(GDK_DRAWABLE(ui_g->pixmap), state ? ui_g->darea->style->black_gc : ui_g->darea->style->white_gc, ix, iy);
gdk_draw_point(GDK_DRAWABLE(ui_g->pixmap), state ? ui_g->darea->style->black_gc : ui_g->darea->style->white_gc, ix+1, iy);
gdk_draw_point(GDK_DRAWABLE(ui_g->pixmap), state ? ui_g->darea->style->black_gc : ui_g->darea->style->white_gc, ix, iy+1);
gdk_draw_point(GDK_DRAWABLE(ui_g->pixmap), state ? ui_g->darea->style->black_gc : ui_g->darea->style->white_gc, ix+1, iy+1);
}
/* updates the actual LCD so that drawing becomes visible */
void hal_lcd_update_display(void)
{
gtk_widget_queue_draw(ui_g->darea);
}
void hal_lcd_clear_display(void)
{
gdk_draw_rectangle (ui_g->pixmap,
ui_g->darea->style->white_gc,
TRUE,
0, 0,
ui_g->darea->allocation.width,
ui_g->darea->allocation.height);
gtk_widget_queue_draw(ui_g->darea);
}
static bluetooth_state bt_state = BLUETOOTH_OFF;
static boolean bt_visible = FALSE;
bluetooth_state hal_bluetooth_set_state(bluetooth_state state)
{
bt_state = state;
if (bt_state == BLUETOOTH_OFF)
bt_visible = FALSE;
return bt_state;
}
bluetooth_state hal_bluetooth_get_state(void)
{
return bt_state;
}
uint8_t *hal_bluetooth_get_local_bdaddr(void)
{
static uint8_t local_bdaddr[6] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55};
return local_bdaddr;
}
void hal_bluetooth_set_visible(boolean visible)
{
bt_visible = visible;
}
boolean hal_bluetooth_get_visible(void)
{
return bt_visible;
}
void hal_bluetooth_send_data(const void *mdat, uint16_t mlen)
{
g_printerr("write comm %d\n", mlen);
}
const char *hal_get_version_string(void)
{
return "GTK v0.3";
}
const char *hal_get_buildno_string(void)
{
return BUILDNO;
}
const char *hal_get_radio_version_string(void)
{
return "BlueZ";
}
void hal_accelerometer_enable(void)
{
g_printerr("accel enable\n");
gtk_widget_set_sensitive(ui_g->x_sc, TRUE);
gtk_widget_set_sensitive(ui_g->y_sc, TRUE);
gtk_widget_set_sensitive(ui_g->z_sc, TRUE);
}
void hal_accelerometer_disable(void)
{
g_printerr("accel disable\n");
gtk_widget_set_sensitive(ui_g->x_sc, FALSE);
gtk_widget_set_sensitive(ui_g->y_sc, FALSE);
gtk_widget_set_sensitive(ui_g->z_sc, FALSE);
}
static gint
configure_event (GtkWidget *widget, GdkEventConfigure *event, gpointer user_data)
{
oswald_ui *ui = (oswald_ui *)user_data;
if (ui->pixmap)
gdk_pixmap_unref(ui->pixmap);
ui->pixmap = gdk_pixmap_new(widget->window,
widget->allocation.width,
widget->allocation.height,
-1);
gdk_draw_rectangle (ui->pixmap,
widget->style->white_gc,
TRUE,
0, 0,
widget->allocation.width,
widget->allocation.height);
return TRUE;
}
static gint
expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data)
{
oswald_ui *ui = (oswald_ui *)user_data;
gdk_draw_pixmap(widget->window,
widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
ui->pixmap,
event->area.x, event->area.y,
event->area.x, event->area.y,
event->area.width, event->area.height);
return FALSE;
}
void button_A_clicked (GtkButton *button, gpointer user_data)
{
oswald_ui *ui = (oswald_ui *)user_data;
// g_print("Button-A clicked\n");
oswald_handle_button_press(BUTTON_A);
}
void button_B_clicked (GtkButton *button, gpointer user_data)
{
oswald_ui *ui = (oswald_ui *)user_data;
// g_print("Button-B clicked\n");
oswald_handle_button_press(BUTTON_B);
}
void button_C_clicked (GtkButton *button, gpointer user_data)
{
oswald_ui *ui = (oswald_ui *)user_data;
// g_print("Button-C clicked\n");
oswald_handle_button_press(BUTTON_C);
}
void button_D_clicked (GtkButton *button, gpointer user_data)
{
oswald_ui *ui = (oswald_ui *)user_data;
// g_print("Button-D clicked\n");
oswald_handle_button_press(BUTTON_D);
}
void button_E_clicked (GtkButton *button, gpointer user_data)
{
oswald_ui *ui = (oswald_ui *)user_data;
// g_print("Button-E clicked\n");
oswald_handle_button_press(BUTTON_E);
}
void button_F_clicked (GtkButton *button, gpointer user_data)
{
oswald_ui *ui = (oswald_ui *)user_data;
// g_print("Button-F clicked\n");
oswald_handle_button_press(BUTTON_F);
}
gboolean button_F_pr (GtkWidget *widget, GdkEvent *event, gpointer user_data)
{
oswald_ui *ui = (oswald_ui *)user_data;
static gint32 press_time;
GdkEventButton *bev = (GdkEventButton *)event;
if (bev->type == GDK_BUTTON_PRESS) {
press_time = bev->time;
return FALSE;
};
if (bev->type == GDK_BUTTON_RELEASE) {
if (bev->time > (press_time+1000)) {
g_print("Button-F long press\n");
return TRUE;
};
};
return FALSE;
}
void ambientlight_value_changed (GtkRange *range, gpointer user_data)
{
oswald_ui *ui = (oswald_ui *)user_data;
double val;
val = gtk_range_get_value(range);
oswald_handle_ambientlight_event((uint8_t) val);
}
void accelX_value_changed (GtkRange *range, gpointer user_data)
{
oswald_ui *ui = (oswald_ui *)user_data;
double val;
val = gtk_range_get_value(range);
ui->accel_x = (uint8_t)val;
oswald_handle_accel_event(ui->accel_x, ui->accel_y, ui->accel_z);
}
void accelY_value_changed (GtkRange *range, gpointer user_data)
{
oswald_ui *ui = (oswald_ui *)user_data;
double val;
val = gtk_range_get_value(range);
ui->accel_y = (uint8_t)val;
oswald_handle_accel_event(ui->accel_x, ui->accel_y, ui->accel_z);
}
void accelZ_value_changed (GtkRange *range, gpointer user_data)
{
oswald_ui *ui = (oswald_ui *)user_data;
double val;
val = gtk_range_get_value(range);
ui->accel_z = (uint8_t)val;
oswald_handle_accel_event(ui->accel_x, ui->accel_y, ui->accel_z);
}
static void create_mainwin(oswald_ui *ui)
{
GtkWidget *mvb, *hb, *vb, *btn, *sc, *l;
ui->pixmap = NULL;
ui->mainwin = gtk_window_new (GTK_WINDOW_TOPLEVEL);
// gtk_window_set_default_size (GTK_WINDOW (ui->mainwin), 440, 240);
g_signal_connect(G_OBJECT(ui->mainwin), "destroy", gtk_main_quit, NULL);
mvb = gtk_vbox_new(FALSE, 5);
gtk_container_add(GTK_CONTAINER(ui->mainwin), mvb);
hb = gtk_hbox_new(FALSE, 5);
gtk_box_pack_start (GTK_BOX(mvb), hb, FALSE, FALSE, 5);
vb = gtk_vbox_new(FALSE, 5);
gtk_box_pack_start (GTK_BOX(hb), vb, FALSE, FALSE, 5);
btn = gtk_button_new_with_label(" F ");
gtk_box_pack_start (GTK_BOX(vb), btn, FALSE, FALSE, 10);
g_signal_connect(G_OBJECT(btn), "clicked", G_CALLBACK(button_F_clicked), ui);
g_signal_connect(G_OBJECT(btn), "button-press-event", G_CALLBACK(button_F_pr), ui);
g_signal_connect(G_OBJECT(btn), "button-release-event", G_CALLBACK(button_F_pr), ui);
btn = gtk_button_new_with_label(" E ");
gtk_box_pack_start (GTK_BOX(vb), btn, FALSE, FALSE, 10);
g_signal_connect(G_OBJECT(btn), "clicked", G_CALLBACK(button_E_clicked), ui);
btn = gtk_button_new_with_label(" D ");
gtk_box_pack_start (GTK_BOX(vb), btn, FALSE, FALSE, 10);
g_signal_connect(G_OBJECT(btn), "clicked", G_CALLBACK(button_D_clicked), ui);
ui->darea = gtk_drawing_area_new ();
gtk_box_pack_start (GTK_BOX(hb), GTK_WIDGET(ui->darea), FALSE, FALSE, 5);
gtk_drawing_area_size (GTK_DRAWING_AREA(ui->darea), BITMAP_WIDTH, BITMAP_HEIGHT);
gtk_signal_connect (GTK_OBJECT (ui->darea), "expose_event", (GtkSignalFunc) expose_event, ui);
gtk_signal_connect (GTK_OBJECT (ui->darea), "configure_event", (GtkSignalFunc) configure_event, ui);
// gtk_signal_connect (GTK_OBJECT (drawing_area), "motion_notify_event", (GtkSignalFunc) motion_notify_event, ui);
// gtk_signal_connect (GTK_OBJECT (drawing_area), "button_press_event", (GtkSignalFunc) button_press_event, ui);
gtk_widget_set_events (GTK_WIDGET(ui->darea), GDK_EXPOSURE_MASK
| GDK_LEAVE_NOTIFY_MASK
| GDK_BUTTON_PRESS_MASK
| GDK_POINTER_MOTION_MASK
| GDK_POINTER_MOTION_HINT_MASK);
vb = gtk_vbox_new(FALSE, 5);
gtk_box_pack_start (GTK_BOX(hb), vb, FALSE, FALSE, 5);
btn = gtk_button_new_with_label(" A ");
gtk_box_pack_start (GTK_BOX(vb), btn, FALSE, FALSE, 10);
g_signal_connect(G_OBJECT(btn), "clicked", G_CALLBACK(button_A_clicked), ui);
btn = gtk_button_new_with_label(" B ");
gtk_box_pack_start (GTK_BOX(vb), btn, FALSE, FALSE, 10);
g_signal_connect(G_OBJECT(btn), "clicked", G_CALLBACK(button_B_clicked), ui);
btn = gtk_button_new_with_label(" C ");
gtk_box_pack_start (GTK_BOX(vb), btn, FALSE, FALSE, 10);
g_signal_connect(G_OBJECT(btn), "clicked", G_CALLBACK(button_C_clicked), ui);
// ambient light sensor
sc = gtk_vscale_new_with_range (0, 255, 1);
gtk_box_pack_start (GTK_BOX(hb), sc, FALSE, FALSE, 5);
g_signal_connect(G_OBJECT(sc), "value-changed", G_CALLBACK(ambientlight_value_changed), ui);
hb = gtk_hbox_new(FALSE, 0);
gtk_box_pack_start (GTK_BOX(mvb), hb, FALSE, FALSE, 5);
l = gtk_label_new("X:");
gtk_box_pack_start (GTK_BOX(hb), l, FALSE, FALSE, 5);
sc = gtk_hscale_new_with_range (-128, 127, 1);
gtk_box_pack_start (GTK_BOX(hb), sc, TRUE, TRUE, 5);
g_signal_connect(G_OBJECT(sc), "value-changed", G_CALLBACK(accelX_value_changed), ui);
ui->x_sc = sc;
gtk_widget_set_sensitive(ui->x_sc, FALSE);
l = gtk_label_new("Y:");
gtk_box_pack_start (GTK_BOX(hb), l, FALSE, FALSE, 5);
sc = gtk_hscale_new_with_range (-128, 127, 1);
gtk_box_pack_start (GTK_BOX(hb), sc, TRUE, TRUE, 5);
g_signal_connect(G_OBJECT(sc), "value-changed", G_CALLBACK(accelY_value_changed), ui);
ui->y_sc = sc;
gtk_widget_set_sensitive(ui->y_sc, FALSE);
l = gtk_label_new("Z:");
gtk_box_pack_start (GTK_BOX(hb), l, FALSE, FALSE, 5);
sc = gtk_hscale_new_with_range (-128, 127, 1);
gtk_box_pack_start (GTK_BOX(hb), sc, TRUE, TRUE, 5);
g_signal_connect(G_OBJECT(sc), "value-changed", G_CALLBACK(accelZ_value_changed), ui);
ui->z_sc = sc;
gtk_widget_set_sensitive(ui->z_sc, FALSE);
gtk_widget_show_all(ui->mainwin);
}
static gboolean one_second_tmo_handler (gpointer userdata)
{
oswald_ui *ui = (oswald_ui *)userdata;
oswald_one_second_tick();
return TRUE;
}
static gboolean app_idle_handler (gpointer user_data)
{
g_print("i");
if (OswaldState.pending_idle) {
// call Oswald's idle function
return TRUE;
};
return FALSE;
}
static gboolean centisecond_tmo_handler (gpointer userdata)
{
oswald_ui *ui = (oswald_ui *)userdata;
if (ui->centisecond_active)
oswald_centisecond_tick();
else
return FALSE;
return TRUE;
}
void hal_enable_centisecond_timer(void)
{
ui_g->centisecond_active = TRUE;
g_timeout_add(10, centisecond_tmo_handler, ui_g);
}
void hal_disable_centisecond_timer(void)
{
ui_g->centisecond_active = FALSE;
}
static gboolean halfsecond_tmo_handler (gpointer userdata)
{
oswald_ui *ui = (oswald_ui *)userdata;
if (ui->halfsecond_active)
oswald_halfsecond_tick();
else
return FALSE;
return TRUE;
}
void hal_enable_halfsecond_timer(void)
{
ui_g->halfsecond_active = TRUE;
g_timeout_add(500, halfsecond_tmo_handler, ui_g);
}
void hal_disable_halfsecond_timer(void)
{
ui_g->halfsecond_active = FALSE;
}
void hal_get_rtc(clock_state *rtc)
{
time_t mt;
struct tm mtime;
mt = time(NULL);
localtime_r(&mt, &mtime);
rtc->hour = mtime.tm_hour;
rtc->minute = mtime.tm_min;
rtc->second = mtime.tm_sec;
rtc->day = mtime.tm_mday;
rtc->wday = mtime.tm_wday;
rtc->month = (mtime.tm_mon + 1);
rtc->year = (mtime.tm_year + 1900);
}
void hal_set_rtc(const clock_state *rtc, boolean set_set)
{
}
void hal_get_power_state(power_state *pwr)
{
pwr->source = POWER_SOURCE_EXTERNAL;
pwr->charge_state = POWER_CHARGER_CHARGING;
pwr->percent = 50;
pwr->level = 3242; // mV
}
static boolean BacklightState = FALSE;
/* sets the backlight on/off, on=TRUE, off=FALSE */
void hal_lcd_set_backlight(boolean state)
{
g_print("turn LCD backlight %s\n", state ? "on" : "off");
BacklightState = state;
}
boolean hal_lcd_get_backlight(void)
{
return BacklightState;
}
static boolean VibrationState = FALSE;
/* sets the vibration motor on/off, on=TRUE, off=FALSE */
void hal_vibration_set_state(boolean state)
{
g_print("turn vibration %s\n", state ? "on" : "off");
VibrationState = state;
}
boolean hal_vibration_get_state(void)
{
return VibrationState;
}
uint16_t hal_amblight_get_val(void)
{
return 42;
}
int main(int argc , char ** argv)
{
oswald_ui ui;
time_t mt;
struct tm mtime;
ui_g = &ui;
ui.accel_x = 0;
ui.accel_y = 0;
ui.accel_z = 0;
ui.halfsecond_active = FALSE;
ui.centisecond_active = FALSE;
mt = time(NULL);
localtime_r(&mt, &mtime);
gtk_init (&argc, &argv);
create_mainwin(&ui);
gtk_widget_realize(ui.mainwin);
oswald_set_time(mtime.tm_hour, mtime.tm_min, mtime.tm_sec, TRUE);
oswald_set_date(mtime.tm_mday, (mtime.tm_mon + 1), (mtime.tm_year + 1900), TRUE);
oswald_init();
g_timeout_add_seconds(1, one_second_tmo_handler, &ui);
// g_idle_add(app_idle_handler, &ui);
gtk_main ();
return 0;
}

33
ui/oswald-ui.h Normal file
View file

@ -0,0 +1,33 @@
#ifndef _oswald_ui_h
#define _oswald_ui_h
#include <gtk/gtk.h>
#include "oswald.h"
typedef struct {
GtkWidget *mainwin;
GtkWidget *darea;
GdkPixmap *pixmap;
GtkWidget *x_sc;
GtkWidget *y_sc;
GtkWidget *z_sc;
uint8_t accel_x;
uint8_t accel_y;
uint8_t accel_z;
gboolean halfsecond_active;
gboolean centisecond_active;
} oswald_ui;
void lcd_set_pixel(gint x, gint y, gboolean state);
void lcd_clear_display(void);
void lcd_update_display(void);
void enable_centisecond_timer(void);
void disable_centisecond_timer(void);
void enable_halfsecond_timer(void);
void disable_halfsecond_timer(void);
#endif

139
ui/oswald.h Normal file
View file

@ -0,0 +1,139 @@
#ifndef _OSWALD_H
#define _OSWALD_H
#include <stdio.h>
#include <string.h>
#include <stdint.h>
#define OSWALD_VERSION "v0.3"
//#define DEBUG 1
#ifdef DEBUG
#define dbg_out( args... ) fprintf(stderr, args)
#else
#define dbg_out( args... ) do {} while (0)
#endif
typedef uint8_t boolean;
#ifdef TRUE
#undef TRUE
#endif
#define TRUE 1
#ifdef FALSE
#undef FALSE
#endif
#define FALSE 0
#ifndef NULL
#define NULL 0
#endif
typedef struct {
uint8_t hour;
uint8_t minute;
uint8_t second;
uint8_t day;
uint8_t wday; // day in week, 0=sunday, 1=monday,...
uint8_t month;
uint16_t year;
boolean clk24hr;
boolean day_first;
} clock_state;
#define WDAY_SUNDAY (1 << 0)
#define WDAY_MONDAY (1 << 1)
#define WDAY_TUESDAY (1 << 2)
#define WDAY_WEDNESDAY (1 << 3)
#define WDAY_THURSDAY (1 << 4)
#define WDAY_FRIDAY (1 << 5)
#define WDAY_SATURDAY (1 << 6)
typedef struct {
uint8_t hour;
uint8_t minute;
uint8_t wday; // bitfield 0 to 6, 1=sunday, 2=monday, 4=tuesday...
} alarm_clk;
typedef enum {
IDLE_SCREEN = 0,
MAIN_MENU_SCREEN,
ALARM_SETUP_SCREEN,
STOP_WATCH_SCREEN,
BLUETOOTH_SCREEN,
ACCEL_DISPLAY_SCREEN,
MESSAGES_SCREEN,
INFO_SCREEN,
LAST_SCREEN, // a marker for the last (not valid) screen)
MESSAGE_SCREEN,
MENU_TEST_SCREEN,
APPLICATION_SCREEN,
DATETIME_SETTING_SCREEN,
ALARM_SCREEN,
SCREENS_END,
} screen_number;
typedef enum {
BUTTON_A = 0,
BUTTON_B,
BUTTON_C,
BUTTON_D,
BUTTON_E,
BUTTON_F,
} watch_button;
#define EVENT_SCREEN_VISIBLE (1<<0) // screen just became visible
#define EVENT_SCREEN_DESTROY (1<<1) // screen is destroyed
#define EVENT_ONE_SEC_TIMER (1<<2) // one second timer for reguler clock
#define EVENT_HALF_SEC_TIMER (1<<3) // half second timer for blinking displays
#define EVENT_CS_TIMER (1<<4) // centisecond timer, e.g. for stop watch
#define EVENT_USER_BUTTONS (1<<5) // button presses
#define EVENT_ACCEL_UPDATE (1<<6) // accelerometer updates
#define EVENT_AMBIENTLIGHT_UPDATE (1<<7) // ambient light sensor updates
#define EVENT_POWER_CHANGE (1<<8) // power source status change
#define EVENT_COMMS (1<<9) // communication, like Bluetooth I/O
#define EVENT_POWER_STATE (1<<10) // power source changed or similar
typedef enum {
EVENT_RET_UNHANDLED = 0,
EVENT_RET_HANDLED,
EVENT_RET_ERR
} event_ret_t;
typedef struct {
uint16_t event_mask; // the event the screen wants to receive
event_ret_t (*event_func)(uint16_t event, void *data); // callback for events
void *user_data;
} watch_screen;
typedef struct {
screen_number screen_id;
watch_screen *screen; // the current screen
boolean pending_idle;
} watch_state;
typedef struct {
int8_t x;
int8_t y;
int8_t z;
} accel_data_t;
#define POWER_SOURCE_BATTERY 0
#define POWER_SOURCE_EXTERNAL 1
#define POWER_CHARGER_DONE 0
#define POWER_CHARGER_PRECHARGE 1
#define POWER_CHARGER_CHARGING 2
#define POWER_CHARGER_UNK 3
typedef struct {
uint8_t source;
uint8_t charge_state;
uint8_t percent;
uint16_t level;
} power_state;
typedef enum {
BLUETOOTH_OFF = 0,
BLUETOOTH_ON,
BLUETOOTH_CONNECTED,
BLUETOOTH_ILL
} bluetooth_state;
#endif

65
ui/oswald_fonts.c Normal file
View file

@ -0,0 +1,65 @@
#include "oswald_fonts.h"
#if defined(__GNUC__) && (__MSP430X__ > 0)
__attribute__((__far__))
#endif
#include "fonts/lcd13x21.h"
#if defined(__GNUC__) && (__MSP430X__ > 0)
__attribute__((__far__))
#endif
#include "fonts/lcd8x13.h"
#if defined(__GNUC__) && (__MSP430X__ > 0)
__attribute__((__far__))
#endif
#include "fonts/fixed5x7.h"
#if defined(__GNUC__) && (__MSP430X__ > 0)
__attribute__((__far__))
#endif
#include "fonts/fixed6x9.h"
#if defined(__GNUC__) && (__MSP430X__ > 0)
__attribute__((__far__))
#endif
#include "fonts/DroidSans8x12.h"
#if defined(__GNUC__) && (__MSP430X__ > 0)
__attribute__((__far__))
#endif
#include "fonts/DroidSansBold8x12.h"
const oswald_font oswald_fonts[LAST_FONT] = {
{
FONT_TYPE_MONOSPACE,
FONT_WIDTH_LCDnone_8x13,
FONT_HEIGHT_LCDnone_8x13,
(uint8_t *)FONT_DATA_LCDnone_8x13
}, {
FONT_TYPE_MONOSPACE,
FONT_WIDTH_LCDnone_13x21,
FONT_HEIGHT_LCDnone_13x21,
(uint8_t *)FONT_DATA_LCDnone_13x21
}, {
FONT_TYPE_MONOSPACE,
FONT_WIDTH_Fixed_5x7,
FONT_HEIGHT_Fixed_5x7,
(uint8_t *)FONT_DATA_Fixed_5x7
}, {
FONT_TYPE_MONOSPACE,
FONT_WIDTH_Fixed_6x9,
FONT_HEIGHT_Fixed_6x9,
(uint8_t *)FONT_DATA_Fixed_6x9
}, {
FONT_TYPE_PROPORTIONAL,
FONT_WIDTH_Droid_SansMedium_8x12,
FONT_HEIGHT_Droid_SansMedium_8x12,
(uint8_t *)FONT_DATA_Droid_SansMedium_8x12
}, {
FONT_TYPE_PROPORTIONAL,
FONT_WIDTH_Droid_SansBold_8x12,
FONT_HEIGHT_Droid_SansBold_8x12,
(uint8_t *)FONT_DATA_Droid_SansBold_8x12
},
};

30
ui/oswald_fonts.h Normal file
View file

@ -0,0 +1,30 @@
#ifndef _FONTS_H
#define _FONTS_H
#include "oswald.h"
typedef enum {
FONT_TYPE_MONOSPACE = 0,
FONT_TYPE_PROPORTIONAL,
} oswald_font_type;
typedef enum {
FONT_LCD8x13 = 0,
FONT_LCD13x21,
FONT_5x7,
FONT_6x9,
FONT_DROID8x12,
FONT_DROID8x12b,
LAST_FONT
} oswald_font_face;
typedef struct {
oswald_font_type font_type;
uint8_t width;
uint8_t height;
uint8_t *data;
} oswald_font;
extern const oswald_font oswald_fonts[];
#endif

246
ui/oswald_graphics.c Normal file
View file

@ -0,0 +1,246 @@
#include "oswald.h"
#include "oswald_strings.h"
#include "oswald_fonts.h"
#include "oswald_hal.h"
#include "oswald_graphics.h"
#if 0
void oswald_draw_pixel(const unsigned int xstart, const unsigned int ystart, uint8_t color)
{
hal_lcd_set_pixel(xstart, ystart, TRUE);
}
#endif
void oswald_draw_bitmap_opts(const unsigned int xstart, const unsigned int ystart,
const unsigned int xoff, const unsigned int yoff,
const unsigned int width, const unsigned int height,
const boolean invert,
const unsigned int bmp_width, const unsigned int bmp_height,
const void *bmp)
{
unsigned int x, y;
uint8_t *cb;
if (bmp == NULL)
return;
//g_printerr("dbmp %d,%d off %d,%d\n", xstart, ystart, width, height);
cb = (uint8_t *)bmp;
//g_printerr("dat %02x %02x %02x\n", (uint8_t)cb[0], (uint8_t)cb[1], (uint8_t)cb[2]);
// we only draw set pixel, unset pixel remain as they are
for (y=yoff; y<bmp_height && y<height; y++) {
for (x=xoff; x<bmp_width && x<width; x++) {
cb = (uint8_t *)(bmp + (y * ((bmp_width / 8) + ((bmp_width % 8) ? 1 : 0))) + (x / 8));
// g_printerr("dat %02x %02x %02x\n", (uint8_t)cb[0], (uint8_t)cb[1], (uint8_t)cb[2]);
if (*cb & (1 << (x % 8))) {
if (!invert)
hal_lcd_set_pixel((xstart + x) - xoff, (ystart + y) - yoff, TRUE);
// g_printerr("X");
} else {
if (invert)
hal_lcd_set_pixel((xstart + x) - xoff, (ystart + y) - yoff, TRUE);
// g_printerr(".");
}
}
//g_printerr("\n");
}
}
void oswald_draw_line(const uint8_t xstart, const uint8_t ystart, const uint8_t xend, const uint8_t yend)
{
int x, y, t, dx, dy, incx, incy, pdx, pdy, ddx, ddy, es, el, err;
dx = xend - xstart;
dy = yend - ystart;
incx = (dx >= 0) ? 1 : -1;
incy = (dy >= 0) ? 1 : -1;
if (dx<0)
dx = -dx;
if (dy<0)
dy = -dy;
if (dx>dy) {
pdx = incx; pdy = 0;
ddx=incx; ddy=incy;
es =dy; el =dx;
} else {
pdx=0; pdy=incy;
ddx=incx; ddy=incy;
es =dx; el =dy;
}
x = xstart;
y = ystart;
err = el/2;
hal_lcd_set_pixel(x, y, TRUE);
for (t = 0; t < el; ++t) {
err -= es;
if (err < 0) {
err += el;
x += ddx;
y += ddy;
} else {
x += pdx;
y += pdy;
}
hal_lcd_set_pixel(x, y, TRUE);
}
}
void oswald_draw_line_ww(const uint8_t xstart, const uint8_t ystart, const uint8_t xend, const uint8_t yend, const uint8_t thickness)
{
int16_t i, x, y, t, dx, dy, incx, incy, pdx, pdy, ddx, ddy, es, el, err;
dx = xend - xstart;
dy = yend - ystart;
incx = (dx >= 0) ? 1 : -1;
incy = (dy >= 0) ? 1 : -1;
if (dx<0)
dx = -dx;
if (dy<0)
dy = -dy;
if (dx>dy) {
pdx = incx;
pdy = 0;
ddx = incx;
ddy = incy;
es = dy;
el = dx;
} else {
pdx = 0;
pdy = incy;
ddx = incx;
ddy = incy;
es = dx;
el = dy;
}
x = xstart;
y = ystart;
err = el/2;
hal_lcd_set_pixel(x, y, TRUE);
for (i=1; i<thickness; i++) {
hal_lcd_set_pixel(x-i, y, TRUE);
hal_lcd_set_pixel(x+i, y, TRUE);
hal_lcd_set_pixel(x, y-i, TRUE);
hal_lcd_set_pixel(x, y+i, TRUE);
}
for (t = 0; t < el; ++t) {
err -= es;
if (err < 0) {
err += el;
x += ddx;
y += ddy;
} else {
x += pdx;
y += pdy;
}
hal_lcd_set_pixel(x, y, TRUE);
for (i=1; i<thickness; i++) {
hal_lcd_set_pixel(x-i, y, TRUE);
hal_lcd_set_pixel(x+i, y, TRUE);
hal_lcd_set_pixel(x, y-i, TRUE);
hal_lcd_set_pixel(x, y+i, TRUE);
}
}
}
uint8_t oswald_write_character(const uint8_t x, const uint8_t y, const oswald_font_face face, const boolean invert, const uint8_t Character)
{
uint8_t *cdata = oswald_fonts[face].data;
uint8_t cwidth;
int csize;
// if (Character == 32) { // space, blank no need to draw one ;)
// return oswald_fonts[face].width / 2;
// }
csize = ((oswald_fonts[face].width / 8) + ((oswald_fonts[face].width % 8) ? 1 : 0)) * oswald_fonts[face].height;
if (oswald_fonts[face].font_type == FONT_TYPE_PROPORTIONAL)
csize += 1; // at least 1px spacing
//csize += (oswald_fonts[face].height / 8) + ((oswald_fonts[face].height % 8) ? 1 : 0);
// g_printerr("fp = 0x%08lx cdata = 0x%08lx\n", font_7x12, cdata);
cdata = (cdata + ((int)csize * (int)Character));
//g_printerr("%02x\n", oswald_fonts[face].data[0][0]);
//g_printerr("char %02x face %d %dx%d csize %d\n", Character, face, oswald_fonts[face].width, oswald_fonts[face].height, csize);
//g_printerr("char %02x %02x %02x\n", (uint8_t)cdata[0], (uint8_t)cdata[1], (uint8_t)cdata[2]);
// oswald_draw_bitmap(x, y, oswald_fonts[face].height, oswald_fonts[face].height, cdata);
if (oswald_fonts[face].font_type == FONT_TYPE_MONOSPACE) {
cwidth = oswald_fonts[face].width;
//oswald_draw_bitmap(x, y, ((oswald_fonts[face].width / 8) + ((oswald_fonts[face].width % 8) ? 1 : 0)) * 8, oswald_fonts[face].height, (uint8_t *)cdata);
oswald_draw_bitmap_opts(x,y,0,0,((oswald_fonts[face].width / 8) + ((oswald_fonts[face].width % 8) ? 1 : 0)) * 8,oswald_fonts[face].height,invert,((oswald_fonts[face].width / 8) + ((oswald_fonts[face].width % 8) ? 1 : 0)) * 8,oswald_fonts[face].height,(uint8_t *)cdata);
} else if (oswald_fonts[face].font_type == FONT_TYPE_PROPORTIONAL) {
cwidth = cdata[0];
cdata++;
// oswald_draw_bitmap_size(x, y, (cwidth+1), oswald_fonts[face].height, ((oswald_fonts[face].width / 8) + ((oswald_fonts[face].width % 8) ? 1 : 0))*8, oswald_fonts[face].height, (uint8_t *)cdata);
oswald_draw_bitmap_opts(x,y,0,0,(cwidth+1),oswald_fonts[face].height,invert,((oswald_fonts[face].width / 8) + ((oswald_fonts[face].width % 8) ? 1 : 0))*8,oswald_fonts[face].height,(uint8_t *)cdata);
} else {
cwidth = 0;
}
// oswald_draw_bitmap_offset(x, y, (oswald_fonts[face].width % 8) > 0 ? (8-(oswald_fonts[face].width % 8)) : 0, 0, ((oswald_fonts[face].width / 8) + ((oswald_fonts[face].width % 8) ? 1 : 0))*8, oswald_fonts[face].height, cdata);
return cwidth;
}
void oswald_write_string(const uint8_t x, const uint8_t y, const oswald_font_face face, const boolean invert, char *str)
{
uint8_t lx, i, strl;
strl = oswald_strlen(str);
if (strl == 0)
return;
lx = x;
for (i=0; i<strl; i++) {
lx += oswald_write_character(lx, y, face, invert, str[i]);
}
}
uint8_t oswald_write_string_length(const uint8_t x, const uint8_t y, const uint8_t len, const oswald_font_face face, const boolean invert, char *str)
{
uint8_t lx, i, strl;
strl = oswald_strlen(str);
if (strl == 0)
return;
lx = x;
for (i=0; i<strl; i++) {
lx += oswald_write_character(lx, y, face, invert, str[i]);
if (lx > len)
break;
}
return (i+1);
}
void oswald_write_number(const uint8_t x, const uint8_t y, const oswald_font_face face, const boolean invert, const int16_t number)
{
uint8_t lx, i, strl;
char str[8];
itoa(number, str, 10);
strl = oswald_strlen(str);
if (strl == 0)
return;
lx = x;
for (i=0; i<strl; i++) {
lx += oswald_write_character(lx, y, face, invert, str[i]);
}
}

48
ui/oswald_graphics.h Normal file
View file

@ -0,0 +1,48 @@
#ifndef _OSWALD_GRAPHICS_H
#define _OSWALD_GRAPHICS_H
#include "oswald.h"
#include "oswald_strings.h"
#include "oswald_fonts.h"
#include "oswald_graphics.h"
#define COLOR_WHITE 0
#define COLOR_BLACK 1
#define COLOR_XOR 2
#define COLOR_INV 3
#define oswald_draw_pixel(xstart, ystart, color) \
hal_lcd_set_pixel(xstart, ystart, color)
void oswald_draw_bitmap_opts(const unsigned int xstart, const unsigned int ystart,
const unsigned int xoff, const unsigned int yoff,
const unsigned int width, const unsigned int height,
const boolean invert,
const unsigned int bmp_width, const unsigned int bmp_height,
const void *bmp);
#define oswald_draw_bitmpa_invert_opt(x,y,w,h,d,i) \
oswald_draw_bitmap_opts(x,y,0,0,w,h,i,w,h,d)
#define oswald_draw_bitmap(x,y,w,h,d) \
oswald_draw_bitmap_opts(x,y,0,0,w,h,FALSE,w,h,d)
#define oswald_draw_bitmap_size(x, y, w, h, bw, bh, d) \
oswald_draw_bitmap_opts(x,y,0,0,w,h,FALSE,bw,bh,d)
void oswald_draw_line(const uint8_t xstart, const uint8_t ystart, const uint8_t xend, const uint8_t yend);
void oswald_draw_line_ww(const uint8_t xstart, const uint8_t ystart, const uint8_t xend, const uint8_t yend, const uint8_t thickness);
uint8_t oswald_write_character(const uint8_t x, const uint8_t y, const oswald_font_face face, const boolean invert, const uint8_t Character);
void oswald_write_string(const uint8_t x, const uint8_t y, const oswald_font_face face, const boolean invert, char *str);
uint8_t oswald_write_string_length(const uint8_t x, const uint8_t y, const uint8_t len, const oswald_font_face face, const boolean invert, char *str);
void oswald_write_number(const uint8_t x, const uint8_t y, const oswald_font_face face, const boolean invert, const int16_t number);
#endif

45
ui/oswald_hal.h Normal file
View file

@ -0,0 +1,45 @@
#ifndef _oswald_hal_h
#define _oswald_hal_h
/*
* these functions must be implemented for a concrete hardware
*/
const char *hal_get_version_string(void);
const char *hal_get_buildno_string(void);
const char *hal_get_radio_version_string(void);
void hal_lcd_set_pixel(uint8_t x, uint8_t y, uint8_t color);
void hal_lcd_clear_display(void);
void hal_lcd_update_display(void);
/* sets the backlight on/off, on=TRUE, off=FALSE */
void hal_lcd_set_backlight(boolean state);
boolean hal_lcd_get_backlight(void);
void hal_enable_centisecond_timer(void);
void hal_disable_centisecond_timer(void);
void hal_enable_halfsecond_timer(void);
void hal_disable_halfsecond_timer(void);
void hal_get_rtc(clock_state *rtc);
void hal_set_rtc(clock_state *rtc, boolean set_set);
void hal_get_power_state(power_state *pwr);
/* sets the vibration motor on/off, on=TRUE, off=FALSE */
void hal_vibration_set_state(boolean state);
boolean hal_vibration_get_state(void);
bluetooth_state hal_bluetooth_set_state(bluetooth_state state);
bluetooth_state hal_bluetooth_get_state(void);
uint8_t *hal_bluetooth_get_local_bdaddr(void);
void hal_bluetooth_set_visible(boolean visible);
boolean hal_bluetooth_get_visible(void);
void hal_bluetooth_send_data(const void *mdat, uint16_t mlen);
void hal_accelerometer_enable(void);
void hal_accelerometer_disable(void);
uint16_t hal_amblight_get_val(void);
#endif

248
ui/oswald_main.c Normal file
View file

@ -0,0 +1,248 @@
#include "oswald.h"
#include "oswald_watch_faces.h"
#include "oswald_screens.h"
#include "oswald_hal.h"
#include "embedvm.h"
#include "oswald_main.h"
/*
* some variable defining our curent state
* these are globals in order to avoid having to pass pointers
* through function calls thus saving stack space
*/
clock_state OswaldClk;
alarm_clk OswaldAlarm;
watch_state OswaldState;
watch_screen OswaldScreens[SCREENS_END];
power_state OswaldPowerState;
uint8_t backlight_safety_off = 0;
char MainMessage[148];
void oswald_change_to_screen(screen_number screen_id)
{
// we spare the update if no change happened
if (OswaldState.screen_id != screen_id) {
OswaldState.screen_id = screen_id;
if ((OswaldState.screen->event_func != NULL) &&
(OswaldState.screen->event_mask & EVENT_SCREEN_VISIBLE))
OswaldState.screen->event_func(EVENT_SCREEN_VISIBLE, NULL);
}
}
void oswald_set_time(uint8_t hour, uint8_t minute, uint8_t second, boolean clk24hr)
{
OswaldClk.hour = hour;
OswaldClk.minute = minute;
OswaldClk.second = second;
OswaldClk.clk24hr = clk24hr;
}
void oswald_set_date(uint8_t day, uint8_t month, uint16_t year, boolean day_first)
{
OswaldClk.day = day;
OswaldClk.month = month;
OswaldClk.year = year;
OswaldClk.day_first = day_first;
}
static void update_clock_state (void)
{
hal_get_rtc(&OswaldClk);
/* check for pending alarm once per minute */
if (OswaldClk.second == 0) {
if (OswaldClk.hour == OswaldAlarm.hour &&
OswaldClk.minute == OswaldAlarm.minute &&
((1 << OswaldClk.wday) & OswaldAlarm.wday)) {
OswaldState.screen->event_func(EVENT_SCREEN_DESTROY, NULL);
OswaldState.screen_id = ALARM_SCREEN;
OswaldState.screen = &OswaldScreens[OswaldState.screen_id];
OswaldState.screen->event_func(EVENT_SCREEN_VISIBLE, NULL);
}
}
}
void oswald_one_second_tick(void)
{
/* update clock - should use RTC if available */
update_clock_state();
hal_get_power_state(&OswaldPowerState);
if (backlight_safety_off) {
backlight_safety_off--;
if (!backlight_safety_off)
hal_lcd_set_backlight(FALSE);
}
/* wake-up screen if interested in the one-second-event */
if (OswaldState.screen->event_func != NULL &&
(OswaldState.screen->event_mask & EVENT_ONE_SEC_TIMER))
OswaldState.screen->event_func(EVENT_ONE_SEC_TIMER, NULL);
}
void oswald_centisecond_tick(void)
{
if (OswaldState.screen->event_func != NULL &&
(OswaldState.screen->event_mask & EVENT_CS_TIMER))
OswaldState.screen->event_func(EVENT_CS_TIMER, NULL);
}
void oswald_halfsecond_tick(void)
{
if (OswaldState.screen->event_func != NULL &&
(OswaldState.screen->event_mask & EVENT_HALF_SEC_TIMER))
OswaldState.screen->event_func(EVENT_HALF_SEC_TIMER, NULL);
}
void oswald_handle_button_press(watch_button button)
{
switch (button) {
case BUTTON_A:
case BUTTON_B:
case BUTTON_E:
case BUTTON_F:
if (OswaldState.screen->event_func != NULL &&
(OswaldState.screen->event_mask & EVENT_USER_BUTTONS)) {
OswaldState.screen->event_func(EVENT_USER_BUTTONS, &button);
}
break;
case BUTTON_C:
if (OswaldState.screen->event_func != NULL &&
(OswaldState.screen->event_mask & EVENT_USER_BUTTONS)) {
if (OswaldState.screen->event_func(EVENT_USER_BUTTONS, &button) == EVENT_RET_HANDLED)
break;
}
OswaldState.screen->event_func(EVENT_SCREEN_DESTROY, NULL);
#if 0
// next screen
OswaldState.screen_id++;
if (OswaldState.screen_id >= LAST_SCREEN) {
OswaldState.screen_id = IDLE_SCREEN;
};
#else
OswaldState.screen_id = IDLE_SCREEN;
#endif
OswaldState.screen = &OswaldScreens[OswaldState.screen_id];
OswaldState.screen->event_func(EVENT_SCREEN_VISIBLE, NULL);
break;
case BUTTON_D:
// backlight on/off
if (hal_lcd_get_backlight()) {
hal_lcd_set_backlight(FALSE);
backlight_safety_off = 0;
} else {
hal_lcd_set_backlight(TRUE);
backlight_safety_off = 2;
}
break;
default:
// should never get here
break;
};
}
void oswald_handle_accel_event(uint8_t x, uint8_t y, uint8_t z)
{
accel_data_t accel_data;
accel_data.x = x;
accel_data.y = y;
accel_data.z = z;
if (OswaldState.screen->event_func != NULL &&
(OswaldState.screen->event_mask & EVENT_ACCEL_UPDATE))
OswaldState.screen->event_func(EVENT_ACCEL_UPDATE, &accel_data);
}
void oswald_handle_ambientlight_event(uint8_t light_level)
{
if (OswaldState.screen->event_func != NULL &&
(OswaldState.screen->event_mask & EVENT_AMBIENTLIGHT_UPDATE))
OswaldState.screen->event_func(EVENT_AMBIENTLIGHT_UPDATE, &light_level);
}
void oswald_handle_comm_input(uint16_t mlen, const void *mdat)
{
char *icmd = (char *) mdat;
if (icmd[0] == '$') {
if (strncmp(icmd, "$GRT", 4) == 0) { // get current RTC
char rtime[16];
snprintf(rtime, 16, "#RTC%02d%02d%02d\n", OswaldClk.hour, OswaldClk.minute, OswaldClk.second);
hal_bluetooth_send_data(rtime, strlen(rtime));
} else if (strncmp(icmd, "$SRT", 4) == 0) { // set current RTC
char rtime[16];
snprintf(rtime, 16, "#USP\n");
hal_bluetooth_send_data(rtime, strlen(rtime));
} else if (strncmp(icmd, "$MSG", 4) == 0) { // message on main screen
char *msg = (icmd+4);
mlen -= 4;
memset(MainMessage, 0, 148);
strncpy(MainMessage, msg, (mlen > 147) ? 147 : mlen);
} else if (strncmp(icmd, "$MCL", 4) == 0) { // clear message
memset(MainMessage, 0, 148);
} else if (strncmp(icmd, "$BAT", 4) == 0) { // clear message
char rtime[16];
snprintf(rtime, 16, "#BAT%d,%d\n", OswaldPowerState.charge_state, OswaldPowerState.percent);
hal_bluetooth_send_data(rtime, strlen(rtime));
} else if (strncmp(icmd, "$GAL", 4) == 0) { // get ambient light value
char rtime[16];
snprintf(rtime, 16, "#GAL%d\n", hal_amblight_get_val());
hal_bluetooth_send_data(rtime, strlen(rtime));
}
}
}
void oswald_init(void)
{
OswaldScreens[IDLE_SCREEN].event_mask = EVENT_USER_BUTTONS | EVENT_ONE_SEC_TIMER;
OswaldScreens[IDLE_SCREEN].event_func = idle_handle_events;
OswaldScreens[MAIN_MENU_SCREEN].event_mask = EVENT_USER_BUTTONS | EVENT_ONE_SEC_TIMER;
OswaldScreens[MAIN_MENU_SCREEN].event_func = main_menu_handle_events;
OswaldScreens[ALARM_SETUP_SCREEN].event_mask = EVENT_USER_BUTTONS | EVENT_HALF_SEC_TIMER;
OswaldScreens[ALARM_SETUP_SCREEN].event_func = alarm_setup_events;
OswaldScreens[STOP_WATCH_SCREEN].event_mask = EVENT_USER_BUTTONS | EVENT_CS_TIMER;
OswaldScreens[STOP_WATCH_SCREEN].event_func = stop_watch_handle_events;
OswaldScreens[BLUETOOTH_SCREEN].event_mask = EVENT_USER_BUTTONS | EVENT_HALF_SEC_TIMER;
OswaldScreens[BLUETOOTH_SCREEN].event_func = bluetooth_screen_events;
OswaldScreens[ACCEL_DISPLAY_SCREEN].event_mask = EVENT_USER_BUTTONS | EVENT_ACCEL_UPDATE;
OswaldScreens[ACCEL_DISPLAY_SCREEN].event_func = accel_handle_events;
OswaldScreens[MESSAGES_SCREEN].event_mask = EVENT_USER_BUTTONS;
OswaldScreens[MESSAGES_SCREEN].event_func = messages_screen_handle_events;
OswaldScreens[MESSAGE_SCREEN].event_mask = EVENT_USER_BUTTONS;
OswaldScreens[MESSAGE_SCREEN].event_func = message_screen_handle_events;
OswaldScreens[INFO_SCREEN].event_mask = 0x00; // this one does not consume any events
OswaldScreens[INFO_SCREEN].event_func = info_screen_handle_events;
OswaldScreens[DATETIME_SETTING_SCREEN].event_mask = EVENT_USER_BUTTONS | EVENT_HALF_SEC_TIMER;
OswaldScreens[DATETIME_SETTING_SCREEN].event_func = datetime_setup_events;
OswaldScreens[MENU_TEST_SCREEN].event_mask = EVENT_USER_BUTTONS;
OswaldScreens[MENU_TEST_SCREEN].event_func = test_menu_handle_events;
OswaldScreens[ALARM_SCREEN].event_mask = EVENT_USER_BUTTONS | EVENT_HALF_SEC_TIMER;
OswaldScreens[ALARM_SCREEN].event_func = alarm_handle_events;
OswaldState.screen_id = IDLE_SCREEN;
OswaldState.screen = &OswaldScreens[OswaldState.screen_id];
if (OswaldState.screen->event_func != NULL)
OswaldState.screen->event_func(EVENT_SCREEN_VISIBLE, NULL);
OswaldAlarm.hour = 12;
OswaldAlarm.minute = 0;
OswaldAlarm.wday = 0x00;
}

29
ui/oswald_main.h Normal file
View file

@ -0,0 +1,29 @@
#ifndef _OSWALD_MAIN_H
#define _OSWALD_MAIN_H
#include "oswald.h"
extern clock_state OswaldClk;
extern alarm_clk OswaldAlarm;
extern power_state OswaldPowerState;
extern watch_state OswaldState;
extern watch_screen OswaldScreens[];
extern char MainMessage[];
/* gets triggered by OS timer function */
void oswald_one_second_tick();
/* sets internal 'RTC' time */
void oswald_set_time(uint8_t hour, uint8_t minute, uint8_t second, boolean clk24hr);
void oswald_set_date(uint8_t day, uint8_t month, uint16_t year, boolean day_first);
void oswald_handle_button_press(watch_button button);
void oswald_handle_accel_event(uint8_t x, uint8_t y, uint8_t z);
void oswald_handle_ambientlight_event(uint8_t light_level);
void oswald_handle_idle_event(void);
void oswald_one_second_tick(void);
void oswald_halfsecond_tick(void);
void oswald_centisecond_tick(void);
void oswald_init(void);
void oswald_handle_comm_input(uint16_t mlen, const void *mdat);
#endif

1533
ui/oswald_screens.c Normal file

File diff suppressed because it is too large Load diff

28
ui/oswald_screens.h Normal file
View file

@ -0,0 +1,28 @@
#ifndef _OSWALD_SCREENS_H
#define _OSWALD_SCREENS_H
event_ret_t main_menu_handle_events(uint16_t event, void *data);
event_ret_t idle_handle_events(uint16_t event, void *data);
event_ret_t accel_handle_events(uint16_t event, void *data);
event_ret_t datetime_setup_events(uint16_t event, void *data);
event_ret_t alarm_setup_events(uint16_t event, void *data);
event_ret_t test_menu_handle_events(uint16_t event, void *data);
event_ret_t stop_watch_handle_events(uint16_t event, void *data);
event_ret_t alarm_handle_events(uint16_t event, void *data);
event_ret_t bluetooth_screen_events(uint16_t event, void *data);
event_ret_t info_screen_handle_events(uint16_t event, void *data);
event_ret_t messages_screen_handle_events(uint16_t event, void *data);
event_ret_t message_screen_handle_events(uint16_t event, void *data);
#endif

48
ui/oswald_strings.c Normal file
View file

@ -0,0 +1,48 @@
#include "oswald.h"
#include "oswald_strings.h"
uint16_t oswald_strlen(char *string)
{
int i=0;
if (string == NULL)
return 0;
while (string[i] != 0) i++;
return i;
}
char *itoa(int16_t value, char* result, int base)
{
char *ptr = result, *ptr1 = result, tmp_char;
int16_t tmp_value;
if (result == NULL)
return NULL;
// check that the base if valid
if (base < 2 || base > 36) {
*result = '\0';
return result;
}
do {
tmp_value = value;
value /= base;
*ptr++ = "zyxwvutsrqponmlkjihgfedcba9876543210123456789abcdefghijklmnopqrstuvwxyz" [35 + (tmp_value - value * base)];
} while ( value );
// Apply negative sign
if (tmp_value < 0)
*ptr++ = '-';
*ptr-- = '\0';
while (ptr1 < ptr) {
tmp_char = *ptr;
*ptr--= *ptr1;
*ptr1++ = tmp_char;
}
return result;
}

8
ui/oswald_strings.h Normal file
View file

@ -0,0 +1,8 @@
#ifndef _OSWALD_STRINGS_H
#define _OSWALD_STRINGS_H
uint16_t oswald_strlen(char *string);
char* itoa(int16_t value, char* result, int base);
#endif

298
ui/oswald_watch_faces.c Normal file
View file

@ -0,0 +1,298 @@
#include <stdio.h>
#include <stdint.h>
#include "oswald.h"
#include "oswald_main.h"
#include "oswald_hal.h"
#include "oswald_graphics.h"
#include "oswald_watch_faces.h"
#if defined(__GNUC__) && (__MSP430X__ > 0)
__attribute__((__far__))
#endif
#include "bitmaps/battery0_icon.xbm"
#if defined(__GNUC__) && (__MSP430X__ > 0)
__attribute__((__far__))
#endif
#include "bitmaps/battery25_icon.xbm"
#if defined(__GNUC__) && (__MSP430X__ > 0)
__attribute__((__far__))
#endif
#include "bitmaps/battery50_icon.xbm"
#if defined(__GNUC__) && (__MSP430X__ > 0)
__attribute__((__far__))
#endif
#include "bitmaps/battery75_icon.xbm"
#if defined(__GNUC__) && (__MSP430X__ > 0)
__attribute__((__far__))
#endif
#include "bitmaps/battery100_icon.xbm"
#if defined(__GNUC__) && (__MSP430X__ > 0)
__attribute__((__far__))
#endif
#include "bitmaps/charger_icon.xbm"
#if defined(__GNUC__) && (__MSP430X__ > 0)
__attribute__((__far__))
#endif
#include "bitmaps/bluetooth_icon.xbm"
#if defined(__GNUC__) && (__MSP430X__ > 0)
__attribute__((__far__))
#endif
#include "bitmaps/bluetooth_con_icon.xbm"
/* sine table, per degree, factor 100 */
#if defined(__GNUC__) && (__MSP430X__ > 0)
__attribute__((__far__))
#endif
int16_t sintab[]={
0, 2, 3, 5, 7, 9, 10, 12, 14, 16,
17, 19, 21, 22, 24, 26, 28, 29, 31, 33,
34, 36, 37, 39, 41, 42, 44, 45, 47, 48,
50, 52, 53, 54, 56, 57, 59, 60, 62, 63,
64, 66, 67, 68, 69, 71, 72, 73, 74, 75,
77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
87, 87, 88, 89, 90, 91, 91, 92, 93, 93,
94, 95, 95, 96, 96, 97, 97, 97, 98, 98,
98, 99, 99, 99, 99, 100, 100, 100, 100, 100,
100, 100, 100, 100, 100, 100, 99, 99, 99, 99,
98, 98, 98, 97, 97, 97, 96, 96, 95, 95,
94, 93, 93, 92, 91, 91, 90, 89, 88, 87,
87, 86, 85, 84, 83, 82, 81, 80, 79, 78,
77, 75, 74, 73, 72, 71, 69, 68, 67, 66,
64, 63, 62, 60, 59, 57, 56, 54, 53, 52,
50, 48, 47, 45, 44, 42, 41, 39, 37, 36,
34, 33, 31, 29, 28, 26, 24, 22, 21, 19,
17, 16, 14, 12, 10, 9, 7, 5, 3, 2,
0, -2, -3, -5, -7, -9, -10, -12, -14, -16,
-17, -19, -21, -22, -24, -26, -28, -29, -31, -33,
-34, -36, -37, -39, -41, -42, -44, -45, -47, -48,
-50, -52, -53, -54, -56, -57, -59, -60, -62, -63,
-64, -66, -67, -68, -69, -71, -72, -73, -74, -75,
-77, -78, -79, -80, -81, -82, -83, -84, -85, -86,
-87, -87, -88, -89, -90, -91, -91, -92, -93, -93,
-94, -95, -95, -96, -96, -97, -97, -97, -98, -98,
-98, -99, -99, -99, -99,-100,-100,-100,-100,-100,
-100,-100,-100,-100,-100,-100, -99, -99, -99, -99,
-98, -98, -98, -97, -97, -97, -96, -96, -95, -95,
-94, -93, -93, -92, -91, -91, -90, -89, -88, -87,
-87, -86, -85, -84, -83, -82, -81, -80, -79, -78,
-77, -75, -74, -73, -72, -71, -69, -68, -67, -66,
-64, -63, -62, -60, -59, -57, -56, -54, -53, -52,
-50, -48, -47, -45, -44, -42, -41, -39, -37, -36,
-34, -33, -31, -29, -28, -26, -24, -22, -21, -19,
-17, -16, -14, -12, -10, -9, -7, -5, -3, -2
};
int16_t f_sin(int16_t v)
{
v %= 360;
return sintab[v];
}
int16_t f_cos(int16_t v)
{
v += 90;
v %= 360;
return sintab[v];
}
void draw_status_icons(void)
{
static uint8_t ci = 0;
if (OswaldPowerState.source) {
oswald_draw_bitmap(81, 0, charger_icon_width, charger_icon_height, charger_icon_bits);
if (OswaldPowerState.charge_state != POWER_CHARGER_DONE) {
if (ci==0) oswald_draw_bitmap(81, 0, battery0_icon_width, battery0_icon_height, battery0_icon_bits);
else if (ci==1) oswald_draw_bitmap(81, 0, battery25_icon_width, battery25_icon_height, battery25_icon_bits);
else if (ci==2) oswald_draw_bitmap(81, 0, battery50_icon_width, battery50_icon_height, battery50_icon_bits);
else if (ci==3) oswald_draw_bitmap(81, 0, battery75_icon_width, battery75_icon_height, battery75_icon_bits);
else if (ci==4) oswald_draw_bitmap(81, 0, battery100_icon_width, battery100_icon_height, battery100_icon_bits);
ci++;
ci %= 5;
} else {
oswald_draw_bitmap(81, 0, battery100_icon_width, battery100_icon_height, battery100_icon_bits);
}
} else {
if (OswaldPowerState.percent > 75)
oswald_draw_bitmap(81, 0, battery100_icon_width, battery100_icon_height, battery100_icon_bits);
else if (OswaldPowerState.percent > 50)
oswald_draw_bitmap(81, 0, battery75_icon_width, battery75_icon_height, battery75_icon_bits);
else if (OswaldPowerState.percent > 25)
oswald_draw_bitmap(81, 0, battery50_icon_width, battery50_icon_height, battery50_icon_bits);
else if (OswaldPowerState.percent > 5)
oswald_draw_bitmap(81, 0, battery25_icon_width, battery25_icon_height, battery25_icon_bits);
else
oswald_draw_bitmap(81, 0, battery0_icon_width, battery0_icon_height, battery0_icon_bits);
}
if (hal_bluetooth_get_state() == BLUETOOTH_ON)
oswald_draw_bitmap(81, 0, bluetooth_icon_width, bluetooth_icon_height, bluetooth_icon_bits);
else if (hal_bluetooth_get_state() == BLUETOOTH_CONNECTED)
oswald_draw_bitmap(81, 0, bluetooth_con_icon_width, bluetooth_con_icon_height, bluetooth_con_icon_bits);
}
void DrawLcdAnaClock(boolean show_seconds)
{
int16_t i, x, y, x2, y2;
int16_t tmp;
int8_t hour, minute, seconds;
char tstr[16];
hour = OswaldClk.hour;
minute = OswaldClk.minute;
seconds = OswaldClk.second;
hour -= 3;
if (hour < 0)
hour += 12;
// mf = (1. / 59.) * (double)minute;
minute -= 15;
if (minute < 0)
minute += 60;
seconds -= 15;
if (seconds < 0)
seconds += 60;
hal_lcd_clear_display();
snprintf(tstr, 16, "%2d", OswaldClk.day);
oswald_write_string(70, 43, FONT_6x9, FALSE, tstr);
// Marker
// plot(R*cos(360° * i/N), R*sin(360° * i/N))
for (i=0; i<12; i++) {
x = 47 + ((43 * f_cos((360 / 12) * i)) / 100);
y = 47 + ((43 * f_sin((360 / 12) * i)) / 100);
x2 = 47 + ((47 * f_cos((360 / 12) * i)) / 100);
y2 = 47 + ((47 * f_sin((360 / 12) * i)) / 100);
oswald_draw_line_ww(x, y, x2, y2, 2);
// g_printerr("br %d,%d %d,%d\n", x,y,x2,y2);
};
// Hour
tmp = 47 + (30 * f_cos(((360 / 12) * hour) + ((OswaldClk.minute * 360) /12 / 60)) / 100);
x = tmp;
tmp = 47 + (30 * f_sin(((360 / 12) * hour) + ((OswaldClk.minute * 360) /12 / 60)) / 100);
y = tmp;
oswald_draw_line_ww(47, 47, x, y, 2);
// Minute
tmp = 47 + ((40 * f_cos((360 / 60) * minute)) / 100);
x = tmp;
tmp = 47 + ((40 * f_sin((360 / 60) * minute)) / 100);
y = tmp;
oswald_draw_line_ww(47, 47, x, y, 2);
if (show_seconds) {
// Seconds
tmp = 47 + ((40 * f_cos((360 / 60) * seconds)) / 100);
x = tmp;
tmp = 47 + ((40 * f_sin((360 / 60) * seconds)) / 100);
y = tmp;
oswald_draw_line(47, 47, x, y);
};
draw_status_icons();
hal_lcd_update_display();
}
static const char *daynames[7] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
void DrawLcdDigitalClock(boolean show_seconds)
{
int gRow = 1;
int gColumn = 1;
char tstr[16];
int i;
#if 0
snprintf(tstr, 16, "%d%% (%dmV)", OswaldPowerState.percent, OswaldPowerState.level);
WriteLcdString(2, 48, tstr);
WriteLcdString(2, 64, OswaldPowerState.source ? "ext" : "bat");
/* this makes only sense when the charger is active */
if (OswaldPowerState.source) {
switch (OswaldPowerState.charge_state) {
case POWER_CHARGER_DONE:
WriteLcdString(2, 80, "charge done");
break;
case POWER_CHARGER_PRECHARGE:
WriteLcdString(2, 80, "precharging");
break;
case POWER_CHARGER_CHARGING:
WriteLcdString(2, 80, "charging");
break;
case POWER_CHARGER_UNK:
WriteLcdString(2, 80, "charge unkn.");
break;
default:
break;
};
};
#endif
hal_lcd_clear_display();
if (OswaldClk.clk24hr) {
gRow += oswald_write_character(gRow, gColumn, FONT_LCD13x21, FALSE, (OswaldClk.hour / 10));
gRow += oswald_write_character(gRow, gColumn, FONT_LCD13x21, FALSE, (OswaldClk.hour % 10));
} else {
unsigned char val = OswaldClk.hour;
if (val > 12) {
val -= 12;
oswald_write_string(59, 0, FONT_6x9, FALSE, "PM");
} else {
oswald_write_string(59, 0, FONT_6x9, FALSE, "AM");
}
gRow += oswald_write_character(gRow, gColumn, FONT_LCD13x21, FALSE, (val / 10));
gRow += oswald_write_character(gRow, gColumn, FONT_LCD13x21, FALSE, (val % 10));
}
if (OswaldClk.second % 2)
oswald_write_character(gRow-4, gColumn, FONT_LCD13x21, FALSE, 10);
gRow += 5;
gRow += oswald_write_character(gRow, gColumn, FONT_LCD13x21, FALSE, (OswaldClk.minute / 10));
gRow += oswald_write_character(gRow, gColumn, FONT_LCD13x21, FALSE, (OswaldClk.minute % 10));
if (show_seconds) {
oswald_write_character(59, 9, FONT_LCD8x13, FALSE, (OswaldClk.second / 10));
oswald_write_character(67, 9, FONT_LCD8x13, FALSE, (OswaldClk.second % 10));
}
if (OswaldClk.day_first)
snprintf(tstr, 16, "%s %d.%d.%d", daynames[OswaldClk.wday], OswaldClk.day, OswaldClk.month, OswaldClk.year);
else
snprintf(tstr, 16, "%s %d/%d %d", daynames[OswaldClk.wday], OswaldClk.month, OswaldClk.day, OswaldClk.year);
oswald_write_string(0, 25, FONT_DROID8x12, FALSE, tstr);
gRow = 0;
gColumn = 45;
for (i=0; i<strlen(MainMessage); i++) {
// do not draw a whitespace as first character of a row
if (gRow == 0 && MainMessage[i] == ' ')
continue;
// interpret new line
if (MainMessage[i] == '\n') {
gRow = 0;
gColumn += 9;
continue;
}
gRow += oswald_write_character(gRow, gColumn, FONT_DROID8x12, FALSE, MainMessage[i]);
// wrap to new line if line is full
if (gRow > 90) {
gRow = 0;
gColumn += 9;
}
// OK, screen ends, leave the loop, no matter what
if (gColumn > 86)
i = 255;
}
draw_status_icons();
hal_lcd_update_display();
}

8
ui/oswald_watch_faces.h Normal file
View file

@ -0,0 +1,8 @@
#ifndef _OSWALD_WATCH_FACES_H
#define _OSWALD_WATCH_FACES_H
void DrawLcdAnaClock(boolean show_seconds);
void DrawLcdDigitalClock(boolean show_seconds);
#endif