font.c 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. /* Copyright (C) 2013 by John Cronin <jncronin@tysos.org>
  2. *
  3. * Permission is hereby granted, free of charge, to any person obtaining a copy
  4. * of this software and associated documentation files (the "Software"), to deal
  5. * in the Software without restriction, including without limitation the rights
  6. * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  7. * copies of the Software, and to permit persons to whom the Software is
  8. * furnished to do so, subject to the following conditions:
  9. * The above copyright notice and this permission notice shall be included in
  10. * all copies or substantial portions of the Software.
  11. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  12. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  13. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  14. * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  15. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  16. * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  17. * THE SOFTWARE.
  18. */
  19. #include <stdint.h>
  20. uint8_t vgafont8[128*8]=
  21. {
  22. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  23. 0x7e, 0x81, 0xa5, 0x81, 0xbd, 0x99, 0x81, 0x7e,
  24. 0x7e, 0xff, 0xdb, 0xff, 0xc3, 0xe7, 0xff, 0x7e,
  25. 0x6c, 0xfe, 0xfe, 0xfe, 0x7c, 0x38, 0x10, 0x00,
  26. 0x10, 0x38, 0x7c, 0xfe, 0x7c, 0x38, 0x10, 0x00,
  27. 0x38, 0x7c, 0x38, 0xfe, 0xfe, 0x7c, 0x38, 0x7c,
  28. 0x10, 0x10, 0x38, 0x7c, 0xfe, 0x7c, 0x38, 0x7c,
  29. 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x00, 0x00,
  30. 0xff, 0xff, 0xe7, 0xc3, 0xc3, 0xe7, 0xff, 0xff,
  31. 0x00, 0x3c, 0x66, 0x42, 0x42, 0x66, 0x3c, 0x00,
  32. 0xff, 0xc3, 0x99, 0xbd, 0xbd, 0x99, 0xc3, 0xff,
  33. 0x0f, 0x07, 0x0f, 0x7d, 0xcc, 0xcc, 0xcc, 0x78,
  34. 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x7e, 0x18,
  35. 0x3f, 0x33, 0x3f, 0x30, 0x30, 0x70, 0xf0, 0xe0,
  36. 0x7f, 0x63, 0x7f, 0x63, 0x63, 0x67, 0xe6, 0xc0,
  37. 0x99, 0x5a, 0x3c, 0xe7, 0xe7, 0x3c, 0x5a, 0x99,
  38. 0x80, 0xe0, 0xf8, 0xfe, 0xf8, 0xe0, 0x80, 0x00,
  39. 0x02, 0x0e, 0x3e, 0xfe, 0x3e, 0x0e, 0x02, 0x00,
  40. 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x7e, 0x3c, 0x18,
  41. 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x00,
  42. 0x7f, 0xdb, 0xdb, 0x7b, 0x1b, 0x1b, 0x1b, 0x00,
  43. 0x3e, 0x63, 0x38, 0x6c, 0x6c, 0x38, 0xcc, 0x78,
  44. 0x00, 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x7e, 0x00,
  45. 0x18, 0x3c, 0x7e, 0x18, 0x7e, 0x3c, 0x18, 0xff,
  46. 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x00,
  47. 0x18, 0x18, 0x18, 0x18, 0x7e, 0x3c, 0x18, 0x00,
  48. 0x00, 0x18, 0x0c, 0xfe, 0x0c, 0x18, 0x00, 0x00,
  49. 0x00, 0x30, 0x60, 0xfe, 0x60, 0x30, 0x00, 0x00,
  50. 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xfe, 0x00, 0x00,
  51. 0x00, 0x24, 0x66, 0xff, 0x66, 0x24, 0x00, 0x00,
  52. 0x00, 0x18, 0x3c, 0x7e, 0xff, 0xff, 0x00, 0x00,
  53. 0x00, 0xff, 0xff, 0x7e, 0x3c, 0x18, 0x00, 0x00,
  54. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  55. 0x30, 0x78, 0x78, 0x30, 0x30, 0x00, 0x30, 0x00,
  56. 0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00,
  57. 0x6c, 0x6c, 0xfe, 0x6c, 0xfe, 0x6c, 0x6c, 0x00,
  58. 0x30, 0x7c, 0xc0, 0x78, 0x0c, 0xf8, 0x30, 0x00,
  59. 0x00, 0xc6, 0xcc, 0x18, 0x30, 0x66, 0xc6, 0x00,
  60. 0x38, 0x6c, 0x38, 0x76, 0xdc, 0xcc, 0x76, 0x00,
  61. 0x60, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
  62. 0x18, 0x30, 0x60, 0x60, 0x60, 0x30, 0x18, 0x00,
  63. 0x60, 0x30, 0x18, 0x18, 0x18, 0x30, 0x60, 0x00,
  64. 0x00, 0x66, 0x3c, 0xff, 0x3c, 0x66, 0x00, 0x00,
  65. 0x00, 0x30, 0x30, 0xfc, 0x30, 0x30, 0x00, 0x00,
  66. 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x60,
  67. 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
  68. 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00,
  69. 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0x80, 0x00,
  70. 0x7c, 0xc6, 0xce, 0xde, 0xf6, 0xe6, 0x7c, 0x00,
  71. 0x30, 0x70, 0x30, 0x30, 0x30, 0x30, 0xfc, 0x00,
  72. 0x78, 0xcc, 0x0c, 0x38, 0x60, 0xcc, 0xfc, 0x00,
  73. 0x78, 0xcc, 0x0c, 0x38, 0x0c, 0xcc, 0x78, 0x00,
  74. 0x1c, 0x3c, 0x6c, 0xcc, 0xfe, 0x0c, 0x1e, 0x00,
  75. 0xfc, 0xc0, 0xf8, 0x0c, 0x0c, 0xcc, 0x78, 0x00,
  76. 0x38, 0x60, 0xc0, 0xf8, 0xcc, 0xcc, 0x78, 0x00,
  77. 0xfc, 0xcc, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x00,
  78. 0x78, 0xcc, 0xcc, 0x78, 0xcc, 0xcc, 0x78, 0x00,
  79. 0x78, 0xcc, 0xcc, 0x7c, 0x0c, 0x18, 0x70, 0x00,
  80. 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x00,
  81. 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x60,
  82. 0x18, 0x30, 0x60, 0xc0, 0x60, 0x30, 0x18, 0x00,
  83. 0x00, 0x00, 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00,
  84. 0x60, 0x30, 0x18, 0x0c, 0x18, 0x30, 0x60, 0x00,
  85. 0x78, 0xcc, 0x0c, 0x18, 0x30, 0x00, 0x30, 0x00,
  86. 0x7c, 0xc6, 0xde, 0xde, 0xde, 0xc0, 0x78, 0x00,
  87. 0x30, 0x78, 0xcc, 0xcc, 0xfc, 0xcc, 0xcc, 0x00,
  88. 0xfc, 0x66, 0x66, 0x7c, 0x66, 0x66, 0xfc, 0x00,
  89. 0x3c, 0x66, 0xc0, 0xc0, 0xc0, 0x66, 0x3c, 0x00,
  90. 0xf8, 0x6c, 0x66, 0x66, 0x66, 0x6c, 0xf8, 0x00,
  91. 0xfe, 0x62, 0x68, 0x78, 0x68, 0x62, 0xfe, 0x00,
  92. 0xfe, 0x62, 0x68, 0x78, 0x68, 0x60, 0xf0, 0x00,
  93. 0x3c, 0x66, 0xc0, 0xc0, 0xce, 0x66, 0x3e, 0x00,
  94. 0xcc, 0xcc, 0xcc, 0xfc, 0xcc, 0xcc, 0xcc, 0x00,
  95. 0x78, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00,
  96. 0x1e, 0x0c, 0x0c, 0x0c, 0xcc, 0xcc, 0x78, 0x00,
  97. 0xe6, 0x66, 0x6c, 0x78, 0x6c, 0x66, 0xe6, 0x00,
  98. 0xf0, 0x60, 0x60, 0x60, 0x62, 0x66, 0xfe, 0x00,
  99. 0xc6, 0xee, 0xfe, 0xfe, 0xd6, 0xc6, 0xc6, 0x00,
  100. 0xc6, 0xe6, 0xf6, 0xde, 0xce, 0xc6, 0xc6, 0x00,
  101. 0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0x6c, 0x38, 0x00,
  102. 0xfc, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xf0, 0x00,
  103. 0x78, 0xcc, 0xcc, 0xcc, 0xdc, 0x78, 0x1c, 0x00,
  104. 0xfc, 0x66, 0x66, 0x7c, 0x6c, 0x66, 0xe6, 0x00,
  105. 0x78, 0xcc, 0xe0, 0x70, 0x1c, 0xcc, 0x78, 0x00,
  106. 0xfc, 0xb4, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00,
  107. 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xfc, 0x00,
  108. 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x78, 0x30, 0x00,
  109. 0xc6, 0xc6, 0xc6, 0xd6, 0xfe, 0xee, 0xc6, 0x00,
  110. 0xc6, 0xc6, 0x6c, 0x38, 0x38, 0x6c, 0xc6, 0x00,
  111. 0xcc, 0xcc, 0xcc, 0x78, 0x30, 0x30, 0x78, 0x00,
  112. 0xfe, 0xc6, 0x8c, 0x18, 0x32, 0x66, 0xfe, 0x00,
  113. 0x78, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78, 0x00,
  114. 0xc0, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x02, 0x00,
  115. 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, 0x00,
  116. 0x10, 0x38, 0x6c, 0xc6, 0x00, 0x00, 0x00, 0x00,
  117. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
  118. 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
  119. 0x00, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0x76, 0x00,
  120. 0xe0, 0x60, 0x60, 0x7c, 0x66, 0x66, 0xdc, 0x00,
  121. 0x00, 0x00, 0x78, 0xcc, 0xc0, 0xcc, 0x78, 0x00,
  122. 0x1c, 0x0c, 0x0c, 0x7c, 0xcc, 0xcc, 0x76, 0x00,
  123. 0x00, 0x00, 0x78, 0xcc, 0xfc, 0xc0, 0x78, 0x00,
  124. 0x38, 0x6c, 0x60, 0xf0, 0x60, 0x60, 0xf0, 0x00,
  125. 0x00, 0x00, 0x76, 0xcc, 0xcc, 0x7c, 0x0c, 0xf8,
  126. 0xe0, 0x60, 0x6c, 0x76, 0x66, 0x66, 0xe6, 0x00,
  127. 0x30, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00,
  128. 0x0c, 0x00, 0x0c, 0x0c, 0x0c, 0xcc, 0xcc, 0x78,
  129. 0xe0, 0x60, 0x66, 0x6c, 0x78, 0x6c, 0xe6, 0x00,
  130. 0x70, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00,
  131. 0x00, 0x00, 0xcc, 0xfe, 0xfe, 0xd6, 0xc6, 0x00,
  132. 0x00, 0x00, 0xf8, 0xcc, 0xcc, 0xcc, 0xcc, 0x00,
  133. 0x00, 0x00, 0x78, 0xcc, 0xcc, 0xcc, 0x78, 0x00,
  134. 0x00, 0x00, 0xdc, 0x66, 0x66, 0x7c, 0x60, 0xf0,
  135. 0x00, 0x00, 0x76, 0xcc, 0xcc, 0x7c, 0x0c, 0x1e,
  136. 0x00, 0x00, 0xdc, 0x76, 0x66, 0x60, 0xf0, 0x00,
  137. 0x00, 0x00, 0x7c, 0xc0, 0x78, 0x0c, 0xf8, 0x00,
  138. 0x10, 0x30, 0x7c, 0x30, 0x30, 0x34, 0x18, 0x00,
  139. 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00,
  140. 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0x78, 0x30, 0x00,
  141. 0x00, 0x00, 0xc6, 0xd6, 0xfe, 0xfe, 0x6c, 0x00,
  142. 0x00, 0x00, 0xc6, 0x6c, 0x38, 0x6c, 0xc6, 0x00,
  143. 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0xf8,
  144. 0x00, 0x00, 0xfc, 0x98, 0x30, 0x64, 0xfc, 0x00,
  145. 0x1c, 0x30, 0x30, 0xe0, 0x30, 0x30, 0x1c, 0x00,
  146. 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00,
  147. 0xe0, 0x30, 0x30, 0x1c, 0x30, 0x30, 0xe0, 0x00,
  148. 0x76, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  149. 0x00, 0x10, 0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0x00,
  150. };