PlatformIO package of the Teensy core framework compatible with GCC 10 & C++20
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

151 line
4.8KB

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