From 30dd87115c56fa6915881d93cd4d0ccb18dab035 Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Thu, 15 Dec 2011 07:14:40 +0100 Subject: firmware/framebuffer: Adding fixed with font with 8x8 pixles --- src/target/firmware/Makefile | 2 +- src/target/firmware/fb/c64.c | 1069 +++++++++++++++++++++++++++++++++ src/target/firmware/fb/font.c | 4 +- src/target/firmware/include/fb/font.h | 3 +- 4 files changed, 1075 insertions(+), 3 deletions(-) create mode 100644 src/target/firmware/fb/c64.c (limited to 'src/target') diff --git a/src/target/firmware/Makefile b/src/target/firmware/Makefile index 624b0555..8394d441 100644 --- a/src/target/firmware/Makefile +++ b/src/target/firmware/Makefile @@ -9,7 +9,7 @@ APPLICATIONS?=hello_world compal_dsp_dump layer1 loader chainload # Framebuffer support, board specific drivers # -FB_OBJS=fb/framebuffer.o fb/font.o fb/helvR08.o fb/helvB14.o +FB_OBJS=fb/framebuffer.o fb/font.o fb/helvR08.o fb/helvB14.o fb/c64.o FB_e88_OBJS=$(FB_OBJS) fb/fb_bw8.o fb/fb_st7558.o FB_e99_OBJS=$(FB_OBJS) fb/fb_rgb332.o fb/fb_ssd1783.o diff --git a/src/target/firmware/fb/c64.c b/src/target/firmware/fb/c64.c new file mode 100644 index 00000000..82ebfa35 --- /dev/null +++ b/src/target/firmware/fb/c64.c @@ -0,0 +1,1069 @@ +#include +static const uint8_t font_c64_data[] = { +/* --- new character ' ' (32) starting at offset 0x0000 --- */ + /*0000:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0005:*/ 0x00, /* ........ */ + /*0006:*/ 0x00, /* ........ */ + /*0007:*/ 0x00, /* ........ */ + /*0008:*/ 0x00, /* ........ */ + /*0009:*/ 0x00, /* ........ */ + /*000a:*/ 0x00, /* ........ */ + /*000b:*/ 0x00, /* ........ */ + /*000c:*/ 0x00, /* ........ */ +/* --- new character '!' (33) starting at offset 0x000d --- */ + /*000d:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0012:*/ 0x18, /* ...##... */ + /*0013:*/ 0x18, /* ...##... */ + /*0014:*/ 0x18, /* ...##... */ + /*0015:*/ 0x18, /* ...##... */ + /*0016:*/ 0x00, /* ........ */ + /*0017:*/ 0x00, /* ........ */ + /*0018:*/ 0x18, /* ...##... */ + /*0019:*/ 0x00, /* ........ */ +/* --- new character '"' (34) starting at offset 0x001a --- */ + /*001a:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*001f:*/ 0x66, /* .##..##. */ + /*0020:*/ 0x66, /* .##..##. */ + /*0021:*/ 0x66, /* .##..##. */ + /*0022:*/ 0x00, /* ........ */ + /*0023:*/ 0x00, /* ........ */ + /*0024:*/ 0x00, /* ........ */ + /*0025:*/ 0x00, /* ........ */ + /*0026:*/ 0x00, /* ........ */ +/* --- new character '#' (35) starting at offset 0x0027 --- */ + /*0027:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*002c:*/ 0x66, /* .##..##. */ + /*002d:*/ 0x66, /* .##..##. */ + /*002e:*/ 0xff, /* ######## */ + /*002f:*/ 0x66, /* .##..##. */ + /*0030:*/ 0xff, /* ######## */ + /*0031:*/ 0x66, /* .##..##. */ + /*0032:*/ 0x66, /* .##..##. */ + /*0033:*/ 0x00, /* ........ */ +/* --- new character '$' (36) starting at offset 0x0034 --- */ + /*0034:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0039:*/ 0x18, /* ...##... */ + /*003a:*/ 0x3e, /* ..#####. */ + /*003b:*/ 0x60, /* .##..... */ + /*003c:*/ 0x3c, /* ..####.. */ + /*003d:*/ 0x06, /* .....##. */ + /*003e:*/ 0x7c, /* .#####.. */ + /*003f:*/ 0x18, /* ...##... */ + /*0040:*/ 0x00, /* ........ */ +/* --- new character '%' (37) starting at offset 0x0041 --- */ + /*0041:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0046:*/ 0x62, /* .##...#. */ + /*0047:*/ 0x66, /* .##..##. */ + /*0048:*/ 0x0c, /* ....##.. */ + /*0049:*/ 0x18, /* ...##... */ + /*004a:*/ 0x30, /* ..##.... */ + /*004b:*/ 0x66, /* .##..##. */ + /*004c:*/ 0x46, /* .#...##. */ + /*004d:*/ 0x00, /* ........ */ +/* --- new character '&' (38) starting at offset 0x004e --- */ + /*004e:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0053:*/ 0x3c, /* ..####.. */ + /*0054:*/ 0x66, /* .##..##. */ + /*0055:*/ 0x3c, /* ..####.. */ + /*0056:*/ 0x38, /* ..###... */ + /*0057:*/ 0x67, /* .##..### */ + /*0058:*/ 0x66, /* .##..##. */ + /*0059:*/ 0x3f, /* ..###### */ + /*005a:*/ 0x00, /* ........ */ +/* --- new character ''' (39) starting at offset 0x005b --- */ + /*005b:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0060:*/ 0x06, /* .....##. */ + /*0061:*/ 0x0c, /* ....##.. */ + /*0062:*/ 0x18, /* ...##... */ + /*0063:*/ 0x00, /* ........ */ + /*0064:*/ 0x00, /* ........ */ + /*0065:*/ 0x00, /* ........ */ + /*0066:*/ 0x00, /* ........ */ + /*0067:*/ 0x00, /* ........ */ +/* --- new character '(' (40) starting at offset 0x0068 --- */ + /*0068:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*006d:*/ 0x0c, /* ....##.. */ + /*006e:*/ 0x18, /* ...##... */ + /*006f:*/ 0x30, /* ..##.... */ + /*0070:*/ 0x30, /* ..##.... */ + /*0071:*/ 0x30, /* ..##.... */ + /*0072:*/ 0x18, /* ...##... */ + /*0073:*/ 0x0c, /* ....##.. */ + /*0074:*/ 0x00, /* ........ */ +/* --- new character ')' (41) starting at offset 0x0075 --- */ + /*0075:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*007a:*/ 0x30, /* ..##.... */ + /*007b:*/ 0x18, /* ...##... */ + /*007c:*/ 0x0c, /* ....##.. */ + /*007d:*/ 0x0c, /* ....##.. */ + /*007e:*/ 0x0c, /* ....##.. */ + /*007f:*/ 0x18, /* ...##... */ + /*0080:*/ 0x30, /* ..##.... */ + /*0081:*/ 0x00, /* ........ */ +/* --- new character '*' (42) starting at offset 0x0082 --- */ + /*0082:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0087:*/ 0x00, /* ........ */ + /*0088:*/ 0x66, /* .##..##. */ + /*0089:*/ 0x3c, /* ..####.. */ + /*008a:*/ 0xff, /* ######## */ + /*008b:*/ 0x3c, /* ..####.. */ + /*008c:*/ 0x66, /* .##..##. */ + /*008d:*/ 0x00, /* ........ */ + /*008e:*/ 0x00, /* ........ */ +/* --- new character '+' (43) starting at offset 0x008f --- */ + /*008f:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0094:*/ 0x00, /* ........ */ + /*0095:*/ 0x18, /* ...##... */ + /*0096:*/ 0x18, /* ...##... */ + /*0097:*/ 0x7e, /* .######. */ + /*0098:*/ 0x18, /* ...##... */ + /*0099:*/ 0x18, /* ...##... */ + /*009a:*/ 0x00, /* ........ */ + /*009b:*/ 0x00, /* ........ */ +/* --- new character ',' (44) starting at offset 0x009c --- */ + /*009c:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*00a1:*/ 0x00, /* ........ */ + /*00a2:*/ 0x00, /* ........ */ + /*00a3:*/ 0x00, /* ........ */ + /*00a4:*/ 0x00, /* ........ */ + /*00a5:*/ 0x00, /* ........ */ + /*00a6:*/ 0x18, /* ...##... */ + /*00a7:*/ 0x18, /* ...##... */ + /*00a8:*/ 0x30, /* ..##.... */ +/* --- new character '-' (45) starting at offset 0x00a9 --- */ + /*00a9:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*00ae:*/ 0x00, /* ........ */ + /*00af:*/ 0x00, /* ........ */ + /*00b0:*/ 0x00, /* ........ */ + /*00b1:*/ 0x7e, /* .######. */ + /*00b2:*/ 0x00, /* ........ */ + /*00b3:*/ 0x00, /* ........ */ + /*00b4:*/ 0x00, /* ........ */ + /*00b5:*/ 0x00, /* ........ */ +/* --- new character '.' (46) starting at offset 0x00b6 --- */ + /*00b6:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*00bb:*/ 0x00, /* ........ */ + /*00bc:*/ 0x00, /* ........ */ + /*00bd:*/ 0x00, /* ........ */ + /*00be:*/ 0x00, /* ........ */ + /*00bf:*/ 0x00, /* ........ */ + /*00c0:*/ 0x18, /* ...##... */ + /*00c1:*/ 0x18, /* ...##... */ + /*00c2:*/ 0x00, /* ........ */ +/* --- new character '/' (47) starting at offset 0x00c3 --- */ + /*00c3:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*00c8:*/ 0x00, /* ........ */ + /*00c9:*/ 0x03, /* ......## */ + /*00ca:*/ 0x06, /* .....##. */ + /*00cb:*/ 0x0c, /* ....##.. */ + /*00cc:*/ 0x18, /* ...##... */ + /*00cd:*/ 0x30, /* ..##.... */ + /*00ce:*/ 0x60, /* .##..... */ + /*00cf:*/ 0x00, /* ........ */ +/* --- new character '0' (48) starting at offset 0x00d0 --- */ + /*00d0:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*00d5:*/ 0x3c, /* ..####.. */ + /*00d6:*/ 0x66, /* .##..##. */ + /*00d7:*/ 0x6e, /* .##.###. */ + /*00d8:*/ 0x76, /* .###.##. */ + /*00d9:*/ 0x66, /* .##..##. */ + /*00da:*/ 0x66, /* .##..##. */ + /*00db:*/ 0x3c, /* ..####.. */ + /*00dc:*/ 0x00, /* ........ */ +/* --- new character '1' (49) starting at offset 0x00dd --- */ + /*00dd:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*00e2:*/ 0x18, /* ...##... */ + /*00e3:*/ 0x18, /* ...##... */ + /*00e4:*/ 0x38, /* ..###... */ + /*00e5:*/ 0x18, /* ...##... */ + /*00e6:*/ 0x18, /* ...##... */ + /*00e7:*/ 0x18, /* ...##... */ + /*00e8:*/ 0x7e, /* .######. */ + /*00e9:*/ 0x00, /* ........ */ +/* --- new character '2' (50) starting at offset 0x00ea --- */ + /*00ea:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*00ef:*/ 0x3c, /* ..####.. */ + /*00f0:*/ 0x66, /* .##..##. */ + /*00f1:*/ 0x06, /* .....##. */ + /*00f2:*/ 0x0c, /* ....##.. */ + /*00f3:*/ 0x30, /* ..##.... */ + /*00f4:*/ 0x60, /* .##..... */ + /*00f5:*/ 0x7e, /* .######. */ + /*00f6:*/ 0x00, /* ........ */ +/* --- new character '3' (51) starting at offset 0x00f7 --- */ + /*00f7:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*00fc:*/ 0x3c, /* ..####.. */ + /*00fd:*/ 0x66, /* .##..##. */ + /*00fe:*/ 0x06, /* .....##. */ + /*00ff:*/ 0x1c, /* ...###.. */ + /*0100:*/ 0x06, /* .....##. */ + /*0101:*/ 0x66, /* .##..##. */ + /*0102:*/ 0x3c, /* ..####.. */ + /*0103:*/ 0x00, /* ........ */ +/* --- new character '4' (52) starting at offset 0x0104 --- */ + /*0104:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0109:*/ 0x06, /* .....##. */ + /*010a:*/ 0x0e, /* ....###. */ + /*010b:*/ 0x1e, /* ...####. */ + /*010c:*/ 0x66, /* .##..##. */ + /*010d:*/ 0x7f, /* .####### */ + /*010e:*/ 0x06, /* .....##. */ + /*010f:*/ 0x06, /* .....##. */ + /*0110:*/ 0x00, /* ........ */ +/* --- new character '5' (53) starting at offset 0x0111 --- */ + /*0111:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0116:*/ 0x7e, /* .######. */ + /*0117:*/ 0x60, /* .##..... */ + /*0118:*/ 0x7c, /* .#####.. */ + /*0119:*/ 0x06, /* .....##. */ + /*011a:*/ 0x06, /* .....##. */ + /*011b:*/ 0x66, /* .##..##. */ + /*011c:*/ 0x3c, /* ..####.. */ + /*011d:*/ 0x00, /* ........ */ +/* --- new character '6' (54) starting at offset 0x011e --- */ + /*011e:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0123:*/ 0x3c, /* ..####.. */ + /*0124:*/ 0x66, /* .##..##. */ + /*0125:*/ 0x60, /* .##..... */ + /*0126:*/ 0x7c, /* .#####.. */ + /*0127:*/ 0x66, /* .##..##. */ + /*0128:*/ 0x66, /* .##..##. */ + /*0129:*/ 0x3c, /* ..####.. */ + /*012a:*/ 0x00, /* ........ */ +/* --- new character '7' (55) starting at offset 0x012b --- */ + /*012b:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0130:*/ 0x7e, /* .######. */ + /*0131:*/ 0x66, /* .##..##. */ + /*0132:*/ 0x0c, /* ....##.. */ + /*0133:*/ 0x18, /* ...##... */ + /*0134:*/ 0x18, /* ...##... */ + /*0135:*/ 0x18, /* ...##... */ + /*0136:*/ 0x18, /* ...##... */ + /*0137:*/ 0x00, /* ........ */ +/* --- new character '8' (56) starting at offset 0x0138 --- */ + /*0138:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*013d:*/ 0x3c, /* ..####.. */ + /*013e:*/ 0x66, /* .##..##. */ + /*013f:*/ 0x66, /* .##..##. */ + /*0140:*/ 0x3c, /* ..####.. */ + /*0141:*/ 0x66, /* .##..##. */ + /*0142:*/ 0x66, /* .##..##. */ + /*0143:*/ 0x3c, /* ..####.. */ + /*0144:*/ 0x00, /* ........ */ +/* --- new character '9' (57) starting at offset 0x0145 --- */ + /*0145:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*014a:*/ 0x3c, /* ..####.. */ + /*014b:*/ 0x66, /* .##..##. */ + /*014c:*/ 0x66, /* .##..##. */ + /*014d:*/ 0x3e, /* ..#####. */ + /*014e:*/ 0x06, /* .....##. */ + /*014f:*/ 0x66, /* .##..##. */ + /*0150:*/ 0x3c, /* ..####.. */ + /*0151:*/ 0x00, /* ........ */ +/* --- new character ':' (58) starting at offset 0x0152 --- */ + /*0152:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0157:*/ 0x00, /* ........ */ + /*0158:*/ 0x00, /* ........ */ + /*0159:*/ 0x18, /* ...##... */ + /*015a:*/ 0x00, /* ........ */ + /*015b:*/ 0x00, /* ........ */ + /*015c:*/ 0x18, /* ...##... */ + /*015d:*/ 0x00, /* ........ */ + /*015e:*/ 0x00, /* ........ */ +/* --- new character ';' (59) starting at offset 0x015f --- */ + /*015f:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0164:*/ 0x00, /* ........ */ + /*0165:*/ 0x00, /* ........ */ + /*0166:*/ 0x18, /* ...##... */ + /*0167:*/ 0x00, /* ........ */ + /*0168:*/ 0x00, /* ........ */ + /*0169:*/ 0x18, /* ...##... */ + /*016a:*/ 0x18, /* ...##... */ + /*016b:*/ 0x30, /* ..##.... */ +/* --- new character '<' (60) starting at offset 0x016c --- */ + /*016c:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0171:*/ 0x0e, /* ....###. */ + /*0172:*/ 0x18, /* ...##... */ + /*0173:*/ 0x30, /* ..##.... */ + /*0174:*/ 0x60, /* .##..... */ + /*0175:*/ 0x30, /* ..##.... */ + /*0176:*/ 0x18, /* ...##... */ + /*0177:*/ 0x0e, /* ....###. */ + /*0178:*/ 0x00, /* ........ */ +/* --- new character '=' (61) starting at offset 0x0179 --- */ + /*0179:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*017e:*/ 0x00, /* ........ */ + /*017f:*/ 0x00, /* ........ */ + /*0180:*/ 0x7e, /* .######. */ + /*0181:*/ 0x00, /* ........ */ + /*0182:*/ 0x7e, /* .######. */ + /*0183:*/ 0x00, /* ........ */ + /*0184:*/ 0x00, /* ........ */ + /*0185:*/ 0x00, /* ........ */ +/* --- new character '>' (62) starting at offset 0x0186 --- */ + /*0186:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*018b:*/ 0x70, /* .###.... */ + /*018c:*/ 0x18, /* ...##... */ + /*018d:*/ 0x0c, /* ....##.. */ + /*018e:*/ 0x06, /* .....##. */ + /*018f:*/ 0x0c, /* ....##.. */ + /*0190:*/ 0x18, /* ...##... */ + /*0191:*/ 0x70, /* .###.... */ + /*0192:*/ 0x00, /* ........ */ +/* --- new character '?' (63) starting at offset 0x0193 --- */ + /*0193:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0198:*/ 0x3c, /* ..####.. */ + /*0199:*/ 0x66, /* .##..##. */ + /*019a:*/ 0x06, /* .....##. */ + /*019b:*/ 0x0c, /* ....##.. */ + /*019c:*/ 0x18, /* ...##... */ + /*019d:*/ 0x00, /* ........ */ + /*019e:*/ 0x18, /* ...##... */ + /*019f:*/ 0x00, /* ........ */ +/* --- new character '@' (64) starting at offset 0x01a0 --- */ + /*01a0:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*01a5:*/ 0x3c, /* ..####.. */ + /*01a6:*/ 0x66, /* .##..##. */ + /*01a7:*/ 0x6e, /* .##.###. */ + /*01a8:*/ 0x6e, /* .##.###. */ + /*01a9:*/ 0x60, /* .##..... */ + /*01aa:*/ 0x62, /* .##...#. */ + /*01ab:*/ 0x3c, /* ..####.. */ + /*01ac:*/ 0x00, /* ........ */ +/* --- new character 'A' (65) starting at offset 0x01ad --- */ + /*01ad:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*01b2:*/ 0x18, /* ...##... */ + /*01b3:*/ 0x3c, /* ..####.. */ + /*01b4:*/ 0x66, /* .##..##. */ + /*01b5:*/ 0x7e, /* .######. */ + /*01b6:*/ 0x66, /* .##..##. */ + /*01b7:*/ 0x66, /* .##..##. */ + /*01b8:*/ 0x66, /* .##..##. */ + /*01b9:*/ 0x00, /* ........ */ +/* --- new character 'B' (66) starting at offset 0x01ba --- */ + /*01ba:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*01bf:*/ 0x7c, /* .#####.. */ + /*01c0:*/ 0x66, /* .##..##. */ + /*01c1:*/ 0x66, /* .##..##. */ + /*01c2:*/ 0x7c, /* .#####.. */ + /*01c3:*/ 0x66, /* .##..##. */ + /*01c4:*/ 0x66, /* .##..##. */ + /*01c5:*/ 0x7c, /* .#####.. */ + /*01c6:*/ 0x00, /* ........ */ +/* --- new character 'C' (67) starting at offset 0x01c7 --- */ + /*01c7:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*01cc:*/ 0x3c, /* ..####.. */ + /*01cd:*/ 0x66, /* .##..##. */ + /*01ce:*/ 0x60, /* .##..... */ + /*01cf:*/ 0x60, /* .##..... */ + /*01d0:*/ 0x60, /* .##..... */ + /*01d1:*/ 0x66, /* .##..##. */ + /*01d2:*/ 0x3c, /* ..####.. */ + /*01d3:*/ 0x00, /* ........ */ +/* --- new character 'D' (68) starting at offset 0x01d4 --- */ + /*01d4:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*01d9:*/ 0x78, /* .####... */ + /*01da:*/ 0x6c, /* .##.##.. */ + /*01db:*/ 0x66, /* .##..##. */ + /*01dc:*/ 0x66, /* .##..##. */ + /*01dd:*/ 0x66, /* .##..##. */ + /*01de:*/ 0x6c, /* .##.##.. */ + /*01df:*/ 0x78, /* .####... */ + /*01e0:*/ 0x00, /* ........ */ +/* --- new character 'E' (69) starting at offset 0x01e1 --- */ + /*01e1:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*01e6:*/ 0x7e, /* .######. */ + /*01e7:*/ 0x60, /* .##..... */ + /*01e8:*/ 0x60, /* .##..... */ + /*01e9:*/ 0x78, /* .####... */ + /*01ea:*/ 0x60, /* .##..... */ + /*01eb:*/ 0x60, /* .##..... */ + /*01ec:*/ 0x7e, /* .######. */ + /*01ed:*/ 0x00, /* ........ */ +/* --- new character 'F' (70) starting at offset 0x01ee --- */ + /*01ee:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*01f3:*/ 0x7e, /* .######. */ + /*01f4:*/ 0x60, /* .##..... */ + /*01f5:*/ 0x60, /* .##..... */ + /*01f6:*/ 0x78, /* .####... */ + /*01f7:*/ 0x60, /* .##..... */ + /*01f8:*/ 0x60, /* .##..... */ + /*01f9:*/ 0x60, /* .##..... */ + /*01fa:*/ 0x00, /* ........ */ +/* --- new character 'G' (71) starting at offset 0x01fb --- */ + /*01fb:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0200:*/ 0x3c, /* ..####.. */ + /*0201:*/ 0x66, /* .##..##. */ + /*0202:*/ 0x60, /* .##..... */ + /*0203:*/ 0x6e, /* .##.###. */ + /*0204:*/ 0x66, /* .##..##. */ + /*0205:*/ 0x66, /* .##..##. */ + /*0206:*/ 0x3c, /* ..####.. */ + /*0207:*/ 0x00, /* ........ */ +/* --- new character 'H' (72) starting at offset 0x0208 --- */ + /*0208:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*020d:*/ 0x66, /* .##..##. */ + /*020e:*/ 0x66, /* .##..##. */ + /*020f:*/ 0x66, /* .##..##. */ + /*0210:*/ 0x7e, /* .######. */ + /*0211:*/ 0x66, /* .##..##. */ + /*0212:*/ 0x66, /* .##..##. */ + /*0213:*/ 0x66, /* .##..##. */ + /*0214:*/ 0x00, /* ........ */ +/* --- new character 'I' (73) starting at offset 0x0215 --- */ + /*0215:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*021a:*/ 0x3c, /* ..####.. */ + /*021b:*/ 0x18, /* ...##... */ + /*021c:*/ 0x18, /* ...##... */ + /*021d:*/ 0x18, /* ...##... */ + /*021e:*/ 0x18, /* ...##... */ + /*021f:*/ 0x18, /* ...##... */ + /*0220:*/ 0x3c, /* ..####.. */ + /*0221:*/ 0x00, /* ........ */ +/* --- new character 'J' (74) starting at offset 0x0222 --- */ + /*0222:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0227:*/ 0x1e, /* ...####. */ + /*0228:*/ 0x0c, /* ....##.. */ + /*0229:*/ 0x0c, /* ....##.. */ + /*022a:*/ 0x0c, /* ....##.. */ + /*022b:*/ 0x0c, /* ....##.. */ + /*022c:*/ 0x6c, /* .##.##.. */ + /*022d:*/ 0x38, /* ..###... */ + /*022e:*/ 0x00, /* ........ */ +/* --- new character 'K' (75) starting at offset 0x022f --- */ + /*022f:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0234:*/ 0x66, /* .##..##. */ + /*0235:*/ 0x6c, /* .##.##.. */ + /*0236:*/ 0x78, /* .####... */ + /*0237:*/ 0x70, /* .###.... */ + /*0238:*/ 0x78, /* .####... */ + /*0239:*/ 0x6c, /* .##.##.. */ + /*023a:*/ 0x66, /* .##..##. */ + /*023b:*/ 0x00, /* ........ */ +/* --- new character 'L' (76) starting at offset 0x023c --- */ + /*023c:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0241:*/ 0x60, /* .##..... */ + /*0242:*/ 0x60, /* .##..... */ + /*0243:*/ 0x60, /* .##..... */ + /*0244:*/ 0x60, /* .##..... */ + /*0245:*/ 0x60, /* .##..... */ + /*0246:*/ 0x60, /* .##..... */ + /*0247:*/ 0x7e, /* .######. */ + /*0248:*/ 0x00, /* ........ */ +/* --- new character 'M' (77) starting at offset 0x0249 --- */ + /*0249:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*024e:*/ 0x63, /* .##...## */ + /*024f:*/ 0x77, /* .###.### */ + /*0250:*/ 0x7f, /* .####### */ + /*0251:*/ 0x6b, /* .##.#.## */ + /*0252:*/ 0x63, /* .##...## */ + /*0253:*/ 0x63, /* .##...## */ + /*0254:*/ 0x63, /* .##...## */ + /*0255:*/ 0x00, /* ........ */ +/* --- new character 'N' (78) starting at offset 0x0256 --- */ + /*0256:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*025b:*/ 0x66, /* .##..##. */ + /*025c:*/ 0x76, /* .###.##. */ + /*025d:*/ 0x7e, /* .######. */ + /*025e:*/ 0x7e, /* .######. */ + /*025f:*/ 0x6e, /* .##.###. */ + /*0260:*/ 0x66, /* .##..##. */ + /*0261:*/ 0x66, /* .##..##. */ + /*0262:*/ 0x00, /* ........ */ +/* --- new character 'O' (79) starting at offset 0x0263 --- */ + /*0263:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0268:*/ 0x3c, /* ..####.. */ + /*0269:*/ 0x66, /* .##..##. */ + /*026a:*/ 0x66, /* .##..##. */ + /*026b:*/ 0x66, /* .##..##. */ + /*026c:*/ 0x66, /* .##..##. */ + /*026d:*/ 0x66, /* .##..##. */ + /*026e:*/ 0x3c, /* ..####.. */ + /*026f:*/ 0x00, /* ........ */ +/* --- new character 'P' (80) starting at offset 0x0270 --- */ + /*0270:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0275:*/ 0x7c, /* .#####.. */ + /*0276:*/ 0x66, /* .##..##. */ + /*0277:*/ 0x66, /* .##..##. */ + /*0278:*/ 0x7c, /* .#####.. */ + /*0279:*/ 0x60, /* .##..... */ + /*027a:*/ 0x60, /* .##..... */ + /*027b:*/ 0x60, /* .##..... */ + /*027c:*/ 0x00, /* ........ */ +/* --- new character 'Q' (81) starting at offset 0x027d --- */ + /*027d:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0282:*/ 0x3c, /* ..####.. */ + /*0283:*/ 0x66, /* .##..##. */ + /*0284:*/ 0x66, /* .##..##. */ + /*0285:*/ 0x66, /* .##..##. */ + /*0286:*/ 0x66, /* .##..##. */ + /*0287:*/ 0x3c, /* ..####.. */ + /*0288:*/ 0x0e, /* ....###. */ + /*0289:*/ 0x00, /* ........ */ +/* --- new character 'R' (82) starting at offset 0x028a --- */ + /*028a:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*028f:*/ 0x7c, /* .#####.. */ + /*0290:*/ 0x66, /* .##..##. */ + /*0291:*/ 0x66, /* .##..##. */ + /*0292:*/ 0x7c, /* .#####.. */ + /*0293:*/ 0x78, /* .####... */ + /*0294:*/ 0x6c, /* .##.##.. */ + /*0295:*/ 0x66, /* .##..##. */ + /*0296:*/ 0x00, /* ........ */ +/* --- new character 'S' (83) starting at offset 0x0297 --- */ + /*0297:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*029c:*/ 0x3c, /* ..####.. */ + /*029d:*/ 0x66, /* .##..##. */ + /*029e:*/ 0x60, /* .##..... */ + /*029f:*/ 0x3c, /* ..####.. */ + /*02a0:*/ 0x06, /* .....##. */ + /*02a1:*/ 0x66, /* .##..##. */ + /*02a2:*/ 0x3c, /* ..####.. */ + /*02a3:*/ 0x00, /* ........ */ +/* --- new character 'T' (84) starting at offset 0x02a4 --- */ + /*02a4:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*02a9:*/ 0x7e, /* .######. */ + /*02aa:*/ 0x18, /* ...##... */ + /*02ab:*/ 0x18, /* ...##... */ + /*02ac:*/ 0x18, /* ...##... */ + /*02ad:*/ 0x18, /* ...##... */ + /*02ae:*/ 0x18, /* ...##... */ + /*02af:*/ 0x18, /* ...##... */ + /*02b0:*/ 0x00, /* ........ */ +/* --- new character 'U' (85) starting at offset 0x02b1 --- */ + /*02b1:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*02b6:*/ 0x66, /* .##..##. */ + /*02b7:*/ 0x66, /* .##..##. */ + /*02b8:*/ 0x66, /* .##..##. */ + /*02b9:*/ 0x66, /* .##..##. */ + /*02ba:*/ 0x66, /* .##..##. */ + /*02bb:*/ 0x66, /* .##..##. */ + /*02bc:*/ 0x3c, /* ..####.. */ + /*02bd:*/ 0x00, /* ........ */ +/* --- new character 'V' (86) starting at offset 0x02be --- */ + /*02be:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*02c3:*/ 0x66, /* .##..##. */ + /*02c4:*/ 0x66, /* .##..##. */ + /*02c5:*/ 0x66, /* .##..##. */ + /*02c6:*/ 0x66, /* .##..##. */ + /*02c7:*/ 0x66, /* .##..##. */ + /*02c8:*/ 0x3c, /* ..####.. */ + /*02c9:*/ 0x18, /* ...##... */ + /*02ca:*/ 0x00, /* ........ */ +/* --- new character 'W' (87) starting at offset 0x02cb --- */ + /*02cb:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*02d0:*/ 0x63, /* .##...## */ + /*02d1:*/ 0x63, /* .##...## */ + /*02d2:*/ 0x63, /* .##...## */ + /*02d3:*/ 0x6b, /* .##.#.## */ + /*02d4:*/ 0x7f, /* .####### */ + /*02d5:*/ 0x77, /* .###.### */ + /*02d6:*/ 0x63, /* .##...## */ + /*02d7:*/ 0x00, /* ........ */ +/* --- new character 'X' (88) starting at offset 0x02d8 --- */ + /*02d8:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*02dd:*/ 0x66, /* .##..##. */ + /*02de:*/ 0x66, /* .##..##. */ + /*02df:*/ 0x3c, /* ..####.. */ + /*02e0:*/ 0x18, /* ...##... */ + /*02e1:*/ 0x3c, /* ..####.. */ + /*02e2:*/ 0x66, /* .##..##. */ + /*02e3:*/ 0x66, /* .##..##. */ + /*02e4:*/ 0x00, /* ........ */ +/* --- new character 'Y' (89) starting at offset 0x02e5 --- */ + /*02e5:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*02ea:*/ 0x66, /* .##..##. */ + /*02eb:*/ 0x66, /* .##..##. */ + /*02ec:*/ 0x66, /* .##..##. */ + /*02ed:*/ 0x3c, /* ..####.. */ + /*02ee:*/ 0x18, /* ...##... */ + /*02ef:*/ 0x18, /* ...##... */ + /*02f0:*/ 0x18, /* ...##... */ + /*02f1:*/ 0x00, /* ........ */ +/* --- new character 'Z' (90) starting at offset 0x02f2 --- */ + /*02f2:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*02f7:*/ 0x7e, /* .######. */ + /*02f8:*/ 0x06, /* .....##. */ + /*02f9:*/ 0x0c, /* ....##.. */ + /*02fa:*/ 0x18, /* ...##... */ + /*02fb:*/ 0x30, /* ..##.... */ + /*02fc:*/ 0x60, /* .##..... */ + /*02fd:*/ 0x7e, /* .######. */ + /*02fe:*/ 0x00, /* ........ */ +/* --- new character '[' (91) starting at offset 0x02ff --- */ + /*02ff:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0304:*/ 0x3c, /* ..####.. */ + /*0305:*/ 0x30, /* ..##.... */ + /*0306:*/ 0x30, /* ..##.... */ + /*0307:*/ 0x30, /* ..##.... */ + /*0308:*/ 0x30, /* ..##.... */ + /*0309:*/ 0x30, /* ..##.... */ + /*030a:*/ 0x3c, /* ..####.. */ + /*030b:*/ 0x00, /* ........ */ +/* --- new character '\' (92) starting at offset 0x030c --- */ + /*030c:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0311:*/ 0x00, /* ........ */ + /*0312:*/ 0xc0, /* ##...... */ + /*0313:*/ 0x60, /* .##..... */ + /*0314:*/ 0x30, /* ..##.... */ + /*0315:*/ 0x18, /* ...##... */ + /*0316:*/ 0x0c, /* ....##.. */ + /*0317:*/ 0x06, /* .....##. */ + /*0318:*/ 0x00, /* ........ */ +/* --- new character ']' (93) starting at offset 0x0319 --- */ + /*0319:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*031e:*/ 0x3c, /* ..####.. */ + /*031f:*/ 0x0c, /* ....##.. */ + /*0320:*/ 0x0c, /* ....##.. */ + /*0321:*/ 0x0c, /* ....##.. */ + /*0322:*/ 0x0c, /* ....##.. */ + /*0323:*/ 0x0c, /* ....##.. */ + /*0324:*/ 0x3c, /* ..####.. */ + /*0325:*/ 0x00, /* ........ */ +/* --- new character '^' (94) starting at offset 0x0326 --- */ + /*0326:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*032b:*/ 0x18, /* ...##... */ + /*032c:*/ 0x3c, /* ..####.. */ + /*032d:*/ 0x66, /* .##..##. */ + /*032e:*/ 0x00, /* ........ */ + /*032f:*/ 0x00, /* ........ */ + /*0330:*/ 0x00, /* ........ */ + /*0331:*/ 0x00, /* ........ */ + /*0332:*/ 0x00, /* ........ */ +/* --- new character '_' (95) starting at offset 0x0333 --- */ + /*0333:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0338:*/ 0x00, /* ........ */ + /*0339:*/ 0x00, /* ........ */ + /*033a:*/ 0x00, /* ........ */ + /*033b:*/ 0x00, /* ........ */ + /*033c:*/ 0x00, /* ........ */ + /*033d:*/ 0x00, /* ........ */ + /*033e:*/ 0x00, /* ........ */ + /*033f:*/ 0xff, /* ######## */ +/* --- new character '`' (96) starting at offset 0x0340 --- */ + /*0340:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0345:*/ 0x60, /* .##..... */ + /*0346:*/ 0x30, /* ..##.... */ + /*0347:*/ 0x18, /* ...##... */ + /*0348:*/ 0x00, /* ........ */ + /*0349:*/ 0x00, /* ........ */ + /*034a:*/ 0x00, /* ........ */ + /*034b:*/ 0x00, /* ........ */ + /*034c:*/ 0x00, /* ........ */ +/* --- new character 'a' (97) starting at offset 0x034d --- */ + /*034d:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0352:*/ 0x00, /* ........ */ + /*0353:*/ 0x00, /* ........ */ + /*0354:*/ 0x3c, /* ..####.. */ + /*0355:*/ 0x06, /* .....##. */ + /*0356:*/ 0x3e, /* ..#####. */ + /*0357:*/ 0x66, /* .##..##. */ + /*0358:*/ 0x3e, /* ..#####. */ + /*0359:*/ 0x00, /* ........ */ +/* --- new character 'b' (98) starting at offset 0x035a --- */ + /*035a:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*035f:*/ 0x00, /* ........ */ + /*0360:*/ 0x60, /* .##..... */ + /*0361:*/ 0x60, /* .##..... */ + /*0362:*/ 0x7c, /* .#####.. */ + /*0363:*/ 0x66, /* .##..##. */ + /*0364:*/ 0x66, /* .##..##. */ + /*0365:*/ 0x7c, /* .#####.. */ + /*0366:*/ 0x00, /* ........ */ +/* --- new character 'c' (99) starting at offset 0x0367 --- */ + /*0367:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*036c:*/ 0x00, /* ........ */ + /*036d:*/ 0x00, /* ........ */ + /*036e:*/ 0x3c, /* ..####.. */ + /*036f:*/ 0x60, /* .##..... */ + /*0370:*/ 0x60, /* .##..... */ + /*0371:*/ 0x60, /* .##..... */ + /*0372:*/ 0x3c, /* ..####.. */ + /*0373:*/ 0x00, /* ........ */ +/* --- new character 'd' (100) starting at offset 0x0374 --- */ + /*0374:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0379:*/ 0x00, /* ........ */ + /*037a:*/ 0x06, /* .....##. */ + /*037b:*/ 0x06, /* .....##. */ + /*037c:*/ 0x3e, /* ..#####. */ + /*037d:*/ 0x66, /* .##..##. */ + /*037e:*/ 0x66, /* .##..##. */ + /*037f:*/ 0x3e, /* ..#####. */ + /*0380:*/ 0x00, /* ........ */ +/* --- new character 'e' (101) starting at offset 0x0381 --- */ + /*0381:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0386:*/ 0x00, /* ........ */ + /*0387:*/ 0x00, /* ........ */ + /*0388:*/ 0x3c, /* ..####.. */ + /*0389:*/ 0x66, /* .##..##. */ + /*038a:*/ 0x7e, /* .######. */ + /*038b:*/ 0x60, /* .##..... */ + /*038c:*/ 0x3c, /* ..####.. */ + /*038d:*/ 0x00, /* ........ */ +/* --- new character 'f' (102) starting at offset 0x038e --- */ + /*038e:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0393:*/ 0x00, /* ........ */ + /*0394:*/ 0x0e, /* ....###. */ + /*0395:*/ 0x18, /* ...##... */ + /*0396:*/ 0x3e, /* ..#####. */ + /*0397:*/ 0x18, /* ...##... */ + /*0398:*/ 0x18, /* ...##... */ + /*0399:*/ 0x18, /* ...##... */ + /*039a:*/ 0x00, /* ........ */ +/* --- new character 'g' (103) starting at offset 0x039b --- */ + /*039b:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*03a0:*/ 0x00, /* ........ */ + /*03a1:*/ 0x00, /* ........ */ + /*03a2:*/ 0x3e, /* ..#####. */ + /*03a3:*/ 0x66, /* .##..##. */ + /*03a4:*/ 0x66, /* .##..##. */ + /*03a5:*/ 0x3e, /* ..#####. */ + /*03a6:*/ 0x06, /* .....##. */ + /*03a7:*/ 0x7c, /* .#####.. */ +/* --- new character 'h' (104) starting at offset 0x03a8 --- */ + /*03a8:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*03ad:*/ 0x00, /* ........ */ + /*03ae:*/ 0x60, /* .##..... */ + /*03af:*/ 0x60, /* .##..... */ + /*03b0:*/ 0x7c, /* .#####.. */ + /*03b1:*/ 0x66, /* .##..##. */ + /*03b2:*/ 0x66, /* .##..##. */ + /*03b3:*/ 0x66, /* .##..##. */ + /*03b4:*/ 0x00, /* ........ */ +/* --- new character 'i' (105) starting at offset 0x03b5 --- */ + /*03b5:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*03ba:*/ 0x00, /* ........ */ + /*03bb:*/ 0x18, /* ...##... */ + /*03bc:*/ 0x00, /* ........ */ + /*03bd:*/ 0x38, /* ..###... */ + /*03be:*/ 0x18, /* ...##... */ + /*03bf:*/ 0x18, /* ...##... */ + /*03c0:*/ 0x3c, /* ..####.. */ + /*03c1:*/ 0x00, /* ........ */ +/* --- new character 'j' (106) starting at offset 0x03c2 --- */ + /*03c2:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*03c7:*/ 0x00, /* ........ */ + /*03c8:*/ 0x06, /* .....##. */ + /*03c9:*/ 0x00, /* ........ */ + /*03ca:*/ 0x06, /* .....##. */ + /*03cb:*/ 0x06, /* .....##. */ + /*03cc:*/ 0x06, /* .....##. */ + /*03cd:*/ 0x06, /* .....##. */ + /*03ce:*/ 0x3c, /* ..####.. */ +/* --- new character 'k' (107) starting at offset 0x03cf --- */ + /*03cf:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*03d4:*/ 0x00, /* ........ */ + /*03d5:*/ 0x60, /* .##..... */ + /*03d6:*/ 0x60, /* .##..... */ + /*03d7:*/ 0x6c, /* .##.##.. */ + /*03d8:*/ 0x78, /* .####... */ + /*03d9:*/ 0x6c, /* .##.##.. */ + /*03da:*/ 0x66, /* .##..##. */ + /*03db:*/ 0x00, /* ........ */ +/* --- new character 'l' (108) starting at offset 0x03dc --- */ + /*03dc:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*03e1:*/ 0x00, /* ........ */ + /*03e2:*/ 0x38, /* ..###... */ + /*03e3:*/ 0x18, /* ...##... */ + /*03e4:*/ 0x18, /* ...##... */ + /*03e5:*/ 0x18, /* ...##... */ + /*03e6:*/ 0x18, /* ...##... */ + /*03e7:*/ 0x3c, /* ..####.. */ + /*03e8:*/ 0x00, /* ........ */ +/* --- new character 'm' (109) starting at offset 0x03e9 --- */ + /*03e9:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*03ee:*/ 0x00, /* ........ */ + /*03ef:*/ 0x00, /* ........ */ + /*03f0:*/ 0x66, /* .##..##. */ + /*03f1:*/ 0x7f, /* .####### */ + /*03f2:*/ 0x7f, /* .####### */ + /*03f3:*/ 0x6b, /* .##.#.## */ + /*03f4:*/ 0x63, /* .##...## */ + /*03f5:*/ 0x00, /* ........ */ +/* --- new character 'n' (110) starting at offset 0x03f6 --- */ + /*03f6:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*03fb:*/ 0x00, /* ........ */ + /*03fc:*/ 0x00, /* ........ */ + /*03fd:*/ 0x7c, /* .#####.. */ + /*03fe:*/ 0x66, /* .##..##. */ + /*03ff:*/ 0x66, /* .##..##. */ + /*0400:*/ 0x66, /* .##..##. */ + /*0401:*/ 0x66, /* .##..##. */ + /*0402:*/ 0x00, /* ........ */ +/* --- new character 'o' (111) starting at offset 0x0403 --- */ + /*0403:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0408:*/ 0x00, /* ........ */ + /*0409:*/ 0x00, /* ........ */ + /*040a:*/ 0x3c, /* ..####.. */ + /*040b:*/ 0x66, /* .##..##. */ + /*040c:*/ 0x66, /* .##..##. */ + /*040d:*/ 0x66, /* .##..##. */ + /*040e:*/ 0x3c, /* ..####.. */ + /*040f:*/ 0x00, /* ........ */ +/* --- new character 'p' (112) starting at offset 0x0410 --- */ + /*0410:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0415:*/ 0x00, /* ........ */ + /*0416:*/ 0x00, /* ........ */ + /*0417:*/ 0x7c, /* .#####.. */ + /*0418:*/ 0x66, /* .##..##. */ + /*0419:*/ 0x66, /* .##..##. */ + /*041a:*/ 0x7c, /* .#####.. */ + /*041b:*/ 0x60, /* .##..... */ + /*041c:*/ 0x60, /* .##..... */ +/* --- new character 'q' (113) starting at offset 0x041d --- */ + /*041d:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0422:*/ 0x00, /* ........ */ + /*0423:*/ 0x00, /* ........ */ + /*0424:*/ 0x3e, /* ..#####. */ + /*0425:*/ 0x66, /* .##..##. */ + /*0426:*/ 0x66, /* .##..##. */ + /*0427:*/ 0x3e, /* ..#####. */ + /*0428:*/ 0x06, /* .....##. */ + /*0429:*/ 0x06, /* .....##. */ +/* --- new character 'r' (114) starting at offset 0x042a --- */ + /*042a:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*042f:*/ 0x00, /* ........ */ + /*0430:*/ 0x00, /* ........ */ + /*0431:*/ 0x7c, /* .#####.. */ + /*0432:*/ 0x66, /* .##..##. */ + /*0433:*/ 0x60, /* .##..... */ + /*0434:*/ 0x60, /* .##..... */ + /*0435:*/ 0x60, /* .##..... */ + /*0436:*/ 0x00, /* ........ */ +/* --- new character 's' (115) starting at offset 0x0437 --- */ + /*0437:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*043c:*/ 0x00, /* ........ */ + /*043d:*/ 0x00, /* ........ */ + /*043e:*/ 0x3e, /* ..#####. */ + /*043f:*/ 0x60, /* .##..... */ + /*0440:*/ 0x3c, /* ..####.. */ + /*0441:*/ 0x06, /* .....##. */ + /*0442:*/ 0x7c, /* .#####.. */ + /*0443:*/ 0x00, /* ........ */ +/* --- new character 't' (116) starting at offset 0x0444 --- */ + /*0444:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0449:*/ 0x00, /* ........ */ + /*044a:*/ 0x18, /* ...##... */ + /*044b:*/ 0x7e, /* .######. */ + /*044c:*/ 0x18, /* ...##... */ + /*044d:*/ 0x18, /* ...##... */ + /*044e:*/ 0x18, /* ...##... */ + /*044f:*/ 0x0e, /* ....###. */ + /*0450:*/ 0x00, /* ........ */ +/* --- new character 'u' (117) starting at offset 0x0451 --- */ + /*0451:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0456:*/ 0x00, /* ........ */ + /*0457:*/ 0x00, /* ........ */ + /*0458:*/ 0x66, /* .##..##. */ + /*0459:*/ 0x66, /* .##..##. */ + /*045a:*/ 0x66, /* .##..##. */ + /*045b:*/ 0x66, /* .##..##. */ + /*045c:*/ 0x3e, /* ..#####. */ + /*045d:*/ 0x00, /* ........ */ +/* --- new character 'v' (118) starting at offset 0x045e --- */ + /*045e:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0463:*/ 0x00, /* ........ */ + /*0464:*/ 0x00, /* ........ */ + /*0465:*/ 0x66, /* .##..##. */ + /*0466:*/ 0x66, /* .##..##. */ + /*0467:*/ 0x66, /* .##..##. */ + /*0468:*/ 0x3c, /* ..####.. */ + /*0469:*/ 0x18, /* ...##... */ + /*046a:*/ 0x00, /* ........ */ +/* --- new character 'w' (119) starting at offset 0x046b --- */ + /*046b:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0470:*/ 0x00, /* ........ */ + /*0471:*/ 0x00, /* ........ */ + /*0472:*/ 0x63, /* .##...## */ + /*0473:*/ 0x6b, /* .##.#.## */ + /*0474:*/ 0x7f, /* .####### */ + /*0475:*/ 0x3e, /* ..#####. */ + /*0476:*/ 0x36, /* ..##.##. */ + /*0477:*/ 0x00, /* ........ */ +/* --- new character 'x' (120) starting at offset 0x0478 --- */ + /*0478:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*047d:*/ 0x00, /* ........ */ + /*047e:*/ 0x00, /* ........ */ + /*047f:*/ 0x66, /* .##..##. */ + /*0480:*/ 0x3c, /* ..####.. */ + /*0481:*/ 0x18, /* ...##... */ + /*0482:*/ 0x3c, /* ..####.. */ + /*0483:*/ 0x66, /* .##..##. */ + /*0484:*/ 0x00, /* ........ */ +/* --- new character 'y' (121) starting at offset 0x0485 --- */ + /*0485:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*048a:*/ 0x00, /* ........ */ + /*048b:*/ 0x00, /* ........ */ + /*048c:*/ 0x66, /* .##..##. */ + /*048d:*/ 0x66, /* .##..##. */ + /*048e:*/ 0x66, /* .##..##. */ + /*048f:*/ 0x3e, /* ..#####. */ + /*0490:*/ 0x0c, /* ....##.. */ + /*0491:*/ 0x78, /* .####... */ +/* --- new character 'z' (122) starting at offset 0x0492 --- */ + /*0492:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*0497:*/ 0x00, /* ........ */ + /*0498:*/ 0x00, /* ........ */ + /*0499:*/ 0x7e, /* .######. */ + /*049a:*/ 0x0c, /* ....##.. */ + /*049b:*/ 0x18, /* ...##... */ + /*049c:*/ 0x30, /* ..##.... */ + /*049d:*/ 0x7e, /* .######. */ + /*049e:*/ 0x00, /* ........ */ +/* --- new character '{' (123) starting at offset 0x049f --- */ + /*049f:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*04a4:*/ 0x1c, /* ...###.. */ + /*04a5:*/ 0x30, /* ..##.... */ + /*04a6:*/ 0x30, /* ..##.... */ + /*04a7:*/ 0x60, /* .##..... */ + /*04a8:*/ 0x30, /* ..##.... */ + /*04a9:*/ 0x30, /* ..##.... */ + /*04aa:*/ 0x1c, /* ...###.. */ + /*04ab:*/ 0x00, /* ........ */ +/* --- new character '|' (124) starting at offset 0x04ac --- */ + /*04ac:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*04b1:*/ 0x18, /* ...##... */ + /*04b2:*/ 0x18, /* ...##... */ + /*04b3:*/ 0x18, /* ...##... */ + /*04b4:*/ 0x18, /* ...##... */ + /*04b5:*/ 0x18, /* ...##... */ + /*04b6:*/ 0x18, /* ...##... */ + /*04b7:*/ 0x18, /* ...##... */ + /*04b8:*/ 0x00, /* ........ */ +/* --- new character '}' (125) starting at offset 0x04b9 --- */ + /*04b9:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*04be:*/ 0x38, /* ..###... */ + /*04bf:*/ 0x0c, /* ....##.. */ + /*04c0:*/ 0x0c, /* ....##.. */ + /*04c1:*/ 0x06, /* .....##. */ + /*04c2:*/ 0x0c, /* ....##.. */ + /*04c3:*/ 0x0c, /* ....##.. */ + /*04c4:*/ 0x38, /* ..###... */ + /*04c5:*/ 0x00, /* ........ */ +/* --- new character '~' (126) starting at offset 0x04c6 --- */ + /*04c6:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*04cb:*/ 0x33, /* ..##..## */ + /*04cc:*/ 0x7e, /* .######. */ + /*04cd:*/ 0xcc, /* ##..##.. */ + /*04ce:*/ 0x00, /* ........ */ + /*04cf:*/ 0x00, /* ........ */ + /*04d0:*/ 0x00, /* ........ */ + /*04d1:*/ 0x00, /* ........ */ + /*04d2:*/ 0x00, /* ........ */ +/* --- new character '' (127) starting at offset 0x04d3 --- */ + /*04d3:*/ 8, 8, 8, 0, 0, /* width and bbox (w,h,x,y) */ + /*04d8:*/ 0x00, /* ........ */ + /*04d9:*/ 0x08, /* ....#... */ + /*04da:*/ 0x0c, /* ....##.. */ + /*04db:*/ 0xfe, /* #######. */ + /*04dc:*/ 0xfe, /* #######. */ + /*04dd:*/ 0x0c, /* ....##.. */ + /*04de:*/ 0x08, /* ....#... */ + /*04df:*/ 0x00, /* ........ */ +}; +static const uint16_t font_c64_offsets[] = { + 0x0000 /* ' ' */, + 0x000d /* '!' */, + 0x001a /* '"' */, + 0x0027 /* '#' */, + 0x0034 /* '$' */, + 0x0041 /* '%' */, + 0x004e /* '&' */, + 0x005b /* ''' */, + 0x0068 /* '(' */, + 0x0075 /* ')' */, + 0x0082 /* '*' */, + 0x008f /* '+' */, + 0x009c /* ',' */, + 0x00a9 /* '-' */, + 0x00b6 /* '.' */, + 0x00c3 /* '/' */, + 0x00d0 /* '0' */, + 0x00dd /* '1' */, + 0x00ea /* '2' */, + 0x00f7 /* '3' */, + 0x0104 /* '4' */, + 0x0111 /* '5' */, + 0x011e /* '6' */, + 0x012b /* '7' */, + 0x0138 /* '8' */, + 0x0145 /* '9' */, + 0x0152 /* ':' */, + 0x015f /* ';' */, + 0x016c /* '<' */, + 0x0179 /* '=' */, + 0x0186 /* '>' */, + 0x0193 /* '?' */, + 0x01a0 /* '@' */, + 0x01ad /* 'A' */, + 0x01ba /* 'B' */, + 0x01c7 /* 'C' */, + 0x01d4 /* 'D' */, + 0x01e1 /* 'E' */, + 0x01ee /* 'F' */, + 0x01fb /* 'G' */, + 0x0208 /* 'H' */, + 0x0215 /* 'I' */, + 0x0222 /* 'J' */, + 0x022f /* 'K' */, + 0x023c /* 'L' */, + 0x0249 /* 'M' */, + 0x0256 /* 'N' */, + 0x0263 /* 'O' */, + 0x0270 /* 'P' */, + 0x027d /* 'Q' */, + 0x028a /* 'R' */, + 0x0297 /* 'S' */, + 0x02a4 /* 'T' */, + 0x02b1 /* 'U' */, + 0x02be /* 'V' */, + 0x02cb /* 'W' */, + 0x02d8 /* 'X' */, + 0x02e5 /* 'Y' */, + 0x02f2 /* 'Z' */, + 0x02ff /* '[' */, + 0x030c /* '\' */, + 0x0319 /* ']' */, + 0x0326 /* '^' */, + 0x0333 /* '_' */, + 0x0340 /* '`' */, + 0x034d /* 'a' */, + 0x035a /* 'b' */, + 0x0367 /* 'c' */, + 0x0374 /* 'd' */, + 0x0381 /* 'e' */, + 0x038e /* 'f' */, + 0x039b /* 'g' */, + 0x03a8 /* 'h' */, + 0x03b5 /* 'i' */, + 0x03c2 /* 'j' */, + 0x03cf /* 'k' */, + 0x03dc /* 'l' */, + 0x03e9 /* 'm' */, + 0x03f6 /* 'n' */, + 0x0403 /* 'o' */, + 0x0410 /* 'p' */, + 0x041d /* 'q' */, + 0x042a /* 'r' */, + 0x0437 /* 's' */, + 0x0444 /* 't' */, + 0x0451 /* 'u' */, + 0x045e /* 'v' */, + 0x046b /* 'w' */, + 0x0478 /* 'x' */, + 0x0485 /* 'y' */, + 0x0492 /* 'z' */, + 0x049f /* '{' */, + 0x04ac /* '|' */, + 0x04b9 /* '}' */, + 0x04c6 /* '~' */, + 0x04d3 /* '' */, +}; +const struct fb_font font_c64 = { + .height = 8, + .ascent = 8, + .firstchar = 32, /* space */ + .lastchar = 127, /* ? */ + .chardata = font_c64_data, + .charoffs = font_c64_offsets, +}; diff --git a/src/target/firmware/fb/font.c b/src/target/firmware/fb/font.c index 2b82416c..d98096f3 100644 --- a/src/target/firmware/fb/font.c +++ b/src/target/firmware/fb/font.c @@ -31,6 +31,7 @@ extern const struct fb_font font_helvR14; //extern const struct fb_font font_helvB08; extern const struct fb_font font_helvB14; // extern const struct fb_font font_helvB24; +extern const struct fb_font font_c64; const struct fb_font *fb_fonts[]={ // &font_4x6, @@ -40,7 +41,8 @@ const struct fb_font *fb_fonts[]={ // &font_helvR24, // &font_helvB08, &font_helvB14, -// &font_helvB24 +// &font_helvB24, + &font_c64, }; const struct fb_char * diff --git a/src/target/firmware/include/fb/font.h b/src/target/firmware/include/fb/font.h index 680ee476..40a6974b 100644 --- a/src/target/firmware/include/fb/font.h +++ b/src/target/firmware/include/fb/font.h @@ -68,7 +68,8 @@ enum fb_font_id { // FB_FONT_HELVR24, // FB_FONT_HELVB08, FB_FONT_HELVB14, -// FB_FONT_HELVB24 +// FB_FONT_HELVB24, + FB_FONT_C64, }; extern const struct fb_font *fb_fonts[]; // note: has to match fb_font_id enum! -- cgit v1.2.3