// Font 7 // // This font has been 8-bit Run Length Encoded to save FLASH space // // This is a 7 segment font intended to display numbers and time // This font only contains characters [space] 0 1 2 3 4 5 6 7 8 9 : . - // All other characters print as a space PROGMEM const unsigned char widtbl_f7s[96] = // character width table { 12, 12, 12, 12, 12, 12, 12, 12, // char 32 - 39 12, 12, 12, 12, 12, 32, 12, 12, // char 40 - 47 32, 32, 32, 32, 32, 32, 32, 32, // char 48 - 55 32, 32, 12, 12, 12, 12, 12, 12, // char 56 - 63 12, 12, 12, 12, 12, 12, 12, 12, // char 64 - 71 12, 12, 12, 12, 12, 12, 12, 12, // char 72 - 79 12, 12, 12, 12, 12, 12, 12, 12, // char 80 - 87 12, 12, 12, 12, 12, 12, 12, 12, // char 88 - 95 12, 12, 12, 12, 12, 12, 12, 12, // char 96 - 103 12, 12, 12, 12, 12, 12, 12, 12, // char 104 - 111 12, 12, 12, 12, 12, 12, 12, 12, // char 112 - 119 12, 12, 12, 12, 12, 12, 12, 12 // char 120 - 127 }; // Row format, MSB left PROGMEM const unsigned char chr_f7s_20[] = { 0x7F, 0x7F, 0x7F, 0x7F, 0x3F }; // Make - sign look like a segment PROGMEM const unsigned char chr_f7s_2D[] = { 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x27, 0x8E, 0x0E, 0x92, 0x0A, 0x96, 0x09, 0x94, 0x0C, 0x90, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x47 }; PROGMEM const unsigned char chr_f7s_2E[] = { 0x7F, 0x7F, 0x7F, 0x7B, 0x82, 0x07, 0x84, 0x06, 0x84, 0x06, 0x84, 0x07, 0x82, 0x10 }; PROGMEM const unsigned char chr_f7s_30[] = { 0x27, 0x8E, 0x0F, 0x90, 0x0D, 0x92, 0x0D, 0x90, 0x01, 0x80, 0x08, 0x81, 0x01, 0x8E, 0x01, 0x82, 0x06, 0x83, 0x10, 0x84, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x84, 0x10, 0x84, 0x04, 0x82, 0x14, 0x82, 0x04, 0x80, 0x18, 0x80, 0x24, 0x80, 0x1E, 0x82, 0x15, 0x81, 0x04, 0x84, 0x11, 0x83, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x05, 0x83, 0x10, 0x83, 0x07, 0x81, 0x01, 0x8E, 0x01, 0x81, 0x0B, 0x90, 0x0D, 0x92, 0x0D, 0x90, 0x0F, 0x8E, 0x28 }; PROGMEM const unsigned char chr_f7s_31[] = { 0x7F, 0x19, 0x80, 0x1D, 0x82, 0x1B, 0x84, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x1A, 0x84, 0x1C, 0x82, 0x1E, 0x80, 0x5D, 0x81, 0x1B, 0x83, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x1A, 0x83, 0x1C, 0x81, 0x7F, 0x24 }; PROGMEM const unsigned char chr_f7s_32[] = { 0x27, 0x8E, 0x0F, 0x90, 0x0D, 0x92, 0x0D, 0x90, 0x01, 0x80, 0x0C, 0x8E, 0x01, 0x82, 0x1B, 0x84, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x1A, 0x84, 0x0A, 0x8E, 0x02, 0x82, 0x08, 0x92, 0x02, 0x80, 0x06, 0x96, 0x06, 0x80, 0x01, 0x94, 0x07, 0x82, 0x01, 0x90, 0x09, 0x84, 0x1A, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x1A, 0x83, 0x1C, 0x81, 0x01, 0x8E, 0x0F, 0x90, 0x0D, 0x92, 0x0D, 0x90, 0x0F, 0x8E, 0x28 }; PROGMEM const unsigned char chr_f7s_33[] = { 0x27, 0x8E, 0x0F, 0x90, 0x0D, 0x92, 0x0D, 0x90, 0x01, 0x80, 0x0C, 0x8E, 0x01, 0x82, 0x1B, 0x84, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x1A, 0x84, 0x0A, 0x8E, 0x02, 0x82, 0x08, 0x92, 0x02, 0x80, 0x06, 0x96, 0x09, 0x94, 0x0C, 0x90, 0x02, 0x81, 0x1B, 0x83, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x1A, 0x83, 0x0B, 0x8E, 0x01, 0x81, 0x0B, 0x90, 0x0D, 0x92, 0x0D, 0x90, 0x0F, 0x8E, 0x28 }; PROGMEM const unsigned char chr_f7s_34[] = { 0x7F, 0x19, 0x80, 0x08, 0x81, 0x12, 0x82, 0x06, 0x83, 0x10, 0x84, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x84, 0x10, 0x84, 0x04, 0x82, 0x02, 0x8E, 0x02, 0x82, 0x04, 0x80, 0x02, 0x92, 0x02, 0x80, 0x06, 0x96, 0x09, 0x94, 0x0C, 0x90, 0x02, 0x81, 0x1B, 0x83, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x1A, 0x83, 0x1C, 0x81, 0x7F, 0x24 }; PROGMEM const unsigned char chr_f7s_35[] = { 0x27, 0x8E, 0x0F, 0x90, 0x0D, 0x92, 0x0D, 0x90, 0x0B, 0x81, 0x01, 0x8E, 0x0B, 0x83, 0x1A, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x84, 0x1A, 0x82, 0x02, 0x8E, 0x0A, 0x80, 0x02, 0x92, 0x0A, 0x96, 0x09, 0x94, 0x0C, 0x90, 0x02, 0x81, 0x1B, 0x83, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x1A, 0x83, 0x0B, 0x8E, 0x01, 0x81, 0x0B, 0x90, 0x0D, 0x92, 0x0D, 0x90, 0x0F, 0x8E, 0x28 }; PROGMEM const unsigned char chr_f7s_36[] = { 0x27, 0x8E, 0x0F, 0x90, 0x0D, 0x92, 0x0D, 0x90, 0x0B, 0x81, 0x01, 0x8E, 0x0B, 0x83, 0x1A, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x84, 0x1A, 0x82, 0x02, 0x8E, 0x0A, 0x80, 0x02, 0x92, 0x0A, 0x96, 0x06, 0x80, 0x01, 0x94, 0x07, 0x82, 0x01, 0x90, 0x02, 0x81, 0x04, 0x84, 0x11, 0x83, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x05, 0x83, 0x10, 0x83, 0x07, 0x81, 0x01, 0x8E, 0x01, 0x81, 0x0B, 0x90, 0x0D, 0x92, 0x0D, 0x90, 0x0F, 0x8E, 0x28 }; PROGMEM const unsigned char chr_f7s_37[] = { 0x27, 0x8E, 0x0F, 0x90, 0x0D, 0x92, 0x0D, 0x90, 0x01, 0x80, 0x0C, 0x8E, 0x01, 0x82, 0x1B, 0x84, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x1A, 0x84, 0x1C, 0x82, 0x1E, 0x80, 0x5D, 0x81, 0x1B, 0x83, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x1A, 0x83, 0x1C, 0x81, 0x7F, 0x24 }; PROGMEM const unsigned char chr_f7s_38[] = { 0x27, 0x8E, 0x0F, 0x90, 0x0D, 0x92, 0x0D, 0x90, 0x01, 0x80, 0x08, 0x81, 0x01, 0x8E, 0x01, 0x82, 0x06, 0x83, 0x10, 0x84, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x84, 0x10, 0x84, 0x04, 0x82, 0x02, 0x8E, 0x02, 0x82, 0x04, 0x80, 0x02, 0x92, 0x02, 0x80, 0x06, 0x96, 0x06, 0x80, 0x01, 0x94, 0x07, 0x82, 0x01, 0x90, 0x02, 0x81, 0x04, 0x84, 0x11, 0x83, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x05, 0x83, 0x10, 0x83, 0x07, 0x81, 0x01, 0x8E, 0x01, 0x81, 0x0B, 0x90, 0x0D, 0x92, 0x0D, 0x90, 0x0F, 0x8E, 0x28 }; PROGMEM const unsigned char chr_f7s_39[] = { 0x27, 0x8E, 0x0F, 0x90, 0x0D, 0x92, 0x0D, 0x90, 0x01, 0x80, 0x08, 0x81, 0x01, 0x8E, 0x01, 0x82, 0x06, 0x83, 0x10, 0x84, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x85, 0x0E, 0x85, 0x04, 0x84, 0x10, 0x84, 0x04, 0x82, 0x02, 0x8E, 0x02, 0x82, 0x04, 0x80, 0x02, 0x92, 0x02, 0x80, 0x06, 0x96, 0x09, 0x94, 0x0C, 0x90, 0x02, 0x81, 0x1B, 0x83, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x19, 0x85, 0x1A, 0x83, 0x0B, 0x8E, 0x01, 0x81, 0x0B, 0x90, 0x0D, 0x92, 0x0D, 0x90, 0x0F, 0x8E, 0x28 }; PROGMEM const unsigned char chr_f7s_3A[] = { 0x7F, 0x1F, 0x82, 0x07, 0x84, 0x06, 0x84, 0x06, 0x84, 0x07, 0x82, 0x7F, 0x18, 0x82, 0x07, 0x84, 0x06, 0x84, 0x06, 0x84, 0x07, 0x82, 0x7F, 0x20 }; PROGMEM const unsigned char* const chrtbl_f7s[96] = // character pointer table { chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_2D, chr_f7s_2E, chr_f7s_20, chr_f7s_30, chr_f7s_31, chr_f7s_32, chr_f7s_33, chr_f7s_34, chr_f7s_35, chr_f7s_36, chr_f7s_37, chr_f7s_38, chr_f7s_39, chr_f7s_3A, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20, chr_f7s_20 };