Files
TZFS/zOS/MZ2000/common/fonts/font7x8.c

154 lines
5.9 KiB
C

/*
* font7x8.c
*
* Created: 4/8/2015 11:31:21 AM
* Author: Baron Williams
*/
#if defined(__K64F__)
#include <stdio.h>
#include <ctype.h>
#include <stdint.h>
#include <string.h>
#include <unistd.h>
#include <stdarg.h>
#include <core_pins.h>
#include <usb_serial.h>
#include <Arduino.h>
#include "k64f_soc.h"
#include <../../libraries/include/stdmisc.h>
#elif defined(__ZPU__)
#include <stdint.h>
#include <stdio.h>
#include "zpu_soc.h"
#include <stdlib.h>
#include <ctype.h>
#include <stdmisc.h>
#else
#error "Target CPU not defined, use __ZPU__ or __K64F__"
#endif
#include "fonts.h"
#define FONT_CHAR_FIRST 32
#define FONT_CHAR_LAST 126
#define FONT_CHARS 95
#define FONT_WIDTH 7
#define FONT_HEIGHT 8
#define FONT_SPACING 1
static const uint8_t fontData7x8[FONT_CHARS][FONT_WIDTH]= {
{ 0, 0, 0, 0, 0, 0, 0, }, // ' ' 32
{ 0, 6, 95, 95, 6, 0, 0, }, // '!' 33
{ 0, 7, 7, 0, 7, 7, 0, }, // '"' 34
{ 20, 127, 127, 20, 127, 127, 20, }, // '#' 35
{ 36, 46, 107, 107, 58, 18, 0, }, // '$' 36
{ 70, 102, 48, 24, 12, 102, 98, }, // '%' 37
{ 48, 122, 79, 93, 55, 122, 72, }, // '&' 38
{ 4, 7, 3, 0, 0, 0, 0, }, // ''' 39
{ 0, 28, 62, 99, 65, 0, 0, }, // '(' 40
{ 0, 65, 99, 62, 28, 0, 0, }, // ')' 41
{ 8, 42, 62, 28, 28, 62, 42, }, // '*' 42
{ 8, 8, 62, 62, 8, 8, 0, }, // '+' 43
{ 0, 128, 224, 96, 0, 0, 0, }, // ',' 44
{ 8, 8, 8, 8, 8, 8, 0, }, // '-' 45
{ 0, 0, 96, 96, 0, 0, 0, }, // '.' 46
{ 96, 48, 24, 12, 6, 3, 1, }, // '/' 47
{ 62, 127, 113, 89, 77, 127, 62, }, // '0' 48
{ 64, 66, 127, 127, 64, 64, 0, }, // '1' 49
{ 98, 115, 89, 73, 111, 102, 0, }, // '2' 50
{ 34, 99, 73, 73, 127, 54, 0, }, // '3' 51
{ 24, 28, 22, 83, 127, 127, 80, }, // '4' 52
{ 39, 103, 69, 69, 125, 57, 0, }, // '5' 53
{ 60, 126, 75, 73, 121, 48, 0, }, // '6' 54
{ 3, 3, 113, 121, 15, 7, 0, }, // '7' 55
{ 54, 127, 73, 73, 127, 54, 0, }, // '8' 56
{ 6, 79, 73, 105, 63, 30, 0, }, // '9' 57
{ 0, 0, 102, 102, 0, 0, 0, }, // ':' 58
{ 0, 128, 230, 102, 0, 0, 0, }, // ';' 59
{ 8, 28, 54, 99, 65, 0, 0, }, // '<' 60
{ 36, 36, 36, 36, 36, 36, 0, }, // '=' 61
{ 0, 65, 99, 54, 28, 8, 0, }, // '>' 62
{ 2, 3, 81, 89, 15, 6, 0, }, // '?' 63
{ 62, 127, 65, 93, 93, 31, 30, }, // '@' 64
{ 124,126, 19, 19, 126, 124, 0, }, // 'A' 65
{ 65, 127, 127, 73, 73, 127, 54, }, // 'B' 66
{ 28, 62, 99, 65, 65, 99, 34, }, // 'C' 67
{ 65, 127, 127, 65, 99, 62, 28, }, // 'D' 68
{ 65, 127, 127, 73, 93, 65, 99, }, // 'E' 69
{ 65, 127, 127, 73, 29, 1, 3, }, // 'F' 70
{ 28, 62, 99, 65, 81, 115, 114, }, // 'G' 71
{ 127,127, 8, 8, 127, 127, 0, }, // 'H' 72
{ 0, 65, 127, 127, 65, 0, 0, }, // 'I' 73
{ 48, 112, 64, 65, 127, 63, 1, }, // 'J' 74
{ 65, 127, 127, 8, 28, 119, 99, }, // 'K' 75
{ 65, 127, 127, 65, 64, 96, 112, }, // 'L' 76
{ 127,127, 14, 28, 14, 127, 127, }, // 'M' 77
{ 127,127, 6, 12, 24, 127, 127, }, // 'N' 78
{ 28, 62, 99, 65, 99, 62, 28, }, // 'O' 79
{ 65, 127, 127, 73, 9, 15, 6, }, // 'P' 80
{ 30, 63, 33, 113, 127, 94, 0, }, // 'Q' 81
{ 65, 127, 127, 9, 25, 127, 102, }, // 'R' 82
{ 38, 111, 77, 89, 115, 50, 0, }, // 'S' 83
{ 3, 65, 127, 127, 65, 3, 0, }, // 'T' 84
{ 127,127, 64, 64, 127, 127, 0, }, // 'U' 85
{ 31, 63, 96, 96, 63, 31, 0, }, // 'V' 86
{ 127,127, 48, 24, 48, 127, 127, }, // 'W' 87
{ 67, 103, 60, 24, 60, 103, 67, }, // 'X' 88
{ 7, 79, 120, 120, 79, 7, 0, }, // 'Y' 89
{ 71, 99, 113, 89, 77, 103, 115, }, // 'Z' 90
{ 0, 127, 127, 65, 65, 0, 0, }, // '[' 91
{ 1, 3, 6, 12, 24, 48, 96, }, // '\' 92
{ 0, 65, 65, 127, 127, 0, 0, }, // ']' 93
{ 8, 12, 6, 3, 6, 12, 8, }, // '^' 94
{ 128,128, 128, 128, 128, 128, 128, }, // '_' 95
{ 0, 0, 3, 7, 4, 0, 0, }, // '`' 96
{ 32, 116, 84, 84, 60, 120, 64, }, // 'a' 97
{ 65, 127, 63, 72, 72, 120, 48, }, // 'b' 98
{ 56, 124, 68, 68, 108, 40, 0, }, // 'c' 99
{ 48, 120, 72, 73, 63, 127, 64, }, // 'd' 100
{ 56, 124, 84, 84, 92, 24, 0, }, // 'e' 101
{ 72, 126, 127, 73, 3, 2, 0, }, // 'f' 102
{ 56, 188, 164, 164, 252, 120, 0, }, // 'g' 103
{ 65, 127, 127, 8, 4, 124, 120, }, // 'h' 104
{ 0, 68, 125, 125, 64, 0, 0, }, // 'i' 105
{ 96, 224, 128, 128, 253, 125, 0, }, // 'j' 106
{ 65, 127, 127, 16, 56, 108, 68, }, // 'k' 107
{ 0, 65, 127, 127, 64, 0, 0, }, // 'l' 108
{ 120,124, 28, 56, 28, 124, 120, }, // 'm' 109
{ 124,124, 4, 4, 124, 120, 0, }, // 'n' 110
{ 56, 124, 68, 68, 124, 56, 0, }, // 'o' 111
{ 0, 252, 252, 164, 36, 60, 24, }, // 'p' 112
{ 24, 60, 36, 164, 248, 252, 132, }, // 'q' 113
{ 68, 124, 120, 76, 4, 28, 24, }, // 'r' 114
{ 72, 92, 84, 84, 116, 36, 0, }, // 's' 115
{ 0, 4, 62, 127, 68, 36, 0, }, // 't' 116
{ 60, 124, 64, 64, 60, 124, 64, }, // 'u' 117
{ 28, 60, 96, 96, 60, 28, 0, }, // 'v' 118
{ 60, 124, 112, 56, 112, 124, 60, }, // 'w' 119
{ 68, 108, 56, 16, 56, 108, 68, }, // 'x' 120
{ 60, 188, 160, 160, 252, 124, 0, }, // 'y' 121
{ 76, 100, 116, 92, 76, 100, 0, }, // 'z' 122
{ 8, 8, 62, 119, 65, 65, 0, }, // '{' 123
{ 0, 0, 0, 119, 119, 0, 0, }, // '|' 124
{ 65, 65, 119, 62, 8, 8, 0, }, // '}' 125
{ 2, 3, 1, 3, 2, 3, 1, }, // '~' 126
};
/*
* Font Size: 7x8 (+spacing=8x8)
* Characters: 95 (ASCII 32-126).
* Bit format: vertical
* Memory: 665 bytes (95x7)
*/
const fontStruct font7x8 = {
(byte *) fontData7x8,
FONT_CHARS,
FONT_CHAR_FIRST,
FONT_CHAR_LAST,
FONT_WIDTH,
FONT_HEIGHT,
FONT_SPACING,
true
};