212 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			212 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #include "main.h"
 | |
| 
 | |
| #include "bitmap_fonts.h"
 | |
| 
 | |
| // clang-format off
 | |
| const uint8_t font5x7[] = {
 | |
| 	0x00, 0x00, 0x5F, 0x00, 0x00,  // 0x21 !
 | |
| 	0x00, 0x07, 0x00, 0x07, 0x00,  // 0x22 "
 | |
| 	0x14, 0x7F, 0x14, 0x7F, 0x14,  // 0x23 #
 | |
| 	0x24, 0x2A, 0x7F, 0x2A, 0x12,  // 0x24 $
 | |
| 	0x23, 0x13, 0x08, 0x64, 0x62,  // 0x25 %
 | |
| 	0x36, 0x49, 0x56, 0x20, 0x50,  // 0x26 &
 | |
| 	0x00, 0x08, 0x07, 0x03, 0x00,  // 0x27 '
 | |
| 	0x00, 0x1C, 0x22, 0x41, 0x00,  // 0x28 (
 | |
| 	0x00, 0x41, 0x22, 0x1C, 0x00,  // 0x29 )
 | |
| 	0x2A, 0x1C, 0x7F, 0x1C, 0x2A,  // 0x2A *
 | |
| 	0x08, 0x08, 0x3E, 0x08, 0x08,  // 0x2B +
 | |
| 	0x00, 0x80, 0x70, 0x30, 0x00,  // 0x2C ,
 | |
| 	0x08, 0x08, 0x08, 0x08, 0x08,  // 0x2D -
 | |
| 	0x00, 0x00, 0x60, 0x60, 0x00,  // 0x2E .
 | |
| 	0x20, 0x10, 0x08, 0x04, 0x02,  // 0x2F /
 | |
| 	0x3E, 0x51, 0x49, 0x45, 0x3E,  // 0x30 0
 | |
| 	0x00, 0x42, 0x7F, 0x40, 0x00,  // 0x31 1
 | |
| 	0x72, 0x49, 0x49, 0x49, 0x46,  // 0x32 2
 | |
| 	0x21, 0x41, 0x49, 0x4D, 0x33,  // 0x33 3
 | |
| 	0x18, 0x14, 0x12, 0x7F, 0x10,  // 0x34 4
 | |
| 	0x27, 0x45, 0x45, 0x45, 0x39,  // 0x35 5
 | |
| 	0x3C, 0x4A, 0x49, 0x49, 0x31,  // 0x36 6
 | |
| 	0x41, 0x21, 0x11, 0x09, 0x07,  // 0x37 7
 | |
| 	0x36, 0x49, 0x49, 0x49, 0x36,  // 0x38 8
 | |
| 	0x46, 0x49, 0x49, 0x29, 0x1E,  // 0x39 9
 | |
| 	0x00, 0x00, 0x14, 0x00, 0x00,  // 0x3A :
 | |
| 	0x00, 0x40, 0x34, 0x00, 0x00,  // 0x3B ;
 | |
| 	0x00, 0x08, 0x14, 0x22, 0x41,  // 0x3C <
 | |
| 	0x14, 0x14, 0x14, 0x14, 0x14,  // 0x3D =
 | |
| 	0x00, 0x41, 0x22, 0x14, 0x08,  // 0x3E >
 | |
| 	0x02, 0x01, 0x59, 0x09, 0x06,  // 0x3F ?
 | |
| 	0x3E, 0x41, 0x5D, 0x59, 0x4E,  // 0x40 @
 | |
| 	0x7C, 0x12, 0x11, 0x12, 0x7C,  // 0x41 A
 | |
| 	0x7F, 0x49, 0x49, 0x49, 0x36,  // 0x42 B
 | |
| 	0x3E, 0x41, 0x41, 0x41, 0x22,  // 0x43 C
 | |
| 	0x7F, 0x41, 0x41, 0x41, 0x3E,  // 0x44 D
 | |
| 	0x7F, 0x49, 0x49, 0x49, 0x41,  // 0x45 E
 | |
| 	0x7F, 0x09, 0x09, 0x09, 0x01,  // 0x46 F
 | |
| 	0x3E, 0x41, 0x41, 0x51, 0x73,  // 0x47 G
 | |
| 	0x7F, 0x08, 0x08, 0x08, 0x7F,  // 0x48 H
 | |
| 	0x00, 0x41, 0x7F, 0x41, 0x00,  // 0x49 I
 | |
| 	0x20, 0x40, 0x41, 0x3F, 0x01,  // 0x4A J
 | |
| 	0x7F, 0x08, 0x14, 0x22, 0x41,  // 0x4B K
 | |
| 	0x7F, 0x40, 0x40, 0x40, 0x40,  // 0x4C L
 | |
| 	0x7F, 0x02, 0x1C, 0x02, 0x7F,  // 0x4D M
 | |
| 	0x7F, 0x04, 0x08, 0x10, 0x7F,  // 0x4E N
 | |
| 	0x3E, 0x41, 0x41, 0x41, 0x3E,  // 0x4F O
 | |
| 	0x7F, 0x09, 0x09, 0x09, 0x06,  // 0x50 P
 | |
| 	0x3E, 0x41, 0x51, 0x21, 0x5E,  // 0x51 Q
 | |
| 	0x7F, 0x09, 0x19, 0x29, 0x46,  // 0x52 R
 | |
| 	0x26, 0x49, 0x49, 0x49, 0x32,  // 0x53 S
 | |
| 	0x03, 0x01, 0x7F, 0x01, 0x03,  // 0x54 T
 | |
| 	0x3F, 0x40, 0x40, 0x40, 0x3F,  // 0x55 U
 | |
| 	0x1F, 0x20, 0x40, 0x20, 0x1F,  // 0x56 V
 | |
| 	0x3F, 0x40, 0x38, 0x40, 0x3F,  // 0x57 W
 | |
| 	0x63, 0x14, 0x08, 0x14, 0x63,  // 0x58 X
 | |
| 	0x03, 0x04, 0x78, 0x04, 0x03,  // 0x59 Y
 | |
| 	0x61, 0x59, 0x49, 0x4D, 0x43,  // 0x5A Z
 | |
| 	0x00, 0x7F, 0x41, 0x41, 0x41,  // 0x5B [
 | |
| 	0x02, 0x04, 0x08, 0x10, 0x20,  // 0x5C backslash
 | |
| 	0x00, 0x41, 0x41, 0x41, 0x7F,  // 0x5D ]
 | |
| 	0x04, 0x02, 0x01, 0x02, 0x04,  // 0x5E ^
 | |
| 	0x40, 0x40, 0x40, 0x40, 0x40,  // 0x5F _
 | |
| 	0x00, 0x03, 0x07, 0x08, 0x00,  // 0x60 `
 | |
| 	0x20, 0x54, 0x54, 0x78, 0x40,  // 0x61 a
 | |
| 	0x7F, 0x28, 0x44, 0x44, 0x38,  // 0x62 b
 | |
| 	0x38, 0x44, 0x44, 0x44, 0x28,  // 0x63 c
 | |
| 	0x38, 0x44, 0x44, 0x28, 0x7F,  // 0x64 d
 | |
| 	0x38, 0x54, 0x54, 0x54, 0x18,  // 0x65 e
 | |
| 	0x00, 0x08, 0x7E, 0x09, 0x02,  // 0x66 f
 | |
| 	0x18, 0xA4, 0xA4, 0x9C, 0x78,  // 0x67 g
 | |
| 	0x7F, 0x08, 0x04, 0x04, 0x78,  // 0x68 h
 | |
| 	0x00, 0x44, 0x7D, 0x40, 0x00,  // 0x69 i
 | |
| 	0x20, 0x40, 0x40, 0x3D, 0x00,  // 0x6A j
 | |
| 	0x7F, 0x10, 0x28, 0x44, 0x00,  // 0x6B k
 | |
| 	0x00, 0x41, 0x7F, 0x40, 0x00,  // 0x6C l
 | |
| 	0x7C, 0x04, 0x78, 0x04, 0x78,  // 0x6D m
 | |
| 	0x7C, 0x08, 0x04, 0x04, 0x78,  // 0x6E n
 | |
| 	0x38, 0x44, 0x44, 0x44, 0x38,  // 0x6F o
 | |
| 	0xFC, 0x18, 0x24, 0x24, 0x18,  // 0x70 p
 | |
| 	0x18, 0x24, 0x24, 0x18, 0xFC,  // 0x71 q
 | |
| 	0x7C, 0x08, 0x04, 0x04, 0x08,  // 0x72 r
 | |
| 	0x48, 0x54, 0x54, 0x54, 0x24,  // 0x73 s
 | |
| 	0x04, 0x04, 0x3F, 0x44, 0x24,  // 0x74 t
 | |
| 	0x3C, 0x40, 0x40, 0x20, 0x7C,  // 0x75 u
 | |
| 	0x1C, 0x20, 0x40, 0x20, 0x1C,  // 0x76 v
 | |
| 	0x3C, 0x40, 0x30, 0x40, 0x3C,  // 0x77 w
 | |
| 	0x44, 0x28, 0x10, 0x28, 0x44,  // 0x78 x
 | |
| 	0x4C, 0x90, 0x90, 0x90, 0x7C,  // 0x79 y
 | |
| 	0x44, 0x64, 0x54, 0x4C, 0x44,  // 0x7A z
 | |
| 	0x00, 0x08, 0x36, 0x41, 0x00,  // 0x7B {
 | |
| 	0x00, 0x00, 0x77, 0x00, 0x00,  // 0x7C |
 | |
| 	0x00, 0x41, 0x36, 0x08, 0x00,  // 0x7D }
 | |
| 	0x02, 0x01, 0x02, 0x04, 0x02,  // 0x7E ~
 | |
| };
 | |
