avr-something

Something something AVR side…
git clone git://henryandlizzy.uk/avr-something
Log | Files | Refs | README

font.h (10682B)


      1 #pragma once
      2 #include <inttypes.h>
      3 #include <avr/pgmspace.h>
      4 
      5 namespace fonts
      6 {
      7 using glyph = uint8_t[8];
      8 
      9 using font = glyph[];
     10 
     11 font const mash [[gnu::__progmem__]] =
     12 {
     13 	{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},//	space
     14 	{0x18, 0x3C, 0x3C, 0x18, 0x18, 0x00, 0x18, 0x00},//	!
     15 	{0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},//	"
     16 	{0x14, 0x14, 0x3E, 0x14, 0x3E, 0x14, 0x14, 0x00},//	#
     17 	{0x1C, 0x36, 0x30, 0x7C, 0x30, 0x30, 0x7E, 0x00},//	$
     18 	{0x66, 0x64, 0x0C, 0x08, 0x18, 0x13, 0x33, 0x00},//	%
     19 	{0x38, 0x6C, 0x6C, 0x39, 0x6E, 0x6E, 0x3B, 0x00},//	&
     20 	{0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},//	'
     21 	{0x0C, 0x1C, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x00},//	(
     22 	{0x18, 0x1C, 0x0C, 0x0C, 0x0C, 0x1C, 0x18, 0x00},//	)
     23 	{0x08, 0x2A, 0x1C, 0x14, 0x22, 0x00, 0x00, 0x00},//	*
     24 	{0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x00},//	+
     25 	{0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30},//	,
     26 	{0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00},//	-
     27 	{0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00},//	.
     28 	{0x0C, 0x0C, 0x1C, 0x18, 0x38, 0x30, 0x30, 0x00},//	/
     29 	{0x18, 0x24, 0x6E, 0x76, 0x66, 0x24, 0x18, 0x00},//	0
     30 	{0x18, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00},//	1
     31 	{0x3C, 0x66, 0x06, 0x0C, 0x18, 0x30, 0x7E, 0x00},//	2
     32 	{0x3C, 0x66, 0x06, 0x1C, 0x06, 0x66, 0x3C, 0x00},//	3
     33 	{0x0E, 0x1E, 0x36, 0x66, 0x7F, 0x06, 0x06, 0x00},//	4
     34 	{0x7E, 0x60, 0x60, 0x7C, 0x06, 0x66, 0x3C, 0x00},//	5
     35 	{0x3C, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x3C, 0x00},//	6
     36 	{0x7E, 0x06, 0x0E, 0x0C, 0x0C, 0x18, 0x18, 0x00},//	7
     37 	{0x3C, 0x66, 0x66, 0x3C, 0x66, 0x66, 0x3C, 0x00},//	8
     38 	{0x3C, 0x66, 0x66, 0x3E, 0x06, 0x06, 0x06, 0x00},//	9
     39 	{0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00},//	:
     40 	{0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x30},//	;
     41 	{0x00, 0x06, 0x1C, 0x30, 0x1C, 0x06, 0x00, 0x00},//	<
     42 	{0x00, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x00, 0x00},//	=
     43 	{0x00, 0x30, 0x1C, 0x06, 0x1C, 0x30, 0x00, 0x00},//	>
     44 	{0x3C, 0x66, 0x0C, 0x18, 0x00, 0x18, 0x18, 0x00},//	?
     45 	{0x1C, 0x22, 0x4D, 0x55, 0x4E, 0x20, 0x1E, 0x00},//	@
     46 	{0x1C, 0x3E, 0x36, 0x36, 0x7F, 0x63, 0x63, 0x00},//	A
     47 	{0x7C, 0x66, 0x66, 0x7C, 0x66, 0x66, 0x7C, 0x00},//	B
     48 	{0x3C, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3C, 0x00},//	C
     49 	{0x7C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x00},//	D
     50 	{0x7E, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x7E, 0x00},//	E
     51 	{0x7E, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x60, 0x00},//	F
     52 	{0x3C, 0x66, 0x60, 0x60, 0x6E, 0x66, 0x3C, 0x00},//	G
     53 	{0x66, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x66, 0x00},//	H
     54 	{0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00},//	I
     55 	{0x1E, 0x0C, 0x0C, 0x0C, 0x0C, 0x6C, 0x38, 0x00},//	J
     56 	{0x66, 0x6C, 0x78, 0x70, 0x78, 0x6C, 0x66, 0x00},//	K
     57 	{0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x00},//	L
     58 	{0x63, 0x77, 0x7F, 0x6B, 0x63, 0x63, 0x63, 0x00},//	M
     59 	{0x66, 0x76, 0x7E, 0x7E, 0x6E, 0x66, 0x66, 0x00},//	N
     60 	{0x3C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00},//	O
     61 	{0x7C, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x60, 0x00},//	P
     62 	{0x3C, 0x66, 0x66, 0x66, 0x66, 0x6E, 0x3C, 0x06},//	Q
     63 	{0x7C, 0x66, 0x66, 0x7C, 0x78, 0x6C, 0x66, 0x00},//	R
     64 	{0x3C, 0x66, 0x70, 0x3C, 0x0E, 0x66, 0x3C, 0x00},//	S
     65 	{0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00},//	T
     66 	{0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00},//	U
     67 	{0x63, 0x63, 0x36, 0x36, 0x1C, 0x1C, 0x08, 0x00},//	V
     68 	{0x63, 0x63, 0x63, 0x6B, 0x6B, 0x36, 0x36, 0x00},//	W
     69 	{0x66, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x66, 0x00},//	X
     70 	{0x66, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x00},//	Y
     71 	{0x7E, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x7E, 0x00},//	Z
     72 	{0x3C, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3C, 0x00},//	[
     73 	{0x30, 0x30, 0x38, 0x18, 0x1C, 0x0C, 0x0C, 0x00},//	'\'
     74 	{0x3C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x3C, 0x00},//	]
     75 	{0x08, 0x14, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00},//	^
     76 	{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00},//	_
     77 	{0x0C, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00},//	`
     78 	{0x00, 0x00, 0x1E, 0x36, 0x36, 0x36, 0x1F, 0x00},//	a
     79 	{0x30, 0x30, 0x3C, 0x36, 0x36, 0x36, 0x3C, 0x00},//	b
     80 	{0x00, 0x00, 0x1C, 0x36, 0x30, 0x36, 0x1C, 0x00},//	c
     81 	{0x06, 0x06, 0x1E, 0x36, 0x36, 0x36, 0x1F, 0x00},//	d
     82 	{0x00, 0x00, 0x1C, 0x36, 0x3C, 0x30, 0x1C, 0x00},//	e
     83 	{0x0E, 0x18, 0x18, 0x18, 0x3C, 0x18, 0x18, 0x00},//	f
     84 	{0x00, 0x00, 0x1E, 0x36, 0x36, 0x1E, 0x06, 0x1C},//	g
     85 	{0x30, 0x30, 0x3C, 0x36, 0x36, 0x36, 0x36, 0x00},//	h
     86 	{0x00, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00},//	i
     87 	{0x00, 0x0C, 0x00, 0x0C, 0x0C, 0x0C, 0x2C, 0x18},//	j
     88 	{0x30, 0x30, 0x36, 0x3C, 0x3C, 0x36, 0x36, 0x00},//	k
     89 	{0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0C, 0x00},//	l
     90 	{0x00, 0x00, 0x76, 0x6B, 0x6B, 0x6B, 0x63, 0x00},//	m
     91 	{0x00, 0x00, 0x3C, 0x36, 0x36, 0x36, 0x36, 0x00},//	n
     92 	{0x00, 0x00, 0x1C, 0x36, 0x36, 0x36, 0x1C, 0x00},//	o
     93 	{0x00, 0x00, 0x3C, 0x36, 0x36, 0x36, 0x3C, 0x30},//	p
     94 	{0x00, 0x00, 0x1E, 0x36, 0x36, 0x36, 0x1E, 0x06},//	q
     95 	{0x00, 0x00, 0x3C, 0x32, 0x30, 0x30, 0x30, 0x00},//	r
     96 	{0x00, 0x00, 0x1E, 0x30, 0x1C, 0x06, 0x3C, 0x00},//	s
     97 	{0x00, 0x18, 0x3C, 0x18, 0x18, 0x18, 0x0C, 0x00},//	t
     98 	{0x00, 0x00, 0x36, 0x36, 0x36, 0x36, 0x1C, 0x00},//	u
     99 	{0x00, 0x00, 0x36, 0x36, 0x36, 0x1C, 0x08, 0x00},//	v
    100 	{0x00, 0x00, 0x63, 0x6B, 0x6B, 0x3E, 0x14, 0x00},//	w
    101 	{0x00, 0x00, 0x36, 0x1C, 0x08, 0x1C, 0x36, 0x00},//	x
    102 	{0x00, 0x00, 0x36, 0x36, 0x36, 0x1E, 0x06, 0x1C},//	y
    103 	{0x00, 0x00, 0x3E, 0x0C, 0x18, 0x30, 0x3E, 0x00},//	z
    104 	{0x0C, 0x08, 0x18, 0x30, 0x18, 0x08, 0x0C, 0x00},//	{
    105 	{0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00},//	|
    106 	{0x18, 0x08, 0x0C, 0x06, 0x0C, 0x08, 0x18, 0x00},//	}
    107 	{0x00, 0x00, 0x30, 0x49, 0x06, 0x00, 0x00, 0x00}//	~
    108 };
    109 
    110 font const oryxB [[gnu::__progmem__]] =
    111 {
    112 	{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},//	space
    113 	{0x00, 0x18, 0x18, 0x18, 0x08, 0x00, 0x18, 0x00},//	!
    114 	{0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},//	"
    115 	{0x00, 0x36, 0x7F, 0x36, 0x36, 0x7F, 0x36, 0x00},//	#
    116 	{0x1C, 0x36, 0x30, 0x7C, 0x30, 0x30, 0x7E, 0x00},//	$
    117 	{0x66, 0x64, 0x0C, 0x08, 0x18, 0x13, 0x33, 0x00},//	%
    118 	{0x38, 0x6C, 0x6C, 0x39, 0x6E, 0x6E, 0x3B, 0x00},//	&
    119 	{0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},//	'
    120 	{0x0C, 0x1C, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x00},//	(
    121 	{0x18, 0x1C, 0x0C, 0x0C, 0x0C, 0x1C, 0x18, 0x00},//	)
    122 	{0x08, 0x2A, 0x1C, 0x14, 0x22, 0x00, 0x00, 0x00},//	*
    123 	{0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x00},//	+
    124 	{0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30},//	,
    125 	{0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00},//	-
    126 	{0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00},//	.
    127 	{0x0C, 0x0C, 0x1C, 0x18, 0x38, 0x30, 0x30, 0x00},//	/
    128 	{0x00, 0x3C, 0x66, 0x76, 0x6E, 0x66, 0x3C, 0x00},//	0
    129 	{0x00, 0x18, 0x38, 0x18, 0x18, 0x18, 0x3C, 0x00},//	1
    130 	{0x00, 0x3C, 0x66, 0x0E, 0x3C, 0x70, 0x7E, 0x00},//	2
    131 	{0x00, 0x3C, 0x66, 0x1C, 0x06, 0x66, 0x3C, 0x00},//	3
    132 	{0x00, 0x1C, 0x2C, 0x4C, 0x4C, 0x7E, 0x0C, 0x00},//	4
    133 	{0x00, 0x7C, 0x60, 0x7C, 0x06, 0x66, 0x3C, 0x00},//	5
    134 	{0x00, 0x3C, 0x60, 0x7C, 0x66, 0x66, 0x3C, 0x00},//	6
    135 	{0x00, 0x7E, 0x06, 0x0C, 0x18, 0x18, 0x18, 0x00},//	7
    136 	{0x00, 0x3C, 0x66, 0x3C, 0x66, 0x66, 0x3C, 0x00},//	8
    137 	{0x00, 0x3C, 0x66, 0x66, 0x3E, 0x06, 0x3C, 0x00},//	9
    138 	{0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00},//	:
    139 	{0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x30},//	;
    140 	{0x00, 0x06, 0x1C, 0x30, 0x1C, 0x06, 0x00, 0x00},//	<
    141 	{0x00, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x00, 0x00},//	=
    142 	{0x00, 0x30, 0x1C, 0x06, 0x1C, 0x30, 0x00, 0x00},//	>
    143 	{0x00, 0x7C, 0xCE, 0xCE, 0x18, 0x00, 0x18, 0x00},//	?
    144 	{0x1C, 0x22, 0x4D, 0x55, 0x4E, 0x20, 0x1E, 0x00},//	@
    145 	{0x00, 0x38, 0x7C, 0xE6, 0xFE, 0xE6, 0xE6, 0x00},//	A
    146 	{0x00, 0xFC, 0xE6, 0xFC, 0xE6, 0xE6, 0xFC, 0x00},//	B
    147 	{0x00, 0x7C, 0xE6, 0xE0, 0xE0, 0xE6, 0x7C, 0x00},//	C
    148 	{0x00, 0xFC, 0xE6, 0xE6, 0xE6, 0xE6, 0xFC, 0x00},//	D
    149 	{0x00, 0xFE, 0xE0, 0xFC, 0xE0, 0xE0, 0xFE, 0x00},//	E
    150 	{0x00, 0xFE, 0xE0, 0xFC, 0xE0, 0xE0, 0xE0, 0x00},//	F
    151 	{0x00, 0x7C, 0xE6, 0xE0, 0xEE, 0xE6, 0x7C, 0x00},//	G
    152 	{0x00, 0xE6, 0xE6, 0xFE, 0xE6, 0xE6, 0xE6, 0x00},//	H
    153 	{0x00, 0x7C, 0x38, 0x38, 0x38, 0x38, 0x7C, 0x00},//	I
    154 	{0x00, 0xFE, 0x1C, 0x1C, 0xDC, 0xDC, 0x78, 0x00},//	J
    155 	{0x00, 0xE6, 0xEC, 0xF8, 0xF8, 0xEC, 0xE6, 0x00},//	K
    156 	{0x00, 0xE0, 0xE0, 0xE0, 0xE0, 0xE6, 0xFE, 0x00},//	L
    157 	{0x00, 0xC6, 0xEE, 0xFE, 0xD6, 0xC6, 0xC6, 0x00},//	M
    158 	{0x00, 0xE6, 0xF6, 0xFE, 0xEE, 0xE6, 0xE6, 0x00},//	N
    159 	{0x00, 0x7C, 0xE6, 0xE6, 0xE6, 0xE6, 0x7C, 0x00},//	O
    160 	{0x00, 0xFC, 0xE6, 0xE6, 0xFC, 0xE0, 0xE0, 0x00},//	P
    161 	{0x00, 0x7C, 0xE6, 0xE6, 0xEE, 0xEE, 0x7C, 0x0E},//	Q
    162 	{0x00, 0xFC, 0xE6, 0xE6, 0xFC, 0xEC, 0xE6, 0x00},//	R
    163 	{0x00, 0x7C, 0xE2, 0x7C, 0x0E, 0xEE, 0x7C, 0x00},//	S
    164 	{0x00, 0xFE, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00},//	T
    165 	{0x00, 0xE6, 0xE6, 0xE6, 0xE6, 0xE6, 0x7C, 0x00},//	U
    166 	{0x00, 0xE6, 0xE6, 0xE6, 0xE6, 0x7C, 0x38, 0x00},//	V
    167 	{0x00, 0xC6, 0xC6, 0xD6, 0xD6, 0xEE, 0xC6, 0x00},//	W
    168 	{0x00, 0xEE, 0xF4, 0x78, 0x3C, 0x5E, 0xEE, 0x00},//	X
    169 	{0x00, 0xC6, 0xEE, 0x7C, 0x38, 0x38, 0x38, 0x00},//	Y
    170 	{0x00, 0xFE, 0x1C, 0x38, 0x70, 0xE0, 0xFE, 0x00},//	Z
    171 	{0x3C, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3C, 0x00},//	[
    172 	{0x30, 0x30, 0x38, 0x18, 0x1C, 0x0C, 0x0C, 0x00},//	'\'
    173 	{0x3C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x3C, 0x00},//	]
    174 	{0x08, 0x14, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00},//	^
    175 	{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00},//	_
    176 	{0x0C, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00},//	`
    177 	{0x00, 0x00, 0x7C, 0xEC, 0xEC, 0xEC, 0x76, 0x00},//	a
    178 	{0x00, 0xE0, 0xE0, 0xFC, 0xEE, 0xEE, 0xFC, 0x00},//	b
    179 	{0x00, 0x00, 0x7C, 0xEE, 0xE0, 0xEE, 0x7C, 0x00},//	c
    180 	{0x00, 0x0E, 0x0E, 0x7E, 0xEE, 0xEE, 0x7E, 0x00},//	d
    181 	{0x00, 0x00, 0x7C, 0xEE, 0xFE, 0xE0, 0x7E, 0x00},//	e
    182 	{0x00, 0x3C, 0x76, 0x70, 0xFE, 0x70, 0x70, 0x00},//	f
    183 	{0x00, 0x7C, 0xEE, 0xEE, 0x7E, 0x0E, 0xEE, 0x7C},//	g
    184 	{0x00, 0xE0, 0xE0, 0xFC, 0xEE, 0xEE, 0xEE, 0x00},//	h
    185 	{0x00, 0x38, 0x00, 0x38, 0x38, 0x38, 0x38, 0x00},//	i
    186 	{0x00, 0x1C, 0x00, 0x1C, 0x1C, 0xDC, 0xDC, 0x78},//	j
    187 	{0x00, 0xE0, 0xE0, 0xE6, 0xF8, 0xEC, 0xE6, 0x00},//	k
    188 	{0x00, 0x78, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00},//	l
    189 	{0x00, 0x00, 0xFC, 0xD6, 0xD6, 0xD6, 0xD6, 0x00},//	m
    190 	{0x00, 0x00, 0xFC, 0xE6, 0xE6, 0xE6, 0xE6, 0x00},//	n
    191 	{0x00, 0x00, 0x7C, 0xE6, 0xE6, 0xE6, 0x7C, 0x00},//	o
    192 	{0x00, 0x00, 0xFC, 0xEE, 0xEE, 0xFC, 0xE0, 0xE0},//	p
    193 	{0x00, 0x00, 0x7E, 0xEE, 0xEE, 0x7E, 0x0E, 0x0E},//	q
    194 	{0x00, 0x00, 0xEE, 0xF8, 0xF0, 0xE0, 0xE0, 0x00},//	r
    195 	{0x00, 0x00, 0x7E, 0xE0, 0xFE, 0x0E, 0xFC, 0x00},//	s
    196 	{0x00, 0x70, 0x70, 0xFE, 0x70, 0x76, 0x3C, 0x00},//	t
    197 	{0x00, 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0x7E, 0x00},//	u
    198 	{0x00, 0x00, 0xC6, 0xC6, 0xEE, 0x7C, 0x38, 0x00},//	v
    199 	{0x00, 0x00, 0xC6, 0xD6, 0xD6, 0xEE, 0xC6, 0x00},//	w
    200 	{0x00, 0x00, 0xEE, 0x74, 0x38, 0x5C, 0xEE, 0x00},//	x
    201 	{0x00, 0x00, 0xC6, 0x6E, 0x3C, 0x38, 0x70, 0xE0},//	y
    202 	{0x00, 0x00, 0xFE, 0x1C, 0x38, 0x70, 0xFE, 0x00},//	z
    203 	{0x0C, 0x08, 0x18, 0x30, 0x18, 0x08, 0x0C, 0x00},//	{
    204 	{0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00},//	|
    205 	{0x18, 0x08, 0x0C, 0x06, 0x0C, 0x08, 0x18, 0x00},//	}
    206 	{0x00, 0x00, 0x30, 0x49, 0x06, 0x00, 0x00, 0x00}//	~
    207 };
    208 }