/**
 * Perhaps fonts can be their own type of sheet. By the calculation below, we can fit ~4 fonts per fontsheet
 * 
 * 3 bits for height
 * 5 more metadata bits
 * = 1 byte
 * 
 * Per character:
 * - 3 bits for width
 * - 5 bits for metadata
 * - 64 bits for pixels
 * = 9 bytes per character
 * 
 * 96 chars * 9 bytes = 
 */

export const fontWidth = 4;
export const fontHeight = 6;

// deno-fmt-ignore
export const font: {[key: string]: Array<number>} = {
	"A": [
		0, 1, 1, 1,
		0, 1, 0, 1,
		0, 1, 1, 1,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 0, 0, 0,
	],
	"B": [
		0, 1, 1, 1,
		0, 1, 0, 1,
		0, 1, 1, 0,
		0, 1, 0, 1,
		0, 1, 1, 1,
		0, 0, 0, 0,
	],
	"C": [
		0, 0, 1, 1,
		0, 1, 0, 0,
		0, 1, 0, 0,
		0, 1, 0, 0,
		0, 0, 1, 1,
		0, 0, 0, 0,
	],
	"D": [
		0, 1, 1, 0,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 1, 0,
		0, 0, 0, 0,
	],
	"E": [
		0, 1, 1, 1,
		0, 1, 0, 0,
		0, 1, 1, 0,
		0, 1, 0, 0,
		0, 1, 1, 1,
		0, 0, 0, 0,
	],
	"F": [
		0, 1, 1, 1,
		0, 1, 0, 0,
		0, 1, 1, 0,
		0, 1, 0, 0,
		0, 1, 0, 0,
		0, 0, 0, 0,
	],
	"G": [
		0, 0, 1, 1,
		0, 1, 0, 0,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 0, 1, 1,
		0, 0, 0, 0,
	],
	"H": [
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 1, 1,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 0, 0, 0,
	],
	"I": [
		0, 1, 1, 1,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 1, 1, 1,
		0, 0, 0, 0,
	],
	"J": [
		0, 1, 1, 1,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 1, 1, 0,
		0, 0, 0, 0,
	],
	"K": [
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 1, 0,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 0, 0, 0,
	],
	"L": [
		0, 1, 0, 0,
		0, 1, 0, 0,
		0, 1, 0, 0,
		0, 1, 0, 0,
		0, 1, 1, 1,
		0, 0, 0, 0,
	],
	"M": [
		0, 1, 1, 1,
		0, 1, 1, 1,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 0, 0, 0,
	],
	"N": [
		0, 1, 1, 0,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 0, 0, 0,
	],
	"O": [
		0, 0, 1, 1,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 1, 0,
		0, 0, 0, 0,
	],
	"P": [
		0, 1, 1, 1,
		0, 1, 0, 1,
		0, 1, 1, 1,
		0, 1, 0, 0,
		0, 1, 0, 0,
		0, 0, 0, 0,
	],
	"Q": [
		0, 0, 1, 1,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 1, 0,
		0, 0, 1, 1,
		0, 0, 0, 0,
	],
	"R": [
		0, 1, 1, 1,
		0, 1, 0, 1,
		0, 1, 1, 0,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 0, 0, 0,
	],
	"S": [
		0, 0, 1, 1,
		0, 1, 0, 0,
		0, 1, 1, 1,
		0, 0, 0, 1,
		0, 1, 1, 0,
		0, 0, 0, 0,
	],
	"T": [
		0, 1, 1, 1,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 0, 0,
	],
	"U": [
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 0, 1, 1,
		0, 0, 0, 0,
	],
	"V": [
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 1, 1,
		0, 0, 1, 0,
		0, 0, 0, 0,
	],
	"W": [
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 1, 1,
		0, 1, 1, 1,
		0, 0, 0, 0,
	],
	"X": [
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 0, 1, 0,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 0, 0, 0,
	],
	"Y": [
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 1, 1,
		0, 0, 1, 0,
		0, 1, 0, 0,
		0, 0, 0, 0,
	],
	"Z": [
		0, 1, 1, 1,
		0, 0, 0, 1,
		0, 0, 1, 0,
		0, 1, 0, 0,
		0, 1, 1, 1,
		0, 0, 0, 0,
	],
	"a": [
		0, 0, 0, 0,
		0, 1, 1, 1,
		0, 0, 1, 1,
		0, 1, 0, 1,
		0, 1, 1, 1,
		0, 0, 0, 0,
	],
	"b": [
		0, 1, 0, 0,
		0, 1, 0, 0,
		0, 1, 1, 1,
		0, 1, 0, 1,
		0, 1, 1, 1,
		0, 0, 0, 0,
	],
	"c": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 1, 1, 1,
		0, 1, 0, 0,
		0, 1, 1, 1,
		0, 0, 0, 0,
	],
	"d": [
		0, 0, 0, 1,
		0, 0, 0, 1,
		0, 1, 1, 1,
		0, 1, 0, 1,
		0, 1, 1, 1,
		0, 0, 0, 0,
	],
	"e": [
		0, 0, 0, 0,
		0, 0, 1, 1,
		0, 1, 0, 1,
		0, 1, 1, 0,
		0, 0, 1, 1,
		0, 0, 0, 0,
	],
	"f": [
		0, 0, 1, 1,
		0, 1, 0, 0,
		0, 1, 1, 0,
		0, 1, 0, 0,
		0, 1, 0, 0,
		0, 0, 0, 0,
	],
	"g": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 1, 1, 1,
		0, 1, 0, 1,
		0, 0, 1, 1,
		0, 1, 1, 0,
	],
	"h": [
		0, 1, 0, 0,
		0, 1, 0, 0,
		0, 1, 1, 1,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 0, 0, 0,
	],
	"i": [
		0, 0, 1, 0,
		0, 0, 0, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 0, 0,
	],
	"j": [
		0, 0, 1, 0,
		0, 0, 0, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 1, 0, 0,
	],
	"k": [
		0, 1, 0, 0,
		0, 1, 0, 0,
		0, 1, 0, 1,
		0, 1, 1, 0,
		0, 1, 0, 1,
		0, 0, 0, 0,
	],
	"l": [
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 0, 1,
		0, 0, 0, 0,
	],
	"m": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 1, 1, 1,
		0, 1, 1, 1,
		0, 1, 0, 1,
		0, 0, 0, 0,
	],
	"n": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 1, 1, 0,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 0, 0, 0,
	],
	"o": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 1, 1,
		0, 1, 0, 1,
		0, 1, 1, 0,
		0, 0, 0, 0,
	],
	"p": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 1, 1, 1,
		0, 1, 0, 1,
		0, 1, 1, 1,
		0, 1, 0, 0,
	],
	"q": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 1, 1, 1,
		0, 1, 0, 1,
		0, 1, 1, 1,
		0, 0, 0, 1,
	],
	"r": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 1, 1, 1,
		0, 1, 0, 0,
		0, 1, 0, 0,
		0, 0, 0, 0,
	],
	"s": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 1, 1,
		0, 0, 1, 0,
		0, 1, 1, 0,
		0, 0, 0, 0,
	],
	"t": [
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 1, 1, 1,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 0, 0,
	],
	"u": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 0, 1, 1,
		0, 0, 0, 0,
	],
	"v": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 0, 1, 0,
		0, 0, 0, 0,
	],
	"w": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 1, 0, 1,
		0, 1, 1, 1,
		0, 1, 1, 1,
		0, 0, 0, 0,
	],
	"x": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 1, 0, 1,
		0, 0, 1, 0,
		0, 1, 0, 1,
		0, 0, 0, 0,
	],
	"y": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 0, 1, 0,
		0, 1, 0, 0,
	],
	"z": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 1, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 1,
		0, 0, 0, 0,
	],
	",": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 1, 0,
		0, 1, 0, 0,
	],
	".": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 1, 0,
		0, 0, 0, 0,
	],
	" ": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
	],
	"\t": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
	],
	"<": [
		0, 0, 0, 1,
		0, 0, 1, 0,
		0, 1, 0, 0,
		0, 0, 1, 0,
		0, 0, 0, 1,
		0, 0, 0, 0,
	],
	">": [
		0, 1, 0, 0,
		0, 0, 1, 0,
		0, 0, 0, 1,
		0, 0, 1, 0,
		0, 1, 0, 0,
		0, 0, 0, 0,
	],
	"=": [
		0, 0, 0, 0,
		0, 1, 1, 1,
		0, 0, 0, 0,
		0, 1, 1, 1,
		0, 0, 0, 0,
		0, 0, 0, 0,
	],
	"(": [
		0, 0, 0, 1,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 0, 1,
		0, 0, 0, 0,
	],
	")": [
		0, 1, 0, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 1, 0, 0,
		0, 0, 0, 0,
	],
	"[": [
		0, 0, 1, 1,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 1,
		0, 0, 0, 0,
	],
	"]": [
		0, 1, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 1, 1, 0,
		0, 0, 0, 0,
	],
	"{": [
		0, 0, 1, 1,
		0, 0, 1, 0,
		0, 1, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 1,
		0, 0, 0, 0,
	],
	"}": [
		0, 1, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 1,
		0, 0, 1, 0,
		0, 1, 1, 0,
		0, 0, 0, 0,
	],
	":": [
		0, 0, 0, 0,
		0, 0, 1, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 1, 0,
		0, 0, 0, 0,
	],
	";": [
		0, 0, 0, 0,
		0, 0, 1, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 1, 0,
		0, 1, 0, 0,
	],
	"'": [
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
	],
	'"': [
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
	],
	"1": [
		0, 0, 1, 0,
		0, 1, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 1, 1, 1,
		0, 0, 0, 0,
	],
	"2": [
		0, 0, 1, 0,
		0, 1, 0, 1,
		0, 0, 0, 1,
		0, 0, 1, 0,
		0, 1, 1, 1,
		0, 0, 0, 0,
	],
	"3": [
		0, 1, 1, 1,
		0, 0, 0, 1,
		0, 0, 1, 0,
		0, 0, 0, 1,
		0, 1, 1, 0,
		0, 0, 0, 0,
	],
	"4": [
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 1, 1,
		0, 0, 0, 1,
		0, 0, 0, 1,
		0, 0, 0, 0,
	],
	"5": [
		0, 1, 1, 1,
		0, 1, 0, 0,
		0, 1, 1, 0,
		0, 0, 0, 1,
		0, 1, 1, 0,
		0, 0, 0, 0,
	],
	"6": [
		0, 0, 0, 1,
		0, 0, 1, 0,
		0, 1, 1, 1,
		0, 1, 0, 1,
		0, 1, 1, 1,
		0, 0, 0, 0,
	],
	"7": [
		0, 1, 1, 1,
		0, 0, 0, 1,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 0, 0,
	],
	"8": [
		0, 1, 1, 1,
		0, 1, 0, 1,
		0, 1, 1, 1,
		0, 1, 0, 1,
		0, 1, 1, 1,
		0, 0, 0, 0,
	],
	"9": [
		0, 1, 1, 1,
		0, 1, 0, 1,
		0, 1, 1, 1,
		0, 0, 1, 0,
		0, 1, 0, 0,
		0, 0, 0, 0,
	],
	"0": [
		0, 1, 1, 1,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 0, 1,
		0, 1, 1, 1,
		0, 0, 0, 0,
	],
	"+": [
		0, 0, 0, 0,
		0, 0, 1, 0,
		0, 1, 1, 1,
		0, 0, 1, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
	],
	"-": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 1, 1, 1,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
	],
	"_": [
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 1, 1, 1,
		0, 0, 0, 0,
	],
	"`": [
		0, 1, 0, 0,
		0, 0, 1, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
	],
	"~": [
		0, 0, 0, 0,
		0, 0, 0, 1,
		0, 1, 1, 1,
		0, 1, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
	],
	"/": [
		0, 0, 0, 1,
		0, 0, 0, 1,
		0, 0, 1, 0,
		0, 1, 0, 0,
		0, 1, 0, 0,
		0, 0, 0, 0,
	],
	"?": [
		0, 1, 1, 1,
		0, 0, 0, 1,
		0, 0, 1, 1,
		0, 0, 0, 0,
		0, 0, 1, 0,
		0, 0, 0, 0,
	],
	"\\": [
		0, 1, 0, 0,
		0, 1, 0, 0,
		0, 0, 1, 0,
		0, 0, 0, 1,
		0, 0, 0, 1,
		0, 0, 0, 0,
	],
	"|": [
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 1, 0,
		0, 0, 0, 0,
	],
}