| // clang-format on
 | |
| 
 | |
| /* { [Char width in bits], [Offset into arial_6ptCharBitmaps in bytes] } */
 | |
| const GFX_fontChar_t font5x7Descriptors[] = {
 | |
| 	{5, 00},  // 0x21 !
 | |
| 	{5, 05},  // 0x22 "
 | |
| 	{5, 10},  // 0x23 #
 | |
| 	{5, 15},  // 0x24 $
 | |
| 	{5, 20},  // 0x25 %
 | |
| 	{5, 25},  // 0x26 &
 | |
| 	{5, 30},  // 0x27 '
 | |
| 	{5, 35},  // 0x28 (
 | |
| 	{5, 40},  // 0x29 )
 | |
| 	{5, 45},  // 0x2A *
 | |
| 	{5, 50},  // 0x2B +
 | |
| 	{5, 55},  // 0x2C ,
 | |
| 	{5, 60},  // 0x2D -
 | |
| 	{5, 65},  // 0x2E .
 | |
| 	{5, 70},  // 0x2F /
 | |
| 	{5, 75},  // 0x30 0
 | |
| 	{5, 80},  // 0x31 1
 | |
| 	{5, 85},  // 0x32 2
 | |
| 	{5, 90},  // 0x33 3
 | |
| 	{5, 95},  // 0x34 4
 | |
| 	{5, 100}, // 0x35 5
 | |
| 	{5, 105}, // 0x36 6
 | |
| 	{5, 110}, // 0x37 7
 | |
| 	{5, 115}, // 0x38 8
 | |
| 	{5, 120}, // 0x39 9
 | |
| 	{5, 125}, // 0x3A :
 | |
| 	{5, 130}, // 0x3B ;
 | |
| 	{5, 135}, // 0x3C <
 | |
| 	{5, 140}, // 0x3D =
 | |
| 	{5, 145}, // 0x3E >
 | |
| 	{5, 150}, // 0x3F ?
 | |
| 	{5, 155}, // 0x40 @
 | |
| 	{5, 160}, // 0x41 A
 | |
| 	{5, 165}, // 0x42 B
 | |
| 	{5, 170}, // 0x43 C
 | |
| 	{5, 175}, // 0x44 D
 | |
| 	{5, 180}, // 0x45 E
 | |
| 	{5, 185}, // 0x46 F
 | |
| 	{5, 190}, // 0x47 G
 | |
| 	{5, 195}, // 0x48 H
 | |
| 	{5, 200}, // 0x49 I
 | |
| 	{5, 205}, // 0x4A J
 | |
| 	{5, 210}, // 0x4B K
 | |
| 	{5, 215}, // 0x4C L
 | |
| 	{5, 220}, // 0x4D M
 | |
| 	{5, 225}, // 0x4E N
 | |
| 	{5, 230}, // 0x4F O
 | |
| 	{5, 235}, // 0x50 P
 | |
| 	{5, 240}, // 0x51 Q
 | |
| 	{5, 245}, // 0x52 R
 | |
| 	{5, 250}, // 0x53 S
 | |
| 	{5, 255}, // 0x54 T
 | |
| 	{5, 260}, // 0x55 U
 | |
| 	{5, 265}, // 0x56 V
 | |
| 	{5, 270}, // 0x57 W
 | |
| 	{5, 275}, // 0x58 X
 | |
| 	{5, 280}, // 0x59 Y
 | |
| 	{5, 285}, // 0x5A Z
 | |
| 	{5, 290}, // 0x5B [
 | |
| 	{5, 295}, // 0x5C back
 | |
| 	{5, 300}, // 0x5D ]
 | |
| 	{5, 305}, // 0x5E ^
 | |
| 	{5, 310}, // 0x5F _
 | |
| 	{5, 315}, // 0x60 `
 | |
| 	{5, 320}, // 0x61 a
 | |
| 	{5, 325}, // 0x62 b
 | |
| 	{5, 330}, // 0x63 c
 | |
| 	{5, 335}, // 0x64 d
 | |
| 	{5, 340}, // 0x65 e
 | |
| 	{5, 345}, // 0x66 f
 | |
| 	{5, 350}, // 0x67 g
 | |
| 	{5, 355}, // 0x68 h
 | |
| 	{5, 360}, // 0x69 i
 | |
| 	{5, 365}, // 0x6A j
 | |
| 	{5, 370}, // 0x6B k
 | |
| 	{5, 375}, // 0x6C l
 | |
| 	{5, 380}, // 0x6D m
 | |
| 	{5, 385}, // 0x6E n
 | |
| 	{5, 390}, // 0x6F o
 | |
| 	{5, 395}, // 0x70 p
 | |
| 	{5, 400}, // 0x71 q
 | |
| 	{5, 405}, // 0x72 r
 | |
| 	{5, 410}, // 0x73 s
 | |
| 	{5, 415}, // 0x74 t
 | |
| 	{5, 420}, // 0x75 u
 | |
| 	{5, 425}, // 0x76 v
 | |
| 	{5, 430}, // 0x77 w
 | |
| 	{5, 435}, // 0x78 x
 | |
| 	{5, 440}, // 0x79 y
 | |
| 	{5, 445}, // 0x7A z
 | |
| 	{5, 450}, // 0x7B {
 | |
| 	{5, 455}, // 0x7C |
 | |
| 	{5, 460}, // 0x7D }
 | |
| 	{5, 465}, // 0x7E ~
 | |
| };
 | |
| 
 | |
| /* Font information for Arial 6pt */
 | |
| const GFX_font_t font5x7Info = {
 | |
| 	.heightPixels = 8,
 | |
| 	.startChar = '!',
 | |
| 	.endChar = '~',
 | |
| 	.interspacePixels = 1,
 | |
| 	.spacePixels = 3,
 | |
| 	.charInfo = font5x7Descriptors,
 | |
| 	.data = font5x7,
 | |
| };
 |