1 #ifdef HAVE_DREAMBOX_HARDWARE
14 FT_Error
LCD_FaceRequester(FTC_FaceID face_id
, FT_Library library
, FT_Pointer request_data
, FT_Face
*aface
)
16 return ((CLCDDisplay
*)request_data
)->FTC_Face_Requester(face_id
, aface
);
19 FT_Error
CLCDDisplay::FTC_Face_Requester(FTC_FaceID face_id
, FT_Face
* aface
)
22 if ((error
=FT_New_Face(library
, FONT
, 0, aface
)))
24 printf(" failed: %s", strerror(error
));
27 FT_Select_Charmap(*aface
, ft_encoding_unicode
);
32 CLCDDisplay::CLCDDisplay()
35 int maxbytes
=4*1024*1024;
37 if((fd
= open(LCD_DEV
,O_RDWR
)) < 0)
39 perror(LCD_DEV
); return;
41 //clear the display geht nicht
42 if ( ioctl(fd
,LCD_IOCTL_CLEAR
) < 0)
44 perror("clear failed");return;
46 //graphic (binary) mode
48 if ( ioctl(fd
,LCD_IOCTL_ASC_MODE
,&i
) < 0 )
50 perror("graphic mode failed");
57 if (error
= FT_Init_FreeType(&library
))
58 printf("[FONT] <FT_Init_FreeType failed with Errorcode 0x%.2X>", error
);
60 if((error
= FTC_Manager_New(library
, 10, 20, maxbytes
, LCD_FaceRequester
, this, &manager
)))
62 printf("[FONT] <FTC_Manager_New failed with Errorcode 0x%.2X>\n", error
);
63 FT_Done_FreeType(library
);
65 if((error
= FTC_SBitCache_New(manager
, &cache
)))
67 printf("[FONT] <FTC_SBitCache_New failed with Errorcode 0x%.2X>\n", error
);
68 FTC_Manager_Done(manager
);
69 FT_Done_FreeType(library
);
72 if((FTC_Manager_Lookup_Face(manager
, (char*)FONT
, &face
)))
74 printf("[FONT] <FTC_Manager_Lookup_Face failed with Errorcode 0x%.2X>\n", error
);
75 FTC_Manager_Done(manager
);
76 FT_Done_FreeType(library
);
79 use_kerning
= FT_HAS_KERNING(face
);
81 desc
.font
.face_id
= (char*)FONT
;
82 #if FREETYPE_MAJOR == 2 && FREETYPE_MINOR == 0
83 desc
.type
= ftc_image_mono
;
85 desc
.flags
= FT_LOAD_MONOCHROME
;
89 printf("[LCD] available.\n");
93 CLCDDisplay::~CLCDDisplay()
97 FTC_Manager_Done(manager
);
98 FT_Done_FreeType(library
);
102 int CLCDDisplay::invalid_col (int x
)
104 if( x
> LCD_COLS
) return -1;
105 if( x
< 0 ) return -1;
109 int CLCDDisplay::invalid_row (int y
)
111 if( y
> LCD_ROWS
* 8 ) return -1;
112 if( y
< 0) return -1;
117 void CLCDDisplay::convert_data ()
119 unsigned int x
, y
, z
;
122 for (x
= 0; x
< LCD_COLS
; x
++)
124 for (y
= 0; y
< LCD_ROWS
; y
++)
128 for (z
= 0; z
< 8; z
++)
129 if (raw
[y
* 8 + z
][x
] == 1)
138 void CLCDDisplay::clear()
142 draw_fill_rect (-1, -1, 120, 64, PIXEL_OFF
);
147 void CLCDDisplay::update()
152 if ( write(fd
, lcd
, LCD_BUFFER_SIZE
) < 0)
153 perror("lcdd: CLCDDisplay::update(): write()");
157 void CLCDDisplay::draw_point(const int x
, const int y
, const int state
)
159 if ((x
< 0) || (x
>= LCD_COLS
) || (y
< 0) || (y
>= (LCD_ROWS
* 8)))
162 if (state
== LCD_PIXEL_INV
)
169 void CLCDDisplay::draw_line(const int x1
, const int y1
, const int x2
, const int y2
, const int state
)
174 int dx
= abs (x1
- x2
);
175 int dy
= abs (y1
- y2
);
185 int twoDyDx
= 2 * (dy
-dx
);
192 step
= y1
< y2
? -1 : 1;
199 step
= y2
< y1
? -1 : 1;
202 draw_point(x
, y
, state
);
214 draw_point(x
, y
, state
);
221 int twoDxDy
= 2 * (dx
-dy
);
228 step
= x1
< x2
? -1 : 1;
235 step
= x2
< x1
? -1 : 1;
238 draw_point(x
, y
, state
);
250 draw_point(x
, y
, state
);
256 void CLCDDisplay::draw_fill_rect (int left
,int top
,int right
,int bottom
,int state
)
262 for(x
= left
+ 1;x
< right
;x
++) {
263 for(y
= top
+ 1;y
< bottom
;y
++) {
264 draw_point(x
,y
,state
);
269 bool CLCDDisplay::load_png(const char * const filename
)
278 unsigned int number_passes
;
286 bool ret_value
= false;
288 if ((fh
= fopen(filename
, "rb")))
290 if ((png_ptr
= png_create_read_struct(PNG_LIBPNG_VER_STRING
, NULL
, NULL
, NULL
)))
292 if (!(info_ptr
= png_create_info_struct(png_ptr
)))
293 png_destroy_read_struct(&png_ptr
, (png_infopp
)NULL
, (png_infopp
)NULL
);
296 if (!(setjmp(png_ptr
->jmpbuf
)))
298 png_init_io(png_ptr
,fh
);
300 png_read_info(png_ptr
, info_ptr
);
301 png_get_IHDR(png_ptr
, info_ptr
, &width
, &height
, &bit_depth
, &color_type
, &interlace_type
, NULL
, NULL
);
304 (color_type
== PNG_COLOR_TYPE_PALETTE
) &&
306 (width
== LCD_COLS
) &&
307 (height
== (LCD_ROWS
* 8))
310 png_set_packing(png_ptr
); /* expand to 1 byte blocks */
312 number_passes
= png_set_interlace_handling(png_ptr
);
313 png_read_update_info(png_ptr
,info_ptr
);
315 if (width
== png_get_rowbytes(png_ptr
, info_ptr
))
319 for (pass
= 0; pass
< number_passes
; pass
++)
321 fbptr
= (png_byte
*)raw
;
322 for (i
= 0; i
< height
; i
++, fbptr
+= width
)
323 png_read_row(png_ptr
, fbptr
, NULL
);
325 png_read_end(png_ptr
, info_ptr
);
329 png_destroy_read_struct(&png_ptr
, &info_ptr
, (png_infopp
)NULL
);
337 #ifdef USEFREETYPELCD
338 void CLCDDisplay::RenderString(std::string word
, int sx
, int sy
, int maxwidth
, int layout
, int size
, int state
)
340 int stringlen
, ex
, charwidth
;
341 unsigned char *string
= ((unsigned char*)word
.c_str());
343 desc
.font
.pix_width
= desc
.font
.pix_height
= size
;
347 stringlen
= GetStringLen(string
);
350 case CENTER
: if(stringlen
< maxwidth
) sx
+= (maxwidth
- stringlen
)/2;
353 case RIGHT
: if(stringlen
< maxwidth
) sx
+= maxwidth
- stringlen
;
361 while(*string
!= '\0')
363 if((charwidth
= RenderChar(*string
, sx
, sy
, ex
, state
)) == -1) return; /* string > maxwidth */
369 int CLCDDisplay::GetStringLen(unsigned char *string
)
375 while(*string
!= '\0')
377 stringlen
+= RenderChar(*string
, -1, -1, -1, -1);
383 int CLCDDisplay::RenderChar(FT_ULong currentchar
, int sx
, int sy
, int ex
, int state
)
392 if(!(glyphindex
= FT_Get_Char_Index(face
, currentchar
)))
394 printf("TuxMail <FT_Get_Char_Index for Char \"%c\" failed: \"undefined character code\">\n", (int)currentchar
);return 0;
397 if((error
= FTC_SBitCache_Lookup(cache
, &desc
, glyphindex
, &sbit
, &anode
)))
399 printf("TuxMail <FTC_SBitCache_Lookup for Char \"%c\" failed with Errorcode 0x%.2X>\n", (int)currentchar
, error
);return 0;
404 FT_Get_Kerning(face
, prev_glyphindex
, glyphindex
, ft_kerning_default
, &kerning
);
405 prev_glyphindex
= glyphindex
;
413 if(sx
+ sbit
->xadvance
>= ex
) return -1;
415 for(int row
= 0; row
< sbit
->height
; row
++)
417 for(int pitch
= 0; pitch
< sbit
->pitch
; pitch
++)
419 for(int bit
= 7; bit
>= 0; bit
--)
421 if(pitch
*8 + 7-bit
>= sbit
->width
) break;
423 if((sbit
->buffer
[row
* sbit
->pitch
+ pitch
]) & 1<<bit
)
425 draw_point((sx
+ sbit
->left
+ kerning
.x
+ x
),(sy
- sbit
->top
+ y
)+10,state
);
435 return sbit
->xadvance
+ kerning
.x
;
440 #define FONTDATAMAX 2048
442 static unsigned char font
[FONTDATAMAX
] = {
1000 0x60, /* 01100000 */
1001 0x60, /* 01100000 */
1002 0x00, /* 00000000 */
1005 0x7c, /* 01111100 */
1006 0xc6, /* 11000110 */
1007 0xc6, /* 11000110 */
1008 0x7c, /* 01111100 */
1009 0xc6, /* 11000110 */
1010 0xc6, /* 11000110 */
1011 0x7c, /* 01111100 */
1012 0x00, /* 00000000 */
1015 0x7c, /* 01111100 */
1016 0xc6, /* 11000110 */
1017 0xc6, /* 11000110 */
1018 0x7e, /* 01111110 */
1019 0x06, /* 00000110 */
1020 0x0c, /* 00001100 */
1021 0x38, /* 00111000 */
1022 0x00, /* 00000000 */
1025 0x00, /* 00000000 */
1026 0x18, /* 00011000 */
1027 0x18, /* 00011000 */
1028 0x00, /* 00000000 */
1029 0x00, /* 00000000 */
1030 0x18, /* 00011000 */
1031 0x18, /* 00011000 */
1032 0x00, /* 00000000 */
1035 0x00, /* 00000000 */
1036 0x18, /* 00011000 */
1037 0x18, /* 00011000 */
1038 0x00, /* 00000000 */
1039 0x00, /* 00000000 */
1040 0x18, /* 00011000 */
1041 0x18, /* 00011000 */
1042 0x30, /* 00110000 */
1045 0x0c, /* 00001100 */
1046 0x18, /* 00011000 */
1047 0x30, /* 00110000 */
1048 0x60, /* 01100000 */
1049 0x30, /* 00110000 */
1050 0x18, /* 00011000 */
1051 0x0c, /* 00001100 */
1052 0x00, /* 00000000 */
1055 0x00, /* 00000000 */
1056 0x00, /* 00000000 */
1057 0x7e, /* 01111110 */
1058 0x00, /* 00000000 */
1059 0x00, /* 00000000 */
1060 0x7e, /* 01111110 */
1061 0x00, /* 00000000 */
1062 0x00, /* 00000000 */
1065 0x30, /* 00110000 */
1066 0x18, /* 00011000 */
1067 0x0c, /* 00001100 */
1068 0x06, /* 00000110 */
1069 0x0c, /* 00001100 */
1070 0x18, /* 00011000 */
1071 0x30, /* 00110000 */
1072 0x00, /* 00000000 */
1075 0x3c, /* 00111100 */
1076 0x66, /* 01100110 */
1077 0x06, /* 00000110 */
1078 0x0c, /* 00001100 */
1079 0x18, /* 00011000 */
1080 0x00, /* 00000000 */
1081 0x18, /* 00011000 */
1082 0x00, /* 00000000 */
1085 0x7c, /* 01111100 */
1086 0xc6, /* 11000110 */
1087 0xde, /* 11011110 */
1088 0xde, /* 11011110 */
1089 0xde, /* 11011110 */
1090 0xc0, /* 11000000 */
1091 0x7c, /* 01111100 */
1092 0x00, /* 00000000 */
1095 0x10, /* 00010000 */
1096 0x38, /* 00111000 */
1097 0x6c, /* 01101100 */
1098 0xc6, /* 11000110 */
1099 0xfe, /* 11111110 */
1100 0xc6, /* 11000110 */
1101 0xc6, /* 11000110 */
1102 0x00, /* 00000000 */
1105 0xfc, /* 11111100 */
1106 0xc6, /* 11000110 */
1107 0xc6, /* 11000110 */
1108 0xfc, /* 11111100 */
1109 0xc6, /* 11000110 */
1110 0xc6, /* 11000110 */
1111 0xfc, /* 11111100 */
1112 0x00, /* 00000000 */
1115 0x7c, /* 01111100 */
1116 0xc6, /* 11000110 */
1117 0xc0, /* 11000000 */
1118 0xc0, /* 11000000 */
1119 0xc0, /* 11000000 */
1120 0xc6, /* 11000110 */
1121 0x7c, /* 01111100 */
1122 0x00, /* 00000000 */
1125 0xfc, /* 11111100 */
1126 0xc6, /* 11000110 */
1127 0xc6, /* 11000110 */
1128 0xc6, /* 11000110 */
1129 0xc6, /* 11000110 */
1130 0xc6, /* 11000110 */
1131 0xfc, /* 11111100 */
1132 0x00, /* 00000000 */
1135 0xfe, /* 11111110 */
1136 0xc0, /* 11000000 */
1137 0xc0, /* 11000000 */
1138 0xf8, /* 11111000 */
1139 0xc0, /* 11000000 */
1140 0xc0, /* 11000000 */
1141 0xfe, /* 11111110 */
1142 0x00, /* 00000000 */
1145 0xfe, /* 11111110 */
1146 0xc0, /* 11000000 */
1147 0xc0, /* 11000000 */
1148 0xf8, /* 11111000 */
1149 0xc0, /* 11000000 */
1150 0xc0, /* 11000000 */
1151 0xc0, /* 11000000 */
1152 0x00, /* 00000000 */
1155 0x7c, /* 01111100 */
1156 0xc6, /* 11000110 */
1157 0xc0, /* 11000000 */
1158 0xce, /* 11001110 */
1159 0xc6, /* 11000110 */
1160 0xc6, /* 11000110 */
1161 0x7c, /* 01111100 */
1162 0x00, /* 00000000 */
1165 0xc6, /* 11000110 */
1166 0xc6, /* 11000110 */
1167 0xc6, /* 11000110 */
1168 0xfe, /* 11111110 */
1169 0xc6, /* 11000110 */
1170 0xc6, /* 11000110 */
1171 0xc6, /* 11000110 */
1172 0x00, /* 00000000 */
1175 0x7e, /* 01111110 */
1176 0x18, /* 00011000 */
1177 0x18, /* 00011000 */
1178 0x18, /* 00011000 */
1179 0x18, /* 00011000 */
1180 0x18, /* 00011000 */
1181 0x7e, /* 01111110 */
1182 0x00, /* 00000000 */
1185 0x06, /* 00000110 */
1186 0x06, /* 00000110 */
1187 0x06, /* 00000110 */
1188 0x06, /* 00000110 */
1189 0xc6, /* 11000110 */
1190 0xc6, /* 11000110 */
1191 0x7c, /* 01111100 */
1192 0x00, /* 00000000 */
1195 0xc6, /* 11000110 */
1196 0xcc, /* 11001100 */
1197 0xd8, /* 11011000 */
1198 0xf0, /* 11110000 */
1199 0xd8, /* 11011000 */
1200 0xcc, /* 11001100 */
1201 0xc6, /* 11000110 */
1202 0x00, /* 00000000 */
1205 0xc0, /* 11000000 */
1206 0xc0, /* 11000000 */
1207 0xc0, /* 11000000 */
1208 0xc0, /* 11000000 */
1209 0xc0, /* 11000000 */
1210 0xc0, /* 11000000 */
1211 0xfe, /* 11111110 */
1212 0x00, /* 00000000 */
1215 0x82, /* 10000010 */
1216 0xc6, /* 11000110 */
1217 0xee, /* 11101110 */
1218 0xfe, /* 11111110 */
1219 0xd6, /* 11010110 */
1220 0xc6, /* 11000110 */
1221 0xc6, /* 11000110 */
1222 0x00, /* 00000000 */
1225 0xc6, /* 11000110 */
1226 0xe6, /* 11100110 */
1227 0xf6, /* 11110110 */
1228 0xde, /* 11011110 */
1229 0xce, /* 11001110 */
1230 0xc6, /* 11000110 */
1231 0xc6, /* 11000110 */
1232 0x00, /* 00000000 */
1235 0x7c, /* 01111100 */
1236 0xc6, /* 11000110 */
1237 0xc6, /* 11000110 */
1238 0xc6, /* 11000110 */
1239 0xc6, /* 11000110 */
1240 0xc6, /* 11000110 */
1241 0x7c, /* 01111100 */
1242 0x00, /* 00000000 */
1245 0xfc, /* 11111100 */
1246 0xc6, /* 11000110 */
1247 0xc6, /* 11000110 */
1248 0xfc, /* 11111100 */
1249 0xc0, /* 11000000 */
1250 0xc0, /* 11000000 */
1251 0xc0, /* 11000000 */
1252 0x00, /* 00000000 */
1255 0x7c, /* 01111100 */
1256 0xc6, /* 11000110 */
1257 0xc6, /* 11000110 */
1258 0xc6, /* 11000110 */
1259 0xf6, /* 11110110 */
1260 0xde, /* 11011110 */
1261 0x7c, /* 01111100 */
1262 0x06, /* 00000110 */
1265 0xfc, /* 11111100 */
1266 0xc6, /* 11000110 */
1267 0xc6, /* 11000110 */
1268 0xfc, /* 11111100 */
1269 0xd8, /* 11011000 */
1270 0xcc, /* 11001100 */
1271 0xc6, /* 11000110 */
1272 0x00, /* 00000000 */
1275 0x7c, /* 01111100 */
1276 0xc6, /* 11000110 */
1277 0x60, /* 01100000 */
1278 0x38, /* 00111000 */
1279 0x0c, /* 00001100 */
1280 0xc6, /* 11000110 */
1281 0x7c, /* 01111100 */
1282 0x00, /* 00000000 */
1285 0x7e, /* 01111110 */
1286 0x18, /* 00011000 */
1287 0x18, /* 00011000 */
1288 0x18, /* 00011000 */
1289 0x18, /* 00011000 */
1290 0x18, /* 00011000 */
1291 0x18, /* 00011000 */
1292 0x00, /* 00000000 */
1295 0xc6, /* 11000110 */
1296 0xc6, /* 11000110 */
1297 0xc6, /* 11000110 */
1298 0xc6, /* 11000110 */
1299 0xc6, /* 11000110 */
1300 0xc6, /* 11000110 */
1301 0x7c, /* 01111100 */
1302 0x00, /* 00000000 */
1305 0xc3, /* 11000011 */
1306 0xc3, /* 11000011 */
1307 0x66, /* 01100110 */
1308 0x66, /* 01100110 */
1309 0x3c, /* 00111100 */
1310 0x3c, /* 00111100 */
1311 0x18, /* 00011000 */
1312 0x00, /* 00000000 */
1315 0xc6, /* 11000110 */
1316 0xc6, /* 11000110 */
1317 0xc6, /* 11000110 */
1318 0xd6, /* 11010110 */
1319 0xfe, /* 11111110 */
1320 0xee, /* 11101110 */
1321 0xc6, /* 11000110 */
1322 0x00, /* 00000000 */
1325 0xc3, /* 11000011 */
1326 0x66, /* 01100110 */
1327 0x3c, /* 00111100 */
1328 0x18, /* 00011000 */
1329 0x3c, /* 00111100 */
1330 0x66, /* 01100110 */
1331 0xc3, /* 11000011 */
1332 0x00, /* 00000000 */
1335 0xc3, /* 11000011 */
1336 0xc3, /* 11000011 */
1337 0x66, /* 01100110 */
1338 0x3c, /* 00111100 */
1339 0x18, /* 00011000 */
1340 0x18, /* 00011000 */
1341 0x18, /* 00011000 */
1342 0x00, /* 00000000 */
1345 0xfe, /* 11111110 */
1346 0x06, /* 00000110 */
1347 0x0c, /* 00001100 */
1348 0x18, /* 00011000 */
1349 0x30, /* 00110000 */
1350 0x60, /* 01100000 */
1351 0xfe, /* 11111110 */
1352 0x00, /* 00000000 */
1355 0x3c, /* 00111100 */
1356 0x30, /* 00110000 */
1357 0x30, /* 00110000 */
1358 0x30, /* 00110000 */
1359 0x30, /* 00110000 */
1360 0x30, /* 00110000 */
1361 0x3c, /* 00111100 */
1362 0x00, /* 00000000 */
1365 0xc0, /* 11000000 */
1366 0x60, /* 01100000 */
1367 0x30, /* 00110000 */
1368 0x18, /* 00011000 */
1369 0x0c, /* 00001100 */
1370 0x06, /* 00000110 */
1371 0x03, /* 00000011 */
1372 0x00, /* 00000000 */
1375 0x3c, /* 00111100 */
1376 0x0c, /* 00001100 */
1377 0x0c, /* 00001100 */
1378 0x0c, /* 00001100 */
1379 0x0c, /* 00001100 */
1380 0x0c, /* 00001100 */
1381 0x3c, /* 00111100 */
1382 0x00, /* 00000000 */
1385 0x10, /* 00010000 */
1386 0x38, /* 00111000 */
1387 0x6c, /* 01101100 */
1388 0xc6, /* 11000110 */
1389 0x00, /* 00000000 */
1390 0x00, /* 00000000 */
1391 0x00, /* 00000000 */
1392 0x00, /* 00000000 */
1395 0x00, /* 00000000 */
1396 0x00, /* 00000000 */
1397 0x00, /* 00000000 */
1398 0x00, /* 00000000 */
1399 0x00, /* 00000000 */
1400 0x00, /* 00000000 */
1401 0x00, /* 00000000 */
1402 0xfe, /* 11111110 */
1405 0x18, /* 00011000 */
1406 0x18, /* 00011000 */
1407 0x0c, /* 00001100 */
1408 0x00, /* 00000000 */
1409 0x00, /* 00000000 */
1410 0x00, /* 00000000 */
1411 0x00, /* 00000000 */
1412 0x00, /* 00000000 */
1415 0x00, /* 00000000 */
1416 0x00, /* 00000000 */
1417 0x7c, /* 01111100 */
1418 0x06, /* 00000110 */
1419 0x7e, /* 01111110 */
1420 0xc6, /* 11000110 */
1421 0x7e, /* 01111110 */
1422 0x00, /* 00000000 */
1425 0xc0, /* 11000000 */
1426 0xc0, /* 11000000 */
1427 0xfc, /* 11111100 */
1428 0xc6, /* 11000110 */
1429 0xc6, /* 11000110 */
1430 0xc6, /* 11000110 */
1431 0xfc, /* 11111100 */
1432 0x00, /* 00000000 */
1435 0x00, /* 00000000 */
1436 0x00, /* 00000000 */
1437 0x7c, /* 01111100 */
1438 0xc6, /* 11000110 */
1439 0xc0, /* 11000000 */
1440 0xc6, /* 11000110 */
1441 0x7c, /* 01111100 */
1442 0x00, /* 00000000 */
1445 0x06, /* 00000110 */
1446 0x06, /* 00000110 */
1447 0x7e, /* 01111110 */
1448 0xc6, /* 11000110 */
1449 0xc6, /* 11000110 */
1450 0xc6, /* 11000110 */
1451 0x7e, /* 01111110 */
1452 0x00, /* 00000000 */
1455 0x00, /* 00000000 */
1456 0x00, /* 00000000 */
1457 0x7c, /* 01111100 */
1458 0xc6, /* 11000110 */
1459 0xfe, /* 11111110 */
1460 0xc0, /* 11000000 */
1461 0x7c, /* 01111100 */
1462 0x00, /* 00000000 */
1465 0x3c, /* 00111100 */
1466 0x66, /* 01100110 */
1467 0x60, /* 01100000 */
1468 0xf0, /* 11110000 */
1469 0x60, /* 01100000 */
1470 0x60, /* 01100000 */
1471 0x60, /* 01100000 */
1472 0x00, /* 00000000 */
1475 0x00, /* 00000000 */
1476 0x00, /* 00000000 */
1477 0x7e, /* 01111110 */
1478 0xc6, /* 11000110 */
1479 0xc6, /* 11000110 */
1480 0x7e, /* 01111110 */
1481 0x06, /* 00000110 */
1482 0x7c, /* 01111100 */
1485 0xc0, /* 11000000 */
1486 0xc0, /* 11000000 */
1487 0xfc, /* 11111100 */
1488 0xc6, /* 11000110 */
1489 0xc6, /* 11000110 */
1490 0xc6, /* 11000110 */
1491 0xc6, /* 11000110 */
1492 0x00, /* 00000000 */
1495 0x18, /* 00011000 */
1496 0x00, /* 00000000 */
1497 0x38, /* 00111000 */
1498 0x18, /* 00011000 */
1499 0x18, /* 00011000 */
1500 0x18, /* 00011000 */
1501 0x18, /* 00011000 */
1502 0x00, /* 00000000 */
1505 0x06, /* 00000110 */
1506 0x00, /* 00000000 */
1507 0x06, /* 00000110 */
1508 0x06, /* 00000110 */
1509 0x06, /* 00000110 */
1510 0x06, /* 00000110 */
1511 0xc6, /* 11000110 */
1512 0x7c, /* 01111100 */
1515 0xc0, /* 11000000 */
1516 0xc0, /* 11000000 */
1517 0xcc, /* 11001100 */
1518 0xd8, /* 11011000 */
1519 0xf0, /* 11110000 */
1520 0xd8, /* 11011000 */
1521 0xcc, /* 11001100 */
1522 0x00, /* 00000000 */
1525 0x38, /* 00111000 */
1526 0x18, /* 00011000 */
1527 0x18, /* 00011000 */
1528 0x18, /* 00011000 */
1529 0x18, /* 00011000 */
1530 0x18, /* 00011000 */
1531 0x18, /* 00011000 */
1532 0x00, /* 00000000 */
1535 0x00, /* 00000000 */
1536 0x00, /* 00000000 */
1537 0xec, /* 11101100 */
1538 0xfe, /* 11111110 */
1539 0xd6, /* 11010110 */
1540 0xc6, /* 11000110 */
1541 0xc6, /* 11000110 */
1542 0x00, /* 00000000 */
1545 0x00, /* 00000000 */
1546 0x00, /* 00000000 */
1547 0xfc, /* 11111100 */
1548 0xc6, /* 11000110 */
1549 0xc6, /* 11000110 */
1550 0xc6, /* 11000110 */
1551 0xc6, /* 11000110 */
1552 0x00, /* 00000000 */
1555 0x00, /* 00000000 */
1556 0x00, /* 00000000 */
1557 0x7c, /* 01111100 */
1558 0xc6, /* 11000110 */
1559 0xc6, /* 11000110 */
1560 0xc6, /* 11000110 */
1561 0x7c, /* 01111100 */
1562 0x00, /* 00000000 */
1565 0x00, /* 00000000 */
1566 0x00, /* 00000000 */
1567 0xfc, /* 11111100 */
1568 0xc6, /* 11000110 */
1569 0xc6, /* 11000110 */
1570 0xfc, /* 11111100 */
1571 0xc0, /* 11000000 */
1572 0xc0, /* 11000000 */
1575 0x00, /* 00000000 */
1576 0x00, /* 00000000 */
1577 0x7e, /* 01111110 */
1578 0xc6, /* 11000110 */
1579 0xc6, /* 11000110 */
1580 0x7e, /* 01111110 */
1581 0x06, /* 00000110 */
1582 0x06, /* 00000110 */
1585 0x00, /* 00000000 */
1586 0x00, /* 00000000 */
1587 0xdc, /* 11011100 */
1588 0xe6, /* 11100110 */
1589 0xc0, /* 11000000 */
1590 0xc0, /* 11000000 */
1591 0xc0, /* 11000000 */
1592 0x00, /* 00000000 */
1595 0x00, /* 00000000 */
1596 0x00, /* 00000000 */
1597 0x7e, /* 01111110 */
1598 0xc0, /* 11000000 */
1599 0x7c, /* 01111100 */
1600 0x06, /* 00000110 */
1601 0xfc, /* 11111100 */
1602 0x00, /* 00000000 */
1605 0x30, /* 00110000 */
1606 0x30, /* 00110000 */
1607 0x7c, /* 01111100 */
1608 0x30, /* 00110000 */
1609 0x30, /* 00110000 */
1610 0x36, /* 00110110 */
1611 0x1c, /* 00011100 */
1612 0x00, /* 00000000 */
1615 0x00, /* 00000000 */
1616 0x00, /* 00000000 */
1617 0xc6, /* 11000110 */
1618 0xc6, /* 11000110 */
1619 0xc6, /* 11000110 */
1620 0xc6, /* 11000110 */
1621 0x7c, /* 01111100 */
1622 0x00, /* 00000000 */
1625 0x00, /* 00000000 */
1626 0x00, /* 00000000 */
1627 0xc6, /* 11000110 */
1628 0xc6, /* 11000110 */
1629 0xc6, /* 11000110 */
1630 0x6c, /* 01101100 */
1631 0x38, /* 00111000 */
1632 0x00, /* 00000000 */
1635 0x00, /* 00000000 */
1636 0x00, /* 00000000 */
1637 0xc6, /* 11000110 */
1638 0xc6, /* 11000110 */
1639 0xd6, /* 11010110 */
1640 0xfe, /* 11111110 */
1641 0x6c, /* 01101100 */
1642 0x00, /* 00000000 */
1645 0x00, /* 00000000 */
1646 0x00, /* 00000000 */
1647 0xc6, /* 11000110 */
1648 0x6c, /* 01101100 */
1649 0x38, /* 00111000 */
1650 0x6c, /* 01101100 */
1651 0xc6, /* 11000110 */
1652 0x00, /* 00000000 */
1655 0x00, /* 00000000 */
1656 0x00, /* 00000000 */
1657 0xc3, /* 11000011 */
1658 0x66, /* 01100110 */
1659 0x3c, /* 00111100 */
1660 0x18, /* 00011000 */
1661 0x30, /* 00110000 */
1662 0x60, /* 01100000 */
1665 0x00, /* 00000000 */
1666 0x00, /* 00000000 */
1667 0xfe, /* 11111110 */
1668 0x0c, /* 00001100 */
1669 0x38, /* 00111000 */
1670 0x60, /* 01100000 */
1671 0xfe, /* 11111110 */
1672 0x00, /* 00000000 */
1675 0x0e, /* 00001110 */
1676 0x18, /* 00011000 */
1677 0x18, /* 00011000 */
1678 0x70, /* 01110000 */
1679 0x18, /* 00011000 */
1680 0x18, /* 00011000 */
1681 0x0e, /* 00001110 */
1682 0x00, /* 00000000 */
1685 0x18, /* 00011000 */
1686 0x18, /* 00011000 */
1687 0x18, /* 00011000 */
1688 0x18, /* 00011000 */
1689 0x18, /* 00011000 */
1690 0x18, /* 00011000 */
1691 0x18, /* 00011000 */
1692 0x00, /* 00000000 */
1695 0x70, /* 01110000 */
1696 0x18, /* 00011000 */
1697 0x18, /* 00011000 */
1698 0x0e, /* 00001110 */
1699 0x18, /* 00011000 */
1700 0x18, /* 00011000 */
1701 0x70, /* 01110000 */
1702 0x00, /* 00000000 */
1705 0x72, /* 01110010 */
1706 0x9c, /* 10011100 */
1707 0x00, /* 00000000 */
1708 0x00, /* 00000000 */
1709 0x00, /* 00000000 */
1710 0x00, /* 00000000 */
1711 0x00, /* 00000000 */
1712 0x00, /* 00000000 */
1714 /* 127 0x7f '\x7f' */
1715 0x00, /* 00000000 */
1716 0x10, /* 00010000 */
1717 0x38, /* 00111000 */
1718 0x6c, /* 01101100 */
1719 0xc6, /* 11000110 */
1720 0xc6, /* 11000110 */
1721 0xfe, /* 11111110 */
1722 0x00, /* 00000000 */
1725 0x7c, /* 01111100 */
1726 0xc6, /* 11000110 */
1727 0xc0, /* 11000000 */
1728 0xc0, /* 11000000 */
1729 0xc6, /* 11000110 */
1730 0x7c, /* 01111100 */
1731 0x0c, /* 00001100 */
1732 0x78, /* 01111000 */
1735 0xcc, /* 11001100 */
1736 0x00, /* 00000000 */
1737 0xcc, /* 11001100 */
1738 0xcc, /* 11001100 */
1739 0xcc, /* 11001100 */
1740 0xcc, /* 11001100 */
1741 0x76, /* 01110110 */
1742 0x00, /* 00000000 */
1745 0x0c, /* 00001100 */
1746 0x18, /* 00011000 */
1747 0x7c, /* 01111100 */
1748 0xc6, /* 11000110 */
1749 0xfe, /* 11111110 */
1750 0xc0, /* 11000000 */
1751 0x7c, /* 01111100 */
1752 0x00, /* 00000000 */
1755 0x7c, /* 01111100 */
1756 0x82, /* 10000010 */
1757 0x78, /* 01111000 */
1758 0x0c, /* 00001100 */
1759 0x7c, /* 01111100 */
1760 0xcc, /* 11001100 */
1761 0x76, /* 01110110 */
1762 0x00, /* 00000000 */
1765 0xc6, /* 11000110 */
1766 0x00, /* 00000000 */
1767 0x78, /* 01111000 */
1768 0x0c, /* 00001100 */
1769 0x7c, /* 01111100 */
1770 0xcc, /* 11001100 */
1771 0x76, /* 01110110 */
1772 0x00, /* 00000000 */
1775 0x30, /* 00110000 */
1776 0x18, /* 00011000 */
1777 0x78, /* 01111000 */
1778 0x0c, /* 00001100 */
1779 0x7c, /* 01111100 */
1780 0xcc, /* 11001100 */
1781 0x76, /* 01110110 */
1782 0x00, /* 00000000 */
1785 0x30, /* 00110000 */
1786 0x30, /* 00110000 */
1787 0x78, /* 01111000 */
1788 0x0c, /* 00001100 */
1789 0x7c, /* 01111100 */
1790 0xcc, /* 11001100 */
1791 0x76, /* 01110110 */
1792 0x00, /* 00000000 */
1795 0x00, /* 00000000 */
1796 0x00, /* 00000000 */
1797 0x7e, /* 01111110 */
1798 0xc0, /* 11000000 */
1799 0xc0, /* 11000000 */
1800 0x7e, /* 01111110 */
1801 0x0c, /* 00001100 */
1802 0x38, /* 00111000 */
1805 0x7c, /* 01111100 */
1806 0x82, /* 10000010 */
1807 0x7c, /* 01111100 */
1808 0xc6, /* 11000110 */
1809 0xfe, /* 11111110 */
1810 0xc0, /* 11000000 */
1811 0x7c, /* 01111100 */
1812 0x00, /* 00000000 */
1815 0xc6, /* 11000110 */
1816 0x00, /* 00000000 */
1817 0x7c, /* 01111100 */
1818 0xc6, /* 11000110 */
1819 0xfe, /* 11111110 */
1820 0xc0, /* 11000000 */
1821 0x7c, /* 01111100 */
1822 0x00, /* 00000000 */
1825 0x30, /* 00110000 */
1826 0x18, /* 00011000 */
1827 0x7c, /* 01111100 */
1828 0xc6, /* 11000110 */
1829 0xfe, /* 11111110 */
1830 0xc0, /* 11000000 */
1831 0x7c, /* 01111100 */
1832 0x00, /* 00000000 */
1835 0x66, /* 01100110 */
1836 0x00, /* 00000000 */
1837 0x38, /* 00111000 */
1838 0x18, /* 00011000 */
1839 0x18, /* 00011000 */
1840 0x18, /* 00011000 */
1841 0x3c, /* 00111100 */
1842 0x00, /* 00000000 */
1845 0x7c, /* 01111100 */
1846 0x82, /* 10000010 */
1847 0x38, /* 00111000 */
1848 0x18, /* 00011000 */
1849 0x18, /* 00011000 */
1850 0x18, /* 00011000 */
1851 0x3c, /* 00111100 */
1852 0x00, /* 00000000 */
1855 0x30, /* 00110000 */
1856 0x18, /* 00011000 */
1857 0x00, /* 00000000 */
1858 0x38, /* 00111000 */
1859 0x18, /* 00011000 */
1860 0x18, /* 00011000 */
1861 0x3c, /* 00111100 */
1862 0x00, /* 00000000 */
1865 0xc6, /* 11000110 */
1866 0x38, /* 00111000 */
1867 0x6c, /* 01101100 */
1868 0xc6, /* 11000110 */
1869 0xfe, /* 11111110 */
1870 0xc6, /* 11000110 */
1871 0xc6, /* 11000110 */
1872 0x00, /* 00000000 */
1875 0x38, /* 00111000 */
1876 0x6c, /* 01101100 */
1877 0x7c, /* 01111100 */
1878 0xc6, /* 11000110 */
1879 0xfe, /* 11111110 */
1880 0xc6, /* 11000110 */
1881 0xc6, /* 11000110 */
1882 0x00, /* 00000000 */
1885 0x18, /* 00011000 */
1886 0x30, /* 00110000 */
1887 0xfe, /* 11111110 */
1888 0xc0, /* 11000000 */
1889 0xf8, /* 11111000 */
1890 0xc0, /* 11000000 */
1891 0xfe, /* 11111110 */
1892 0x00, /* 00000000 */
1895 0x00, /* 00000000 */
1896 0x00, /* 00000000 */
1897 0x7e, /* 01111110 */
1898 0x18, /* 00011000 */
1899 0x7e, /* 01111110 */
1900 0xd8, /* 11011000 */
1901 0x7e, /* 01111110 */
1902 0x00, /* 00000000 */
1905 0x3e, /* 00111110 */
1906 0x6c, /* 01101100 */
1907 0xcc, /* 11001100 */
1908 0xfe, /* 11111110 */
1909 0xcc, /* 11001100 */
1910 0xcc, /* 11001100 */
1911 0xce, /* 11001110 */
1912 0x00, /* 00000000 */
1915 0x7c, /* 01111100 */
1916 0x82, /* 10000010 */
1917 0x7c, /* 01111100 */
1918 0xc6, /* 11000110 */
1919 0xc6, /* 11000110 */
1920 0xc6, /* 11000110 */
1921 0x7c, /* 01111100 */
1922 0x00, /* 00000000 */
1925 0xc6, /* 11000110 */
1926 0x00, /* 00000000 */
1927 0x7c, /* 01111100 */
1928 0xc6, /* 11000110 */
1929 0xc6, /* 11000110 */
1930 0xc6, /* 11000110 */
1931 0x7c, /* 01111100 */
1932 0x00, /* 00000000 */
1935 0x30, /* 00110000 */
1936 0x18, /* 00011000 */
1937 0x7c, /* 01111100 */
1938 0xc6, /* 11000110 */
1939 0xc6, /* 11000110 */
1940 0xc6, /* 11000110 */
1941 0x7c, /* 01111100 */
1942 0x00, /* 00000000 */
1945 0x78, /* 01111000 */
1946 0x84, /* 10000100 */
1947 0x00, /* 00000000 */
1948 0xcc, /* 11001100 */
1949 0xcc, /* 11001100 */
1950 0xcc, /* 11001100 */
1951 0x76, /* 01110110 */
1952 0x00, /* 00000000 */
1955 0x60, /* 01100000 */
1956 0x30, /* 00110000 */
1957 0xcc, /* 11001100 */
1958 0xcc, /* 11001100 */
1959 0xcc, /* 11001100 */
1960 0xcc, /* 11001100 */
1961 0x76, /* 01110110 */
1962 0x00, /* 00000000 */
1965 0xc6, /* 11000110 */
1966 0x00, /* 00000000 */
1967 0xc6, /* 11000110 */
1968 0xc6, /* 11000110 */
1969 0xc6, /* 11000110 */
1970 0x7e, /* 01111110 */
1971 0x06, /* 00000110 */
1972 0xfc, /* 11111100 */
1975 0xc6, /* 11000110 */
1976 0x38, /* 00111000 */
1977 0x6c, /* 01101100 */
1978 0xc6, /* 11000110 */
1979 0xc6, /* 11000110 */
1980 0x6c, /* 01101100 */
1981 0x38, /* 00111000 */
1982 0x00, /* 00000000 */
1985 0xc6, /* 11000110 */
1986 0x00, /* 00000000 */
1987 0xc6, /* 11000110 */
1988 0xc6, /* 11000110 */
1989 0xc6, /* 11000110 */
1990 0xc6, /* 11000110 */
1991 0x7c, /* 01111100 */
1992 0x00, /* 00000000 */
1995 0x18, /* 00011000 */
1996 0x18, /* 00011000 */
1997 0x7e, /* 01111110 */
1998 0xc0, /* 11000000 */
1999 0xc0, /* 11000000 */
2000 0x7e, /* 01111110 */
2001 0x18, /* 00011000 */
2002 0x18, /* 00011000 */
2005 0x38, /* 00111000 */
2006 0x6c, /* 01101100 */
2007 0x64, /* 01100100 */
2008 0xf0, /* 11110000 */
2009 0x60, /* 01100000 */
2010 0x66, /* 01100110 */
2011 0xfc, /* 11111100 */
2012 0x00, /* 00000000 */
2015 0x66, /* 01100110 */
2016 0x66, /* 01100110 */
2017 0x3c, /* 00111100 */
2018 0x7e, /* 01111110 */
2019 0x18, /* 00011000 */
2020 0x7e, /* 01111110 */
2021 0x18, /* 00011000 */
2022 0x18, /* 00011000 */
2025 0xf8, /* 11111000 */
2026 0xcc, /* 11001100 */
2027 0xcc, /* 11001100 */
2028 0xfa, /* 11111010 */
2029 0xc6, /* 11000110 */
2030 0xcf, /* 11001111 */
2031 0xc6, /* 11000110 */
2032 0xc7, /* 11000111 */
2035 0x0e, /* 00001110 */
2036 0x1b, /* 00011011 */
2037 0x18, /* 00011000 */
2038 0x3c, /* 00111100 */
2039 0x18, /* 00011000 */
2040 0xd8, /* 11011000 */
2041 0x70, /* 01110000 */
2042 0x00, /* 00000000 */
2045 0x18, /* 00011000 */
2046 0x30, /* 00110000 */
2047 0x78, /* 01111000 */
2048 0x0c, /* 00001100 */
2049 0x7c, /* 01111100 */
2050 0xcc, /* 11001100 */
2051 0x76, /* 01110110 */
2052 0x00, /* 00000000 */
2055 0x0c, /* 00001100 */
2056 0x18, /* 00011000 */
2057 0x00, /* 00000000 */
2058 0x38, /* 00111000 */
2059 0x18, /* 00011000 */
2060 0x18, /* 00011000 */
2061 0x3c, /* 00111100 */
2062 0x00, /* 00000000 */
2065 0x0c, /* 00001100 */
2066 0x18, /* 00011000 */
2067 0x7c, /* 01111100 */
2068 0xc6, /* 11000110 */
2069 0xc6, /* 11000110 */
2070 0xc6, /* 11000110 */
2071 0x7c, /* 01111100 */
2072 0x00, /* 00000000 */
2075 0x18, /* 00011000 */
2076 0x30, /* 00110000 */
2077 0xcc, /* 11001100 */
2078 0xcc, /* 11001100 */
2079 0xcc, /* 11001100 */
2080 0xcc, /* 11001100 */
2081 0x76, /* 01110110 */
2082 0x00, /* 00000000 */
2085 0x76, /* 01110110 */
2086 0xdc, /* 11011100 */
2087 0x00, /* 00000000 */
2088 0xdc, /* 11011100 */
2089 0x66, /* 01100110 */
2090 0x66, /* 01100110 */
2091 0x66, /* 01100110 */
2092 0x00, /* 00000000 */
2095 0x76, /* 01110110 */
2096 0xdc, /* 11011100 */
2097 0x00, /* 00000000 */
2098 0xe6, /* 11100110 */
2099 0xf6, /* 11110110 */
2100 0xde, /* 11011110 */
2101 0xce, /* 11001110 */
2102 0x00, /* 00000000 */
2105 0x3c, /* 00111100 */
2106 0x6c, /* 01101100 */
2107 0x6c, /* 01101100 */
2108 0x3e, /* 00111110 */
2109 0x00, /* 00000000 */
2110 0x7e, /* 01111110 */
2111 0x00, /* 00000000 */
2112 0x00, /* 00000000 */
2115 0x38, /* 00111000 */
2116 0x6c, /* 01101100 */
2117 0x6c, /* 01101100 */
2118 0x38, /* 00111000 */
2119 0x00, /* 00000000 */
2120 0x7c, /* 01111100 */
2121 0x00, /* 00000000 */
2122 0x00, /* 00000000 */
2125 0x18, /* 00011000 */
2126 0x00, /* 00000000 */
2127 0x18, /* 00011000 */
2128 0x18, /* 00011000 */
2129 0x30, /* 00110000 */
2130 0x63, /* 01100011 */
2131 0x3e, /* 00111110 */
2132 0x00, /* 00000000 */
2135 0x00, /* 00000000 */
2136 0x00, /* 00000000 */
2137 0x00, /* 00000000 */
2138 0xfe, /* 11111110 */
2139 0xc0, /* 11000000 */
2140 0xc0, /* 11000000 */
2141 0x00, /* 00000000 */
2142 0x00, /* 00000000 */
2145 0x00, /* 00000000 */
2146 0x00, /* 00000000 */
2147 0x00, /* 00000000 */
2148 0xfe, /* 11111110 */
2149 0x06, /* 00000110 */
2150 0x06, /* 00000110 */
2151 0x00, /* 00000000 */
2152 0x00, /* 00000000 */
2155 0x63, /* 01100011 */
2156 0xe6, /* 11100110 */
2157 0x6c, /* 01101100 */
2158 0x7e, /* 01111110 */
2159 0x33, /* 00110011 */
2160 0x66, /* 01100110 */
2161 0xcc, /* 11001100 */
2162 0x0f, /* 00001111 */
2165 0x63, /* 01100011 */
2166 0xe6, /* 11100110 */
2167 0x6c, /* 01101100 */
2168 0x7a, /* 01111010 */
2169 0x36, /* 00110110 */
2170 0x6a, /* 01101010 */
2171 0xdf, /* 11011111 */
2172 0x06, /* 00000110 */
2175 0x18, /* 00011000 */
2176 0x00, /* 00000000 */
2177 0x18, /* 00011000 */
2178 0x18, /* 00011000 */
2179 0x3c, /* 00111100 */
2180 0x3c, /* 00111100 */
2181 0x18, /* 00011000 */
2182 0x00, /* 00000000 */
2185 0x00, /* 00000000 */
2186 0x33, /* 00110011 */
2187 0x66, /* 01100110 */
2188 0xcc, /* 11001100 */
2189 0x66, /* 01100110 */
2190 0x33, /* 00110011 */
2191 0x00, /* 00000000 */
2192 0x00, /* 00000000 */
2195 0x00, /* 00000000 */
2196 0xcc, /* 11001100 */
2197 0x66, /* 01100110 */
2198 0x33, /* 00110011 */
2199 0x66, /* 01100110 */
2200 0xcc, /* 11001100 */
2201 0x00, /* 00000000 */
2202 0x00, /* 00000000 */
2205 0x22, /* 00100010 */
2206 0x88, /* 10001000 */
2207 0x22, /* 00100010 */
2208 0x88, /* 10001000 */
2209 0x22, /* 00100010 */
2210 0x88, /* 10001000 */
2211 0x22, /* 00100010 */
2212 0x88, /* 10001000 */
2215 0x55, /* 01010101 */
2216 0xaa, /* 10101010 */
2217 0x55, /* 01010101 */
2218 0xaa, /* 10101010 */
2219 0x55, /* 01010101 */
2220 0xaa, /* 10101010 */
2221 0x55, /* 01010101 */
2222 0xaa, /* 10101010 */
2225 0x77, /* 01110111 */
2226 0xdd, /* 11011101 */
2227 0x77, /* 01110111 */
2228 0xdd, /* 11011101 */
2229 0x77, /* 01110111 */
2230 0xdd, /* 11011101 */
2231 0x77, /* 01110111 */
2232 0xdd, /* 11011101 */
2235 0x18, /* 00011000 */
2236 0x18, /* 00011000 */
2237 0x18, /* 00011000 */
2238 0x18, /* 00011000 */
2239 0x18, /* 00011000 */
2240 0x18, /* 00011000 */
2241 0x18, /* 00011000 */
2242 0x18, /* 00011000 */
2245 0x18, /* 00011000 */
2246 0x18, /* 00011000 */
2247 0x18, /* 00011000 */
2248 0x18, /* 00011000 */
2249 0xf8, /* 11111000 */
2250 0x18, /* 00011000 */
2251 0x18, /* 00011000 */
2252 0x18, /* 00011000 */
2255 0x18, /* 00011000 */
2256 0x18, /* 00011000 */
2257 0xf8, /* 11111000 */
2258 0x18, /* 00011000 */
2259 0xf8, /* 11111000 */
2260 0x18, /* 00011000 */
2261 0x18, /* 00011000 */
2262 0x18, /* 00011000 */
2265 0x36, /* 00110110 */
2266 0x36, /* 00110110 */
2267 0x36, /* 00110110 */
2268 0x36, /* 00110110 */
2269 0xf6, /* 11110110 */
2270 0x36, /* 00110110 */
2271 0x36, /* 00110110 */
2272 0x36, /* 00110110 */
2275 0x00, /* 00000000 */
2276 0x00, /* 00000000 */
2277 0x00, /* 00000000 */
2278 0x00, /* 00000000 */
2279 0xfe, /* 11111110 */
2280 0x36, /* 00110110 */
2281 0x36, /* 00110110 */
2282 0x36, /* 00110110 */
2285 0x00, /* 00000000 */
2286 0x00, /* 00000000 */
2287 0xf8, /* 11111000 */
2288 0x18, /* 00011000 */
2289 0xf8, /* 11111000 */
2290 0x18, /* 00011000 */
2291 0x18, /* 00011000 */
2292 0x18, /* 00011000 */
2295 0x36, /* 00110110 */
2296 0x36, /* 00110110 */
2297 0xf6, /* 11110110 */
2298 0x06, /* 00000110 */
2299 0xf6, /* 11110110 */
2300 0x36, /* 00110110 */
2301 0x36, /* 00110110 */
2302 0x36, /* 00110110 */
2305 0x36, /* 00110110 */
2306 0x36, /* 00110110 */
2307 0x36, /* 00110110 */
2308 0x36, /* 00110110 */
2309 0x36, /* 00110110 */
2310 0x36, /* 00110110 */
2311 0x36, /* 00110110 */
2312 0x36, /* 00110110 */
2315 0x00, /* 00000000 */
2316 0x00, /* 00000000 */
2317 0xfe, /* 11111110 */
2318 0x06, /* 00000110 */
2319 0xf6, /* 11110110 */
2320 0x36, /* 00110110 */
2321 0x36, /* 00110110 */
2322 0x36, /* 00110110 */
2325 0x36, /* 00110110 */
2326 0x36, /* 00110110 */
2327 0xf6, /* 11110110 */
2328 0x06, /* 00000110 */
2329 0xfe, /* 11111110 */
2330 0x00, /* 00000000 */
2331 0x00, /* 00000000 */
2332 0x00, /* 00000000 */
2335 0x36, /* 00110110 */
2336 0x36, /* 00110110 */
2337 0x36, /* 00110110 */
2338 0x36, /* 00110110 */
2339 0xfe, /* 11111110 */
2340 0x00, /* 00000000 */
2341 0x00, /* 00000000 */
2342 0x00, /* 00000000 */
2345 0x18, /* 00011000 */
2346 0x18, /* 00011000 */
2347 0xf8, /* 11111000 */
2348 0x18, /* 00011000 */
2349 0xf8, /* 11111000 */
2350 0x00, /* 00000000 */
2351 0x00, /* 00000000 */
2352 0x00, /* 00000000 */
2355 0x00, /* 00000000 */
2356 0x00, /* 00000000 */
2357 0x00, /* 00000000 */
2358 0x00, /* 00000000 */
2359 0xf8, /* 11111000 */
2360 0x18, /* 00011000 */
2361 0x18, /* 00011000 */
2362 0x18, /* 00011000 */
2365 0x18, /* 00011000 */
2366 0x18, /* 00011000 */
2367 0x18, /* 00011000 */
2368 0x18, /* 00011000 */
2369 0x1f, /* 00011111 */
2370 0x00, /* 00000000 */
2371 0x00, /* 00000000 */
2372 0x00, /* 00000000 */
2375 0x18, /* 00011000 */
2376 0x18, /* 00011000 */
2377 0x18, /* 00011000 */
2378 0x18, /* 00011000 */
2379 0xff, /* 11111111 */
2380 0x00, /* 00000000 */
2381 0x00, /* 00000000 */
2382 0x00, /* 00000000 */
2385 0x00, /* 00000000 */
2386 0x00, /* 00000000 */
2387 0x00, /* 00000000 */
2388 0x00, /* 00000000 */
2389 0xff, /* 11111111 */
2390 0x18, /* 00011000 */
2391 0x18, /* 00011000 */
2392 0x18, /* 00011000 */
2395 0x18, /* 00011000 */
2396 0x18, /* 00011000 */
2397 0x18, /* 00011000 */
2398 0x18, /* 00011000 */
2399 0x1f, /* 00011111 */
2400 0x18, /* 00011000 */
2401 0x18, /* 00011000 */
2402 0x18, /* 00011000 */
2405 0x00, /* 00000000 */
2406 0x00, /* 00000000 */
2407 0x00, /* 00000000 */
2408 0x00, /* 00000000 */
2409 0xff, /* 11111111 */
2410 0x00, /* 00000000 */
2411 0x00, /* 00000000 */
2412 0x00, /* 00000000 */
2415 0x18, /* 00011000 */
2416 0x18, /* 00011000 */
2417 0x18, /* 00011000 */
2418 0x18, /* 00011000 */
2419 0xff, /* 11111111 */
2420 0x18, /* 00011000 */
2421 0x18, /* 00011000 */
2422 0x18, /* 00011000 */
2425 0x18, /* 00011000 */
2426 0x18, /* 00011000 */
2427 0x1f, /* 00011111 */
2428 0x18, /* 00011000 */
2429 0x1f, /* 00011111 */
2430 0x18, /* 00011000 */
2431 0x18, /* 00011000 */
2432 0x18, /* 00011000 */
2435 0x36, /* 00110110 */
2436 0x36, /* 00110110 */
2437 0x36, /* 00110110 */
2438 0x36, /* 00110110 */
2439 0x37, /* 00110111 */
2440 0x36, /* 00110110 */
2441 0x36, /* 00110110 */
2442 0x36, /* 00110110 */
2445 0x36, /* 00110110 */
2446 0x36, /* 00110110 */
2447 0x37, /* 00110111 */
2448 0x30, /* 00110000 */
2449 0x3f, /* 00111111 */
2450 0x00, /* 00000000 */
2451 0x00, /* 00000000 */
2452 0x00, /* 00000000 */
2455 0x00, /* 00000000 */
2456 0x00, /* 00000000 */
2457 0x3f, /* 00111111 */
2458 0x30, /* 00110000 */
2459 0x37, /* 00110111 */
2460 0x36, /* 00110110 */
2461 0x36, /* 00110110 */
2462 0x36, /* 00110110 */
2465 0x36, /* 00110110 */
2466 0x36, /* 00110110 */
2467 0xf7, /* 11110111 */
2468 0x00, /* 00000000 */
2469 0xff, /* 11111111 */
2470 0x00, /* 00000000 */
2471 0x00, /* 00000000 */
2472 0x00, /* 00000000 */
2475 0x00, /* 00000000 */
2476 0x00, /* 00000000 */
2477 0xff, /* 11111111 */
2478 0x00, /* 00000000 */
2479 0xf7, /* 11110111 */
2480 0x36, /* 00110110 */
2481 0x36, /* 00110110 */
2482 0x36, /* 00110110 */
2485 0x36, /* 00110110 */
2486 0x36, /* 00110110 */
2487 0x37, /* 00110111 */
2488 0x30, /* 00110000 */
2489 0x37, /* 00110111 */
2490 0x36, /* 00110110 */
2491 0x36, /* 00110110 */
2492 0x36, /* 00110110 */
2495 0x00, /* 00000000 */
2496 0x00, /* 00000000 */
2497 0xff, /* 11111111 */
2498 0x00, /* 00000000 */
2499 0xff, /* 11111111 */
2500 0x00, /* 00000000 */
2501 0x00, /* 00000000 */
2502 0x00, /* 00000000 */
2505 0x36, /* 00110110 */
2506 0x36, /* 00110110 */
2507 0xf7, /* 11110111 */
2508 0x00, /* 00000000 */
2509 0xf7, /* 11110111 */
2510 0x36, /* 00110110 */
2511 0x36, /* 00110110 */
2512 0x36, /* 00110110 */
2515 0x18, /* 00011000 */
2516 0x18, /* 00011000 */
2517 0xff, /* 11111111 */
2518 0x00, /* 00000000 */
2519 0xff, /* 11111111 */
2520 0x00, /* 00000000 */
2521 0x00, /* 00000000 */
2522 0x00, /* 00000000 */
2525 0x36, /* 00110110 */
2526 0x36, /* 00110110 */
2527 0x36, /* 00110110 */
2528 0x36, /* 00110110 */
2529 0xff, /* 11111111 */
2530 0x00, /* 00000000 */
2531 0x00, /* 00000000 */
2532 0x00, /* 00000000 */
2535 0x00, /* 00000000 */
2536 0x00, /* 00000000 */
2537 0xff, /* 11111111 */
2538 0x00, /* 00000000 */
2539 0xff, /* 11111111 */
2540 0x18, /* 00011000 */
2541 0x18, /* 00011000 */
2542 0x18, /* 00011000 */
2545 0x00, /* 00000000 */
2546 0x00, /* 00000000 */
2547 0x00, /* 00000000 */
2548 0x00, /* 00000000 */
2549 0xff, /* 11111111 */
2550 0x36, /* 00110110 */
2551 0x36, /* 00110110 */
2552 0x36, /* 00110110 */
2555 0x36, /* 00110110 */
2556 0x36, /* 00110110 */
2557 0x36, /* 00110110 */
2558 0x36, /* 00110110 */
2559 0x3f, /* 00111111 */
2560 0x00, /* 00000000 */
2561 0x00, /* 00000000 */
2562 0x00, /* 00000000 */
2565 0x18, /* 00011000 */
2566 0x18, /* 00011000 */
2567 0x1f, /* 00011111 */
2568 0x18, /* 00011000 */
2569 0x1f, /* 00011111 */
2570 0x00, /* 00000000 */
2571 0x00, /* 00000000 */
2572 0x00, /* 00000000 */
2575 0x00, /* 00000000 */
2576 0x00, /* 00000000 */
2577 0x1f, /* 00011111 */
2578 0x18, /* 00011000 */
2579 0x1f, /* 00011111 */
2580 0x18, /* 00011000 */
2581 0x18, /* 00011000 */
2582 0x18, /* 00011000 */
2585 0x00, /* 00000000 */
2586 0x00, /* 00000000 */
2587 0x00, /* 00000000 */
2588 0x00, /* 00000000 */
2589 0x3f, /* 00111111 */
2590 0x36, /* 00110110 */
2591 0x36, /* 00110110 */
2592 0x36, /* 00110110 */
2595 0x36, /* 00110110 */
2596 0x36, /* 00110110 */
2597 0x36, /* 00110110 */
2598 0x36, /* 00110110 */
2599 0xff, /* 11111111 */
2600 0x36, /* 00110110 */
2601 0x36, /* 00110110 */
2602 0x36, /* 00110110 */
2605 0x18, /* 00011000 */
2606 0x18, /* 00011000 */
2607 0xff, /* 11111111 */
2608 0x18, /* 00011000 */
2609 0xff, /* 11111111 */
2610 0x18, /* 00011000 */
2611 0x18, /* 00011000 */
2612 0x18, /* 00011000 */
2615 0x18, /* 00011000 */
2616 0x18, /* 00011000 */
2617 0x18, /* 00011000 */
2618 0x18, /* 00011000 */
2619 0xf8, /* 11111000 */
2620 0x00, /* 00000000 */
2621 0x00, /* 00000000 */
2622 0x00, /* 00000000 */
2625 0x00, /* 00000000 */
2626 0x00, /* 00000000 */
2627 0x00, /* 00000000 */
2628 0x00, /* 00000000 */
2629 0x1f, /* 00011111 */
2630 0x18, /* 00011000 */
2631 0x18, /* 00011000 */
2632 0x18, /* 00011000 */
2635 0xff, /* 11111111 */
2636 0xff, /* 11111111 */
2637 0xff, /* 11111111 */
2638 0xff, /* 11111111 */
2639 0xff, /* 11111111 */
2640 0xff, /* 11111111 */
2641 0xff, /* 11111111 */
2642 0xff, /* 11111111 */
2645 0xc6, /* 11000110 */
2646 0x00, /* 00000000 */
2647 0xc6, /* 11000110 */
2648 0xc6, /* 11000110 */
2649 0xc6, /* 11000110 */
2650 0xc6, /* 11000110 */
2651 0x7c, /* 01111100 */
2652 0x00, /* 00000000 */
2654 0x00, /* 00000000 */
2655 0x00, /* 00000000 */
2656 0x00, /* 00000000 */
2657 0x00, /* 00000000 */
2658 0xff, /* 11111111 */
2659 0xff, /* 11111111 */
2660 0xff, /* 11111111 */
2661 0xff, /* 11111111 */
2665 0xf0, /* 11110000 */
2666 0xf0, /* 11110000 */
2667 0xf0, /* 11110000 */
2668 0xf0, /* 11110000 */
2669 0xf0, /* 11110000 */
2670 0xf0, /* 11110000 */
2671 0xf0, /* 11110000 */
2672 0xf0, /* 11110000 */
2675 0x0f, /* 00001111 */
2676 0x0f, /* 00001111 */
2677 0x0f, /* 00001111 */
2678 0x0f, /* 00001111 */
2679 0x0f, /* 00001111 */
2680 0x0f, /* 00001111 */
2681 0x0f, /* 00001111 */
2682 0x0f, /* 00001111 */
2685 0xff, /* 11111111 */
2686 0xff, /* 11111111 */
2687 0xff, /* 11111111 */
2688 0xff, /* 11111111 */
2689 0x00, /* 00000000 */
2690 0x00, /* 00000000 */
2691 0x00, /* 00000000 */
2692 0x00, /* 00000000 */
2695 0x00, /* 00000000 */
2696 0x00, /* 00000000 */
2697 0x76, /* 01110110 */
2698 0xdc, /* 11011100 */
2699 0xc8, /* 11001000 */
2700 0xdc, /* 11011100 */
2701 0x76, /* 01110110 */
2702 0x00, /* 00000000 */
2705 0x78, /* 01111000 */
2706 0xcc, /* 11001100 */
2707 0xcc, /* 11001100 */
2708 0xd8, /* 11011000 */
2709 0xcc, /* 11001100 */
2710 0xc6, /* 11000110 */
2711 0xcc, /* 11001100 */
2712 0x00, /* 00000000 */
2715 0xfe, /* 11111110 */
2716 0xc6, /* 11000110 */
2717 0xc0, /* 11000000 */
2718 0xc0, /* 11000000 */
2719 0xc0, /* 11000000 */
2720 0xc0, /* 11000000 */
2721 0xc0, /* 11000000 */
2722 0x00, /* 00000000 */
2725 0x00, /* 00000000 */
2726 0x00, /* 00000000 */
2727 0xfe, /* 11111110 */
2728 0x6c, /* 01101100 */
2729 0x6c, /* 01101100 */
2730 0x6c, /* 01101100 */
2731 0x6c, /* 01101100 */
2732 0x00, /* 00000000 */
2735 0xfe, /* 11111110 */
2736 0xc6, /* 11000110 */
2737 0x60, /* 01100000 */
2738 0x30, /* 00110000 */
2739 0x60, /* 01100000 */
2740 0xc6, /* 11000110 */
2741 0xfe, /* 11111110 */
2742 0x00, /* 00000000 */
2745 0x00, /* 00000000 */
2746 0x00, /* 00000000 */
2747 0x7e, /* 01111110 */
2748 0xd8, /* 11011000 */
2749 0xd8, /* 11011000 */
2750 0xd8, /* 11011000 */
2751 0x70, /* 01110000 */
2752 0x00, /* 00000000 */
2755 0x00, /* 00000000 */
2756 0x00, /* 00000000 */
2757 0x66, /* 01100110 */
2758 0x66, /* 01100110 */
2759 0x66, /* 01100110 */
2760 0x66, /* 01100110 */
2761 0x7c, /* 01111100 */
2762 0xc0, /* 11000000 */
2765 0x00, /* 00000000 */
2766 0x76, /* 01110110 */
2767 0xdc, /* 11011100 */
2768 0x18, /* 00011000 */
2769 0x18, /* 00011000 */
2770 0x18, /* 00011000 */
2771 0x18, /* 00011000 */
2772 0x00, /* 00000000 */
2775 0x7e, /* 01111110 */
2776 0x18, /* 00011000 */
2777 0x3c, /* 00111100 */
2778 0x66, /* 01100110 */
2779 0x66, /* 01100110 */
2780 0x3c, /* 00111100 */
2781 0x18, /* 00011000 */
2782 0x7e, /* 01111110 */
2785 0x38, /* 00111000 */
2786 0x6c, /* 01101100 */
2787 0xc6, /* 11000110 */
2788 0xfe, /* 11111110 */
2789 0xc6, /* 11000110 */
2790 0x6c, /* 01101100 */
2791 0x38, /* 00111000 */
2792 0x00, /* 00000000 */
2795 0x38, /* 00111000 */
2796 0x6c, /* 01101100 */
2797 0xc6, /* 11000110 */
2798 0xc6, /* 11000110 */
2799 0x6c, /* 01101100 */
2800 0x6c, /* 01101100 */
2801 0xee, /* 11101110 */
2802 0x00, /* 00000000 */
2805 0x0e, /* 00001110 */
2806 0x18, /* 00011000 */
2807 0x0c, /* 00001100 */
2808 0x3e, /* 00111110 */
2809 0x66, /* 01100110 */
2810 0x66, /* 01100110 */
2811 0x3c, /* 00111100 */
2812 0x00, /* 00000000 */
2815 0x00, /* 00000000 */
2816 0x00, /* 00000000 */
2817 0x7e, /* 01111110 */
2818 0xdb, /* 11011011 */
2819 0xdb, /* 11011011 */
2820 0x7e, /* 01111110 */
2821 0x00, /* 00000000 */
2822 0x00, /* 00000000 */
2825 0x06, /* 00000110 */
2826 0x0c, /* 00001100 */
2827 0x7e, /* 01111110 */
2828 0xdb, /* 11011011 */
2829 0xdb, /* 11011011 */
2830 0x7e, /* 01111110 */
2831 0x60, /* 01100000 */
2832 0xc0, /* 11000000 */
2835 0x1e, /* 00011110 */
2836 0x30, /* 00110000 */
2837 0x60, /* 01100000 */
2838 0x7e, /* 01111110 */
2839 0x60, /* 01100000 */
2840 0x30, /* 00110000 */
2841 0x1e, /* 00011110 */
2842 0x00, /* 00000000 */
2845 0x00, /* 00000000 */
2846 0x7c, /* 01111100 */
2847 0xc6, /* 11000110 */
2848 0xc6, /* 11000110 */
2849 0xc6, /* 11000110 */
2850 0xc6, /* 11000110 */
2851 0xc6, /* 11000110 */
2852 0x00, /* 00000000 */
2855 0x00, /* 00000000 */
2856 0xfe, /* 11111110 */
2857 0x00, /* 00000000 */
2858 0xfe, /* 11111110 */
2859 0x00, /* 00000000 */
2860 0xfe, /* 11111110 */
2861 0x00, /* 00000000 */
2862 0x00, /* 00000000 */
2865 0x18, /* 00011000 */
2866 0x18, /* 00011000 */
2867 0x7e, /* 01111110 */
2868 0x18, /* 00011000 */
2869 0x18, /* 00011000 */
2870 0x00, /* 00000000 */
2871 0x7e, /* 01111110 */
2872 0x00, /* 00000000 */
2875 0x30, /* 00110000 */
2876 0x18, /* 00011000 */
2877 0x0c, /* 00001100 */
2878 0x18, /* 00011000 */
2879 0x30, /* 00110000 */
2880 0x00, /* 00000000 */
2881 0x7e, /* 01111110 */
2882 0x00, /* 00000000 */
2885 0x0c, /* 00001100 */
2886 0x18, /* 00011000 */
2887 0x30, /* 00110000 */
2888 0x18, /* 00011000 */
2889 0x0c, /* 00001100 */
2890 0x00, /* 00000000 */
2891 0x7e, /* 01111110 */
2892 0x00, /* 00000000 */
2895 0x0e, /* 00001110 */
2896 0x1b, /* 00011011 */
2897 0x1b, /* 00011011 */
2898 0x18, /* 00011000 */
2899 0x18, /* 00011000 */
2900 0x18, /* 00011000 */
2901 0x18, /* 00011000 */
2902 0x18, /* 00011000 */
2905 0x18, /* 00011000 */
2906 0x18, /* 00011000 */
2907 0x18, /* 00011000 */
2908 0x18, /* 00011000 */
2909 0x18, /* 00011000 */
2910 0xd8, /* 11011000 */
2911 0xd8, /* 11011000 */
2912 0x70, /* 01110000 */
2915 0x00, /* 00000000 */
2916 0x18, /* 00011000 */
2917 0x00, /* 00000000 */
2918 0x7e, /* 01111110 */
2919 0x00, /* 00000000 */
2920 0x18, /* 00011000 */
2921 0x00, /* 00000000 */
2922 0x00, /* 00000000 */
2925 0x00, /* 00000000 */
2926 0x76, /* 01110110 */
2927 0xdc, /* 11011100 */
2928 0x00, /* 00000000 */
2929 0x76, /* 01110110 */
2930 0xdc, /* 11011100 */
2931 0x00, /* 00000000 */
2932 0x00, /* 00000000 */
2935 0x38, /* 00111000 */
2936 0x6c, /* 01101100 */
2937 0x6c, /* 01101100 */
2938 0x38, /* 00111000 */
2939 0x00, /* 00000000 */
2940 0x00, /* 00000000 */
2941 0x00, /* 00000000 */
2942 0x00, /* 00000000 */
2945 0x00, /* 00000000 */
2946 0x00, /* 00000000 */
2947 0x00, /* 00000000 */
2948 0x18, /* 00011000 */
2949 0x18, /* 00011000 */
2950 0x00, /* 00000000 */
2951 0x00, /* 00000000 */
2952 0x00, /* 00000000 */
2955 0x00, /* 00000000 */
2956 0x00, /* 00000000 */
2957 0x00, /* 00000000 */
2958 0x18, /* 00011000 */
2959 0x00, /* 00000000 */
2960 0x00, /* 00000000 */
2961 0x00, /* 00000000 */
2962 0x00, /* 00000000 */
2965 0x0f, /* 00001111 */
2966 0x0c, /* 00001100 */
2967 0x0c, /* 00001100 */
2968 0x0c, /* 00001100 */
2969 0xec, /* 11101100 */
2970 0x6c, /* 01101100 */
2971 0x3c, /* 00111100 */
2972 0x1c, /* 00011100 */
2975 0x6c, /* 01101100 */
2976 0x36, /* 00110110 */
2977 0x36, /* 00110110 */
2978 0x36, /* 00110110 */
2979 0x36, /* 00110110 */
2980 0x00, /* 00000000 */
2981 0x00, /* 00000000 */
2982 0x00, /* 00000000 */
2985 0x78, /* 01111000 */
2986 0x0c, /* 00001100 */
2987 0x18, /* 00011000 */
2988 0x30, /* 00110000 */
2989 0x7c, /* 01111100 */
2990 0x00, /* 00000000 */
2991 0x00, /* 00000000 */
2992 0x00, /* 00000000 */
2995 0x00, /* 00000000 */
2996 0x00, /* 00000000 */
2997 0x3c, /* 00111100 */
2998 0x3c, /* 00111100 */
2999 0x3c, /* 00111100 */
3000 0x3c, /* 00111100 */
3001 0x00, /* 00000000 */
3002 0x00, /* 00000000 */
3005 0x00, /* 00000000 */
3006 0x00, /* 00000000 */
3007 0x00, /* 00000000 */
3008 0x00, /* 00000000 */
3009 0x00, /* 00000000 */
3010 0x00, /* 00000000 */
3011 0x00, /* 00000000 */
3012 0x00, /* 00000000 */
3016 void CLCDDisplay::draw_char(int x
, int y
, char c
)
3018 unsigned char *data
=&font
[8*c
];
3019 for (int ay
=0; ay
<8; ay
++)
3020 for (int ax
=0; ax
<8; ax
++)
3021 if ( (!invalid_col(x
+ax
)) && (!invalid_row(y
+ay
)))
3022 draw_point(x
+ax
, y
+ay
, data
[ay
]&(1<<(7-ax
))?PIXEL_ON
:PIXEL_OFF
);
3025 void CLCDDisplay::draw_string(int x
, int y
, const char *string
)
3032 draw_char(x
, y
, *string
++);
3036 #endif//USEFREETYPELCD