aboutsummaryrefslogtreecommitdiff
path: root/drivers/gfx_font.c
diff options
context:
space:
mode:
authorFranklin Wei <frankhwei536@gmail.com>2015-02-08 12:15:06 -0500
committerFranklin Wei <frankhwei536@gmail.com>2015-02-08 12:15:06 -0500
commit0d7cde7c4d735ebebd39b988440f50f5889bd29f (patch)
tree7ddc66bfc3c64becdb55af3bb6e33a536421b1a6 /drivers/gfx_font.c
parentea15c8963fa17deaba4356219e481128db66f5bc (diff)
downloadkappa-0d7cde7c4d735ebebd39b988440f50f5889bd29f.zip
kappa-0d7cde7c4d735ebebd39b988440f50f5889bd29f.tar.gz
kappa-0d7cde7c4d735ebebd39b988440f50f5889bd29f.tar.bz2
kappa-0d7cde7c4d735ebebd39b988440f50f5889bd29f.tar.xz
lots of stuff
Diffstat (limited to 'drivers/gfx_font.c')
-rw-r--r--drivers/gfx_font.c1728
1 files changed, 1728 insertions, 0 deletions
diff --git a/drivers/gfx_font.c b/drivers/gfx_font.c
new file mode 100644
index 0000000..311e86d
--- /dev/null
+++ b/drivers/gfx_font.c
@@ -0,0 +1,1728 @@
+#include <stdint.h>
+
+/*
+ * terminal bitmap fallback font
+ */
+
+/* Binary Literals */
+#define b(x) ((uint8_t)b_(0 ## x ## uL))
+#define b_(x) ((x & 1) | (x >> 2 & 2) | (x >> 4 & 4) | (x >> 6 & 8) | (x >> 8 & 16) | (x >> 10 & 32) | (x >> 12 & 64) | (x >> 14 & 128))
+
+const uint8_t gfx_font[][12] = {
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 8 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01111110),
+ b(11000011),
+ b(10000001), /* 4 */
+ b(10100101),
+ b(10000001),
+ b(10111101),
+ b(10011001), /* 8 */
+ b(11000011),
+ b(01111110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01111110),
+ b(11111111),
+ b(11111111), /* 4 */
+ b(11011011),
+ b(11111111),
+ b(11000011),
+ b(11100111), /* 8 */
+ b(11111111),
+ b(01111110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(01000100),
+ b(11101110), /* 4 */
+ b(11111110),
+ b(11111110),
+ b(11111110),
+ b(01111100), /* 8 */
+ b(00111000),
+ b(00010000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00010000),
+ b(00111000),
+ b(01111100), /* 4 */
+ b(11111110),
+ b(11111110),
+ b(01111100),
+ b(00111000), /* 8 */
+ b(00010000),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00011000),
+ b(00111100),
+ b(00111100), /* 4 */
+ b(11111111),
+ b(11100111),
+ b(11100111),
+ b(00011000), /* 8 */
+ b(00011000),
+ b(01111110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00011000),
+ b(00111100),
+ b(01111110), /* 4 */
+ b(11111111),
+ b(11111111),
+ b(01111110),
+ b(00011000), /* 8 */
+ b(00011000),
+ b(01111110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(00111100),
+ b(01111110),
+ b(01111110),
+ b(00111100), /* 8 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(11111111),
+ b(11111111),
+ b(11111111),
+ b(11111111), /* 4 */
+ b(11000011),
+ b(10000001),
+ b(10000001),
+ b(11000011), /* 8 */
+ b(11111111),
+ b(11111111),
+ b(11111111),
+ b(11111111) /* 01 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00111100),
+ b(01111110), /* 4 */
+ b(01100110),
+ b(01000010),
+ b(01000010),
+ b(01100110), /* 8 */
+ b(01111110),
+ b(00111100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(11111111),
+ b(11111111),
+ b(11000011),
+ b(10000001), /* 4 */
+ b(10011001),
+ b(10111101),
+ b(10111101),
+ b(10011001), /* 8 */
+ b(10000001),
+ b(11000011),
+ b(11111111),
+ b(11111111) /* 01 */
+ },
+ { b(00000000),
+ b(00111110),
+ b(00001110),
+ b(00111010), /* 4 */
+ b(01110010),
+ b(11111000),
+ b(11001100),
+ b(11001100), /* 8 */
+ b(11001100),
+ b(01111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00111100),
+ b(01100110),
+ b(01100110), /* 4 */
+ b(01100110),
+ b(00111100),
+ b(00011000),
+ b(01111110), /* 8 */
+ b(00011000),
+ b(00011000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00011111),
+ b(00011001),
+ b(00011001), /* 4 */
+ b(00011111),
+ b(00011000),
+ b(00011000),
+ b(01111000), /* 8 */
+ b(11111000),
+ b(01110000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01111111),
+ b(01100011),
+ b(01111111), /* 4 */
+ b(01100011),
+ b(01100011),
+ b(01100011),
+ b(01100111), /* 8 */
+ b(11100111),
+ b(11100110),
+ b(11000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00011000),
+ b(11011011), /* 4 */
+ b(01111110),
+ b(11100111),
+ b(11100111),
+ b(01111110), /* 8 */
+ b(11011011),
+ b(00011000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(10000000),
+ b(11000000),
+ b(11100000), /* 4 */
+ b(11111000),
+ b(11111110),
+ b(11111000),
+ b(11100000), /* 8 */
+ b(11000000),
+ b(10000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000010),
+ b(00000110),
+ b(00001110), /* 4 */
+ b(00111110),
+ b(11111110),
+ b(00111110),
+ b(00001110), /* 8 */
+ b(00000110),
+ b(00000010),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00011000),
+ b(00111100),
+ b(01111110), /* 4 */
+ b(00011000),
+ b(00011000),
+ b(00011000),
+ b(01111110), /* 8 */
+ b(00111100),
+ b(00011000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01100110),
+ b(01100110),
+ b(01100110), /* 4 */
+ b(01100110),
+ b(01100110),
+ b(00000000),
+ b(00000000), /* 8 */
+ b(01100110),
+ b(01100110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01111111),
+ b(11011011),
+ b(11011011), /* 4 */
+ b(11011011),
+ b(01111011),
+ b(00011011),
+ b(00011011), /* 8 */
+ b(00011011),
+ b(00011011),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01111110),
+ b(01100011),
+ b(00110000), /* 4 */
+ b(00111100),
+ b(01100110),
+ b(01100110),
+ b(00111100), /* 8 */
+ b(00001100),
+ b(11000110),
+ b(01111110),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(11111110), /* 8 */
+ b(11111110),
+ b(11111110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00011000),
+ b(00111100),
+ b(01111110), /* 4 */
+ b(00011000),
+ b(00011000),
+ b(00011000),
+ b(01111110), /* 8 */
+ b(00111100),
+ b(00011000),
+ b(01111110),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00011000),
+ b(00111100),
+ b(01111110), /* 4 */
+ b(00011000),
+ b(00011000),
+ b(00011000),
+ b(00011000), /* 8 */
+ b(00011000),
+ b(00011000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00011000),
+ b(00011000),
+ b(00011000), /* 4 */
+ b(00011000),
+ b(00011000),
+ b(00011000),
+ b(01111110), /* 8 */
+ b(00111100),
+ b(00011000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00011000), /* 4 */
+ b(00001100),
+ b(11111110),
+ b(00001100),
+ b(00011000), /* 8 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00110000), /* 4 */
+ b(01100000),
+ b(11111110),
+ b(01100000),
+ b(00110000), /* 8 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(11000000),
+ b(11000000),
+ b(11111110),
+ b(00000000), /* 8 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00100100), /* 4 */
+ b(01100110),
+ b(11111111),
+ b(01100110),
+ b(00100100), /* 8 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00010000),
+ b(00010000), /* 4 */
+ b(00111000),
+ b(00111000),
+ b(01111100),
+ b(01111100), /* 8 */
+ b(11111110),
+ b(11111110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(11111110),
+ b(11111110), /* 4 */
+ b(01111100),
+ b(01111100),
+ b(00111000),
+ b(00111000), /* 8 */
+ b(00010000),
+ b(00010000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 8 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00110000),
+ b(01111000),
+ b(01111000), /* 4 */
+ b(00110000),
+ b(00110000),
+ b(00000000),
+ b(00110000), /* 8 */
+ b(00110000),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01100110),
+ b(01100110),
+ b(00100100), /* 4 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 8 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01101100),
+ b(01101100),
+ b(11111110), /* 4 */
+ b(01101100),
+ b(01101100),
+ b(01101100),
+ b(11111110), /* 8 */
+ b(01101100),
+ b(01101100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00110000),
+ b(00110000),
+ b(01111100),
+ b(11000000), /* 4 */
+ b(11000000),
+ b(01111000),
+ b(00001100),
+ b(00001100), /* 8 */
+ b(11111000),
+ b(00110000),
+ b(00110000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(11000100),
+ b(11001100), /* 4 */
+ b(00011000),
+ b(00110000),
+ b(01100000),
+ b(11001100), /* 8 */
+ b(10001100),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01110000),
+ b(11011000),
+ b(11011000), /* 4 */
+ b(01110000),
+ b(11111010),
+ b(11011110),
+ b(11001100), /* 8 */
+ b(11011100),
+ b(01110110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00110000),
+ b(00110000),
+ b(00110000), /* 4 */
+ b(01100000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 8 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00001100),
+ b(00011000),
+ b(00110000), /* 4 */
+ b(01100000),
+ b(01100000),
+ b(01100000),
+ b(00110000), /* 8 */
+ b(00011000),
+ b(00001100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01100000),
+ b(00110000),
+ b(00011000), /* 4 */
+ b(00001100),
+ b(00001100),
+ b(00001100),
+ b(00011000), /* 8 */
+ b(00110000),
+ b(01100000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(01100110), /* 4 */
+ b(00111100),
+ b(11111111),
+ b(00111100),
+ b(01100110), /* 8 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /** 4 */
+ b(00011000),
+ b(00011000),
+ b(01111110),
+ b(00011000), /* 8 */
+ b(00011000),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 8 */
+ b(00111000),
+ b(00111000),
+ b(01100000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(00000000),
+ b(00000000),
+ b(11111110),
+ b(00000000), /* 8 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 8 */
+ b(00111000),
+ b(00111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000010),
+ b(00000110), /* 4 */
+ b(00001100),
+ b(00011000),
+ b(00110000),
+ b(01100000), /* 8 */
+ b(11000000),
+ b(10000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01111100),
+ b(11000110),
+ b(11001110), /* 4 */
+ b(11011110),
+ b(11010110),
+ b(11110110),
+ b(11100110), /* 8 */
+ b(11000110),
+ b(01111100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00010000),
+ b(00110000),
+ b(11110000), /* 4 */
+ b(00110000),
+ b(00110000),
+ b(00110000),
+ b(00110000), /* 8 */
+ b(00110000),
+ b(11111100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01111000),
+ b(11001100),
+ b(11001100), /* 4 */
+ b(00001100),
+ b(00011000),
+ b(00110000),
+ b(01100000), /* 8 */
+ b(11001100),
+ b(11111100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01111000),
+ b(11001100),
+ b(00001100), /* 4 */
+ b(00001100),
+ b(00111000),
+ b(00001100),
+ b(00001100), /* 8 */
+ b(11001100),
+ b(01111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00001100),
+ b(00011100),
+ b(00111100), /* 4 */
+ b(01101100),
+ b(11001100),
+ b(11111110),
+ b(00001100), /* 8 */
+ b(00001100),
+ b(00011110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11111100),
+ b(11000000),
+ b(11000000), /* 4 */
+ b(11000000),
+ b(11111000),
+ b(00001100),
+ b(00001100), /* 8 */
+ b(11001100),
+ b(01111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00111000),
+ b(01100000),
+ b(11000000), /* 4 */
+ b(11000000),
+ b(11111000),
+ b(11001100),
+ b(11001100), /* 8 */
+ b(11001100),
+ b(01111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11111110),
+ b(11000110),
+ b(11000110), /* 4 */
+ b(00000110),
+ b(00001100),
+ b(00011000),
+ b(00110000), /* 8 */
+ b(00110000),
+ b(00110000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01111000),
+ b(11001100),
+ b(11001100), /* 4 */
+ b(11001100),
+ b(01111000),
+ b(11001100),
+ b(11001100), /* 8 */
+ b(11001100),
+ b(01111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01111000),
+ b(11001100),
+ b(11001100), /* 4 */
+ b(11001100),
+ b(01111100),
+ b(00011000),
+ b(00011000), /* 8 */
+ b(00110000),
+ b(01110000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00111000), /* 4 */
+ b(00111000),
+ b(00000000),
+ b(00000000),
+ b(00111000), /* 8 */
+ b(00111000),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00111000), /* 4 */
+ b(00111000),
+ b(00000000),
+ b(00000000),
+ b(00111000), /* 8 */
+ b(00111000),
+ b(00011000),
+ b(00110000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00001100),
+ b(00011000),
+ b(00110000), /* 4 */
+ b(01100000),
+ b(11000000),
+ b(01100000),
+ b(00110000), /* 8 */
+ b(00011000),
+ b(00001100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(01111110),
+ b(00000000),
+ b(01111110),
+ b(00000000), /* 8 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01100000),
+ b(00110000),
+ b(00011000), /* 4 */
+ b(00001100),
+ b(00000110),
+ b(00001100),
+ b(00011000), /* 8 */
+ b(00110000),
+ b(01100000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01111000),
+ b(11001100),
+ b(00001100), /* 4 */
+ b(00011000),
+ b(00110000),
+ b(00110000),
+ b(00000000), /* 8 */
+ b(00110000),
+ b(00110000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01111100),
+ b(11000110),
+ b(11000110), /* 4 */
+ b(11011110),
+ b(11010110),
+ b(11011110),
+ b(11000000), /* 8 */
+ b(11000000),
+ b(01111100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00110000),
+ b(01111000),
+ b(11001100), /* 4 */
+ b(11001100),
+ b(11001100),
+ b(11111100),
+ b(11001100), /* 8 */
+ b(11001100),
+ b(11001100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11111100),
+ b(01100110),
+ b(01100110), /* 4 */
+ b(01100110),
+ b(01111100),
+ b(01100110),
+ b(01100110), /* 8 */
+ b(01100110),
+ b(11111100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00111100),
+ b(01100110),
+ b(11000110), /* 4 */
+ b(11000000),
+ b(11000000),
+ b(11000000),
+ b(11000110), /* 8 */
+ b(01100110),
+ b(00111100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11111000),
+ b(01101100),
+ b(01100110), /* 4 */
+ b(01100110),
+ b(01100110),
+ b(01100110),
+ b(01100110), /* 8 */
+ b(01101100),
+ b(11111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11111110),
+ b(01100010),
+ b(01100000), /* 4 */
+ b(01100100),
+ b(01111100),
+ b(01100100),
+ b(01100000), /* 8 */
+ b(01100010),
+ b(11111110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11111110),
+ b(01100110),
+ b(01100010), /* 4 */
+ b(01100100),
+ b(01111100),
+ b(01100100),
+ b(01100000), /* 8 */
+ b(01100000),
+ b(11110000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00111100),
+ b(01100110),
+ b(11000110), /* 4 */
+ b(11000000),
+ b(11000000),
+ b(11001110),
+ b(11000110), /* 8 */
+ b(01100110),
+ b(00111110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11001100),
+ b(11001100),
+ b(11001100), /* 4 */
+ b(11001100),
+ b(11111100),
+ b(11001100),
+ b(11001100), /* 8 */
+ b(11001100),
+ b(11001100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01111000),
+ b(00110000),
+ b(00110000), /* 4 */
+ b(00110000),
+ b(00110000),
+ b(00110000),
+ b(00110000), /* 8 */
+ b(00110000),
+ b(01111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00011110),
+ b(00001100),
+ b(00001100), /* 4 */
+ b(00001100),
+ b(00001100),
+ b(11001100),
+ b(11001100), /* 8 */
+ b(11001100),
+ b(01111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11100110),
+ b(01100110),
+ b(01101100), /* 4 */
+ b(01101100),
+ b(01111000),
+ b(01101100),
+ b(01101100), /* 8 */
+ b(01100110),
+ b(11100110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11110000),
+ b(01100000),
+ b(01100000), /* 4 */
+ b(01100000),
+ b(01100000),
+ b(01100010),
+ b(01100110), /* 8 */
+ b(01100110),
+ b(11111110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11000110),
+ b(11101110),
+ b(11111110), /* 4 */
+ b(11111110),
+ b(11010110),
+ b(11000110),
+ b(11000110), /* 8 */
+ b(11000110),
+ b(11000110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11000110),
+ b(11000110),
+ b(11100110), /* 4 */
+ b(11110110),
+ b(11111110),
+ b(11011110),
+ b(11001110), /* 8 */
+ b(11000110),
+ b(11000110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00111000),
+ b(01101100),
+ b(11000110), /* 4 */
+ b(11000110),
+ b(11000110),
+ b(11000110),
+ b(11000110), /* 8 */
+ b(01101100),
+ b(00111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11111100),
+ b(01100110),
+ b(01100110), /* 4 */
+ b(01100110),
+ b(01111100),
+ b(01100000),
+ b(01100000), /* 8 */
+ b(01100000),
+ b(11110000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00111000),
+ b(01101100),
+ b(11000110), /* 4 */
+ b(11000110),
+ b(11000110),
+ b(11001110),
+ b(11011110), /* 8 */
+ b(01111100),
+ b(00001100),
+ b(00011110),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11111100),
+ b(01100110),
+ b(01100110), /* 4 */
+ b(01100110),
+ b(01111100),
+ b(01101100),
+ b(01100110), /* 8 */
+ b(01100110),
+ b(11100110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01111000),
+ b(11001100),
+ b(11001100), /* 4 */
+ b(11000000),
+ b(01110000),
+ b(00011000),
+ b(11001100), /* 8 */
+ b(11001100),
+ b(01111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11111100),
+ b(10110100),
+ b(00110000), /* 4 */
+ b(00110000),
+ b(00110000),
+ b(00110000),
+ b(00110000), /* 8 */
+ b(00110000),
+ b(01111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11001100),
+ b(11001100),
+ b(11001100), /* 4 */
+ b(11001100),
+ b(11001100),
+ b(11001100),
+ b(11001100), /* 8 */
+ b(11001100),
+ b(01111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11001100),
+ b(11001100),
+ b(11001100), /* 4 */
+ b(11001100),
+ b(11001100),
+ b(11001100),
+ b(11001100), /* 8 */
+ b(01111000),
+ b(00110000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11000110),
+ b(11000110),
+ b(11000110), /* 4 */
+ b(11000110),
+ b(11010110),
+ b(11010110),
+ b(01101100), /* 8 */
+ b(01101100),
+ b(01101100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11001100),
+ b(11001100),
+ b(11001100), /* 4 */
+ b(01111000),
+ b(00110000),
+ b(01111000),
+ b(11001100), /* 8 */
+ b(11001100),
+ b(11001100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11001100),
+ b(11001100),
+ b(11001100), /* 4 */
+ b(11001100),
+ b(01111000),
+ b(00110000),
+ b(00110000), /* 8 */
+ b(00110000),
+ b(01111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11111110),
+ b(11001110),
+ b(10011000), /* 4 */
+ b(00011000),
+ b(00110000),
+ b(01100000),
+ b(01100010), /* 8 */
+ b(11000110),
+ b(11111110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00111100),
+ b(00110000),
+ b(00110000), /* 4 */
+ b(00110000),
+ b(00110000),
+ b(00110000),
+ b(00110000), /* 8 */
+ b(00110000),
+ b(00111100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(10000000),
+ b(11000000),
+ b(01100000), /* 4 */
+ b(00110000),
+ b(00011000),
+ b(00001100),
+ b(00000110), /* 8 */
+ b(00000010),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00111100),
+ b(00001100),
+ b(00001100), /* 4 */
+ b(00001100),
+ b(00001100),
+ b(00001100),
+ b(00001100), /* 8 */
+ b(00001100),
+ b(00111100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00010000),
+ b(00111000),
+ b(01101100),
+ b(11000110), /* 4 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 8 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 8 */
+ b(00000000),
+ b(00000000),
+ b(11111111),
+ b(00000000) /* 12 */
+ },
+ { b(00110000),
+ b(00110000),
+ b(00011000),
+ b(00000000), /* 4 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 8 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(01111000),
+ b(00001100),
+ b(01111100),
+ b(11001100), /* 8 */
+ b(11001100),
+ b(01110110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11100000),
+ b(01100000),
+ b(01100000), /* 4 */
+ b(01111100),
+ b(01100110),
+ b(01100110),
+ b(01100110), /* 8 */
+ b(01100110),
+ b(11011100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(01111000),
+ b(11001100),
+ b(11000000),
+ b(11000000), /* 8 */
+ b(11001100),
+ b(01111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00011100),
+ b(00001100),
+ b(00001100), /* 4 */
+ b(01111100),
+ b(11001100),
+ b(11001100),
+ b(11001100), /* 8 */
+ b(11001100),
+ b(01110110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(01111000),
+ b(11001100),
+ b(11111100),
+ b(11000000), /* 8 */
+ b(11001100),
+ b(01111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00111000),
+ b(01101100),
+ b(01100000), /* 4 */
+ b(01100000),
+ b(11111000),
+ b(01100000),
+ b(01100000), /* 8 */
+ b(01100000),
+ b(11110000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(01110110),
+ b(11001100),
+ b(11001100),
+ b(11001100), /* 8 */
+ b(01111100),
+ b(00001100),
+ b(11001100),
+ b(01111000) /* 12 */
+ },
+ { b(00000000),
+ b(11100000),
+ b(01100000),
+ b(01100000), /* 4 */
+ b(01101100),
+ b(01110110),
+ b(01100110),
+ b(01100110), /* 8 */
+ b(01100110),
+ b(11100110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00011000),
+ b(00011000),
+ b(00000000), /* 4 */
+ b(01111000),
+ b(00011000),
+ b(00011000),
+ b(00011000), /* 8 */
+ b(00011000),
+ b(01111110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00001100),
+ b(00001100),
+ b(00000000), /* 4 */
+ b(00011100),
+ b(00001100),
+ b(00001100),
+ b(00001100), /* 8 */
+ b(00001100),
+ b(11001100),
+ b(11001100),
+ b(01111000) /* 12 */
+ },
+ { b(00000000),
+ b(11100000),
+ b(01100000),
+ b(01100000), /* 4 */
+ b(01100110),
+ b(01101100),
+ b(01111000),
+ b(01101100), /* 8 */
+ b(01100110),
+ b(11100110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01111000),
+ b(00011000),
+ b(00011000), /* 4 */
+ b(00011000),
+ b(00011000),
+ b(00011000),
+ b(00011000), /* 8 */
+ b(00011000),
+ b(01111110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(11111100),
+ b(11010110),
+ b(11010110),
+ b(11010110), /* 8 */
+ b(11010110),
+ b(11000110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(11111000),
+ b(11001100),
+ b(11001100),
+ b(11001100), /* 8 */
+ b(11001100),
+ b(11001100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(01111000),
+ b(11001100),
+ b(11001100),
+ b(11001100), /* 8 */
+ b(11001100),
+ b(01111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(11011100),
+ b(01100110),
+ b(01100110),
+ b(01100110), /* 8 */
+ b(01100110),
+ b(01111100),
+ b(01100000),
+ b(11110000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(01110110),
+ b(11001100),
+ b(11001100),
+ b(11001100), /* 8 */
+ b(11001100),
+ b(01111100),
+ b(00001100),
+ b(00011110) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(11101100),
+ b(01101110),
+ b(01110110),
+ b(01100000), /* 8 */
+ b(01100000),
+ b(11110000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(01111000),
+ b(11001100),
+ b(01100000),
+ b(00011000), /* 8 */
+ b(11001100),
+ b(01111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00100000),
+ b(01100000), /* 4 */
+ b(11111100),
+ b(01100000),
+ b(01100000),
+ b(01100000), /* 8 */
+ b(01101100),
+ b(00111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(11001100),
+ b(11001100),
+ b(11001100),
+ b(11001100), /* 8 */
+ b(11001100),
+ b(01110110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(11001100),
+ b(11001100),
+ b(11001100),
+ b(11001100), /* 8 */
+ b(01111000),
+ b(00110000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(11000110),
+ b(11000110),
+ b(11010110),
+ b(11010110), /* 8 */
+ b(01101100),
+ b(01101100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(11000110),
+ b(01101100),
+ b(00111000),
+ b(00111000), /* 8 */
+ b(01101100),
+ b(11000110),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(01100110),
+ b(01100110),
+ b(01100110),
+ b(01100110), /* 8 */
+ b(00111100),
+ b(00001100),
+ b(00011000),
+ b(11110000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 4 */
+ b(11111100),
+ b(10001100),
+ b(00011000),
+ b(01100000), /* 8 */
+ b(11000100),
+ b(11111100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00011100),
+ b(00110000),
+ b(00110000), /* 4 */
+ b(01100000),
+ b(11000000),
+ b(01100000),
+ b(00110000), /* 8 */
+ b(00110000),
+ b(00011100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00011000),
+ b(00011000),
+ b(00011000), /* 4 */
+ b(00011000),
+ b(00000000),
+ b(00011000),
+ b(00011000), /* 8 */
+ b(00011000),
+ b(00011000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11100000),
+ b(00110000),
+ b(00110000), /* 4 */
+ b(00011000),
+ b(00001100),
+ b(00011000),
+ b(00110000), /* 8 */
+ b(00110000),
+ b(11100000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01110011),
+ b(11011010),
+ b(11001110), /* 4 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000), /* 8 */
+ b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00000000),
+ b(00000000),
+ b(00010000), /* 4 */
+ b(00111000),
+ b(01101100),
+ b(11000110),
+ b(11000110), /* 8 */
+ b(11111110),
+ b(00000000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01000100),
+ b(01101100),
+ b(00111000), /* 4 */
+ b(00110000),
+ b(01100000),
+ b(11000000),
+ b(11000000), /* 8 */
+ b(01100000),
+ b(00111000),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(00110000),
+ b(00110000),
+ b(11111110), /* 4 */
+ b(00110000),
+ b(00110000),
+ b(01111010),
+ b(10110110), /* 8 */
+ b(01111100),
+ b(00110010),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(11111110),
+ b(00001100),
+ b(00011000), /* 4 */
+ b(00110000),
+ b(00011000),
+ b(00001100),
+ b(01110110), /* 8 */
+ b(11000110),
+ b(01111100),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+ { b(00000000),
+ b(01100110),
+ b(01100110),
+ b(01100110), /* 4 */
+ b(01100110),
+ b(00000000),
+ b(00000000),
+ b(00111100), /* 8 */
+ b(01100110),
+ b(11000011),
+ b(00000000),
+ b(00000000) /* 12 */
+ },
+};