Added custom fonts. Added triangle drawing function

Dependents:   sc100016x4lcd REVO_Updated_Steering Driving_game Arkanoid_v1 ... more

Committer:
DimiterK
Date:
Mon May 02 19:05:30 2011 +0000
Revision:
5:e4b50f4c13a8
Parent:
1:a368f2688222
Ver 2.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DimiterK 0:135b9a0a816e 1 /*
DimiterK 0:135b9a0a816e 2 *
DimiterK 0:135b9a0a816e 3 * System5x7
DimiterK 0:135b9a0a816e 4 *
DimiterK 0:135b9a0a816e 5 *
DimiterK 0:135b9a0a816e 6 * File Name : System5x7.h
DimiterK 0:135b9a0a816e 7 * Date : 28 Oct 2008
DimiterK 0:135b9a0a816e 8 * Font size in bytes : 470
DimiterK 0:135b9a0a816e 9 * Font width : 5
DimiterK 0:135b9a0a816e 10 * Font height : 7
DimiterK 0:135b9a0a816e 11 * Font first char : 32
DimiterK 0:135b9a0a816e 12 * Font last char : 127
DimiterK 0:135b9a0a816e 13 * Font used chars : 94
DimiterK 0:135b9a0a816e 14 *
DimiterK 0:135b9a0a816e 15 * The font data are defined as
DimiterK 0:135b9a0a816e 16 *
DimiterK 0:135b9a0a816e 17 * struct _FONT_ {
DimiterK 0:135b9a0a816e 18 * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self;
DimiterK 0:135b9a0a816e 19 * uint8_t font_Width_in_Pixel_for_fixed_drawing;
DimiterK 0:135b9a0a816e 20 * uint8_t font_Height_in_Pixel_for_all_characters;
DimiterK 0:135b9a0a816e 21 * unit8_t font_First_Char;
DimiterK 0:135b9a0a816e 22 * uint8_t font_Char_Count;
DimiterK 0:135b9a0a816e 23 *
DimiterK 0:135b9a0a816e 24 * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1];
DimiterK 0:135b9a0a816e 25 * // for each character the separate width in pixels,
DimiterK 0:135b9a0a816e 26 * // characters < 128 have an implicit virtual right empty row
DimiterK 0:135b9a0a816e 27 *
DimiterK 0:135b9a0a816e 28 * uint8_t font_data[];
DimiterK 0:135b9a0a816e 29 * // bit field of all characters
DimiterK 0:135b9a0a816e 30 */
DimiterK 0:135b9a0a816e 31
DimiterK 0:135b9a0a816e 32 #ifndef SYSTEM5x7_H
DimiterK 0:135b9a0a816e 33 #define SYSTEM5x7_H
DimiterK 0:135b9a0a816e 34
DimiterK 0:135b9a0a816e 35 #define SYSTEM5x7_WIDTH 5
DimiterK 0:135b9a0a816e 36 #define SYSTEM5x7_HEIGHT 7
DimiterK 0:135b9a0a816e 37
DimiterK 0:135b9a0a816e 38 static unsigned int System5x7[] = {
DimiterK 1:a368f2688222 39 0x0, 0x0, // size of zero indicates fixed width font, actual length is width * height
DimiterK 1:a368f2688222 40 0x05, // width
DimiterK 1:a368f2688222 41 0x07, // height
DimiterK 1:a368f2688222 42 0x20, // first char
DimiterK 1:a368f2688222 43 0x7f, // char count
DimiterK 0:135b9a0a816e 44
DimiterK 0:135b9a0a816e 45 // Fixed width; char width table not used !!!!
DimiterK 0:135b9a0a816e 46
DimiterK 0:135b9a0a816e 47 // font data
DimiterK 0:135b9a0a816e 48 0x00, 0x00, 0x00, 0x00, 0x00,// (space)
DimiterK 1:a368f2688222 49 0x00, 0x00, 0x5F, 0x00, 0x00,// !
DimiterK 1:a368f2688222 50 0x00, 0x07, 0x00, 0x07, 0x00,// "
DimiterK 1:a368f2688222 51 0x14, 0x7F, 0x14, 0x7F, 0x14,// #
DimiterK 1:a368f2688222 52 0x24, 0x2A, 0x7F, 0x2A, 0x12,// $
DimiterK 1:a368f2688222 53 0x23, 0x13, 0x08, 0x64, 0x62,// %
DimiterK 1:a368f2688222 54 0x36, 0x49, 0x55, 0x22, 0x50,// &
DimiterK 1:a368f2688222 55 0x00, 0x05, 0x03, 0x00, 0x00,// '
DimiterK 1:a368f2688222 56 0x00, 0x1C, 0x22, 0x41, 0x00,// (
DimiterK 1:a368f2688222 57 0x00, 0x41, 0x22, 0x1C, 0x00,// )
DimiterK 1:a368f2688222 58 0x08, 0x2A, 0x1C, 0x2A, 0x08,// *
DimiterK 1:a368f2688222 59 0x08, 0x08, 0x3E, 0x08, 0x08,// +
DimiterK 1:a368f2688222 60 0x00, 0x50, 0x30, 0x00, 0x00,// ,
DimiterK 1:a368f2688222 61 0x08, 0x08, 0x08, 0x08, 0x08,// -
DimiterK 1:a368f2688222 62 0x00, 0x60, 0x60, 0x00, 0x00,// .
DimiterK 1:a368f2688222 63 0x20, 0x10, 0x08, 0x04, 0x02,// /
DimiterK 1:a368f2688222 64 0x3E, 0x51, 0x49, 0x45, 0x3E,// 0
DimiterK 1:a368f2688222 65 0x00, 0x42, 0x7F, 0x40, 0x00,// 1
DimiterK 1:a368f2688222 66 0x42, 0x61, 0x51, 0x49, 0x46,// 2
DimiterK 1:a368f2688222 67 0x21, 0x41, 0x45, 0x4B, 0x31,// 3
DimiterK 1:a368f2688222 68 0x18, 0x14, 0x12, 0x7F, 0x10,// 4
DimiterK 1:a368f2688222 69 0x27, 0x45, 0x45, 0x45, 0x39,// 5
DimiterK 1:a368f2688222 70 0x3C, 0x4A, 0x49, 0x49, 0x30,// 6
DimiterK 1:a368f2688222 71 0x01, 0x71, 0x09, 0x05, 0x03,// 7
DimiterK 1:a368f2688222 72 0x36, 0x49, 0x49, 0x49, 0x36,// 8
DimiterK 1:a368f2688222 73 0x06, 0x49, 0x49, 0x29, 0x1E,// 9
DimiterK 1:a368f2688222 74 0x00, 0x36, 0x36, 0x00, 0x00,// :
DimiterK 1:a368f2688222 75 0x00, 0x56, 0x36, 0x00, 0x00,// ;
DimiterK 1:a368f2688222 76 0x00, 0x08, 0x14, 0x22, 0x41,// <
DimiterK 1:a368f2688222 77 0x14, 0x14, 0x14, 0x14, 0x14,// =
DimiterK 1:a368f2688222 78 0x41, 0x22, 0x14, 0x08, 0x00,// >
DimiterK 1:a368f2688222 79 0x02, 0x01, 0x51, 0x09, 0x06,// ?
DimiterK 1:a368f2688222 80 0x32, 0x49, 0x79, 0x41, 0x3E,// @
DimiterK 1:a368f2688222 81 0x7E, 0x11, 0x11, 0x11, 0x7E,// A
DimiterK 1:a368f2688222 82 0x7F, 0x49, 0x49, 0x49, 0x36,// B
DimiterK 1:a368f2688222 83 0x3E, 0x41, 0x41, 0x41, 0x22,// C
DimiterK 1:a368f2688222 84 0x7F, 0x41, 0x41, 0x22, 0x1C,// D
DimiterK 1:a368f2688222 85 0x7F, 0x49, 0x49, 0x49, 0x41,// E
DimiterK 1:a368f2688222 86 0x7F, 0x09, 0x09, 0x01, 0x01,// F
DimiterK 1:a368f2688222 87 0x3E, 0x41, 0x41, 0x51, 0x32,// G
DimiterK 1:a368f2688222 88 0x7F, 0x08, 0x08, 0x08, 0x7F,// H
DimiterK 1:a368f2688222 89 0x00, 0x41, 0x7F, 0x41, 0x00,// I
DimiterK 1:a368f2688222 90 0x20, 0x40, 0x41, 0x3F, 0x01,// J
DimiterK 1:a368f2688222 91 0x7F, 0x08, 0x14, 0x22, 0x41,// K
DimiterK 1:a368f2688222 92 0x7F, 0x40, 0x40, 0x40, 0x40,// L
DimiterK 1:a368f2688222 93 0x7F, 0x02, 0x04, 0x02, 0x7F,// M
DimiterK 1:a368f2688222 94 0x7F, 0x04, 0x08, 0x10, 0x7F,// N
DimiterK 1:a368f2688222 95 0x3E, 0x41, 0x41, 0x41, 0x3E,// O
DimiterK 1:a368f2688222 96 0x7F, 0x09, 0x09, 0x09, 0x06,// P
DimiterK 1:a368f2688222 97 0x3E, 0x41, 0x51, 0x21, 0x5E,// Q
DimiterK 1:a368f2688222 98 0x7F, 0x09, 0x19, 0x29, 0x46,// R
DimiterK 1:a368f2688222 99 0x46, 0x49, 0x49, 0x49, 0x31,// S
DimiterK 1:a368f2688222 100 0x01, 0x01, 0x7F, 0x01, 0x01,// T
DimiterK 1:a368f2688222 101 0x3F, 0x40, 0x40, 0x40, 0x3F,// U
DimiterK 1:a368f2688222 102 0x1F, 0x20, 0x40, 0x20, 0x1F,// V
DimiterK 1:a368f2688222 103 0x7F, 0x20, 0x18, 0x20, 0x7F,// W
DimiterK 1:a368f2688222 104 0x63, 0x14, 0x08, 0x14, 0x63,// X
DimiterK 1:a368f2688222 105 0x03, 0x04, 0x78, 0x04, 0x03,// Y
DimiterK 1:a368f2688222 106 0x61, 0x51, 0x49, 0x45, 0x43,// Z
DimiterK 1:a368f2688222 107 0x00, 0x00, 0x7F, 0x41, 0x41,// [
DimiterK 1:a368f2688222 108 0x02, 0x04, 0x08, 0x10, 0x20,// "\"
DimiterK 1:a368f2688222 109 0x41, 0x41, 0x7F, 0x00, 0x00,// ]
DimiterK 1:a368f2688222 110 0x04, 0x02, 0x01, 0x02, 0x04,// ^
DimiterK 1:a368f2688222 111 0x40, 0x40, 0x40, 0x40, 0x40,// _
DimiterK 1:a368f2688222 112 0x00, 0x01, 0x02, 0x04, 0x00,// `
DimiterK 1:a368f2688222 113 0x20, 0x54, 0x54, 0x54, 0x78,// a
DimiterK 1:a368f2688222 114 0x7F, 0x48, 0x44, 0x44, 0x38,// b
DimiterK 1:a368f2688222 115 0x38, 0x44, 0x44, 0x44, 0x20,// c
DimiterK 1:a368f2688222 116 0x38, 0x44, 0x44, 0x48, 0x7F,// d
DimiterK 1:a368f2688222 117 0x38, 0x54, 0x54, 0x54, 0x18,// e
DimiterK 1:a368f2688222 118 0x08, 0x7E, 0x09, 0x01, 0x02,// f
DimiterK 1:a368f2688222 119 0x08, 0x14, 0x54, 0x54, 0x3C,// g
DimiterK 1:a368f2688222 120 0x7F, 0x08, 0x04, 0x04, 0x78,// h
DimiterK 1:a368f2688222 121 0x00, 0x44, 0x7D, 0x40, 0x00,// i
DimiterK 1:a368f2688222 122 0x20, 0x40, 0x44, 0x3D, 0x00,// j
DimiterK 1:a368f2688222 123 0x00, 0x7F, 0x10, 0x28, 0x44,// k
DimiterK 1:a368f2688222 124 0x00, 0x41, 0x7F, 0x40, 0x00,// l
DimiterK 1:a368f2688222 125 0x7C, 0x04, 0x18, 0x04, 0x78,// m
DimiterK 1:a368f2688222 126 0x7C, 0x08, 0x04, 0x04, 0x78,// n
DimiterK 1:a368f2688222 127 0x38, 0x44, 0x44, 0x44, 0x38,// o
DimiterK 1:a368f2688222 128 0x7C, 0x14, 0x14, 0x14, 0x08,// p
DimiterK 1:a368f2688222 129 0x08, 0x14, 0x14, 0x18, 0x7C,// q
DimiterK 1:a368f2688222 130 0x7C, 0x08, 0x04, 0x04, 0x08,// r
DimiterK 1:a368f2688222 131 0x48, 0x54, 0x54, 0x54, 0x20,// s
DimiterK 1:a368f2688222 132 0x04, 0x3F, 0x44, 0x40, 0x20,// t
DimiterK 1:a368f2688222 133 0x3C, 0x40, 0x40, 0x20, 0x7C,// u
DimiterK 1:a368f2688222 134 0x1C, 0x20, 0x40, 0x20, 0x1C,// v
DimiterK 1:a368f2688222 135 0x3C, 0x40, 0x30, 0x40, 0x3C,// w
DimiterK 1:a368f2688222 136 0x44, 0x28, 0x10, 0x28, 0x44,// x
DimiterK 1:a368f2688222 137 0x0C, 0x50, 0x50, 0x50, 0x3C,// y
DimiterK 1:a368f2688222 138 0x44, 0x64, 0x54, 0x4C, 0x44,// z
DimiterK 1:a368f2688222 139 0x00, 0x08, 0x36, 0x41, 0x00,// {
DimiterK 1:a368f2688222 140 0x00, 0x00, 0x7F, 0x00, 0x00,// |
DimiterK 1:a368f2688222 141 0x00, 0x41, 0x36, 0x08, 0x00,// }
DimiterK 1:a368f2688222 142 0x08, 0x08, 0x2A, 0x1C, 0x08,// ->
DimiterK 1:a368f2688222 143 0x08, 0x1C, 0x2A, 0x08, 0x08 // <-
DimiterK 0:135b9a0a816e 144
DimiterK 0:135b9a0a816e 145 };
DimiterK 0:135b9a0a816e 146
DimiterK 0:135b9a0a816e 147 #endif