fork download
  1. #include <iostream>
  2.  
  3. static unsigned char font5x7[] = {
  4. 0x00, 0x00, 0x00, 0x00, 0x00, // 0x00 (nul)
  5. 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, // 0x01 (soh)
  6. 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, // 0x02 (stx)
  7. 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, // 0x03 (etx)
  8. 0x18, 0x3C, 0x7E, 0x3C, 0x18, // 0x04 (eot)
  9. 0x1C, 0x57, 0x7D, 0x57, 0x1C, // 0x05 (enq)
  10. 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, // 0x06 (ack)
  11. 0x00, 0x18, 0x3C, 0x18, 0x00, // 0x07 (bel)
  12. 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, // 0x08 (bs)
  13. 0x00, 0x18, 0x24, 0x18, 0x00, // 0x09 (tab)
  14. 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, // 0x0A (lf)
  15. 0x30, 0x48, 0x3A, 0x06, 0x0E, // 0x0B (vt)
  16. 0x26, 0x29, 0x79, 0x29, 0x26, // 0x0C (np)
  17. 0x40, 0x7F, 0x05, 0x05, 0x07, // 0x0D (cr)
  18. 0x40, 0x7F, 0x05, 0x25, 0x3F, // 0x0E (so)
  19. 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, // 0x0F (si)
  20. 0x7F, 0x3E, 0x1C, 0x1C, 0x08, // 0x10 (dle)
  21. 0x08, 0x1C, 0x1C, 0x3E, 0x7F, // 0x11 (dc1)
  22. 0x14, 0x22, 0x7F, 0x22, 0x14, // 0x12 (dc2)
  23. 0x5F, 0x5F, 0x00, 0x5F, 0x5F, // 0x13 (dc3)
  24. 0x06, 0x09, 0x7F, 0x01, 0x7F, // 0x14 (dc4)
  25. 0x00, 0x66, 0x89, 0x95, 0x6A, // 0x15 (nak)
  26. 0x60, 0x60, 0x60, 0x60, 0x60, // 0x16 (syn)
  27. 0x94, 0xA2, 0xFF, 0xA2, 0x94, // 0x17 (etb)
  28. 0x08, 0x04, 0x7E, 0x04, 0x08, // 0x18 (can)
  29. 0x10, 0x20, 0x7E, 0x20, 0x10, // 0x19 (em)
  30. 0x08, 0x08, 0x2A, 0x1C, 0x08, // 0x1A (eof)
  31. 0x08, 0x1C, 0x2A, 0x08, 0x08, // 0x1B (esc)
  32. 0x1E, 0x10, 0x10, 0x10, 0x10, // 0x1C (fs)
  33. 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, // 0x1D (gs)
  34. 0x30, 0x38, 0x3E, 0x38, 0x30, // 0x1E (rs)
  35. 0x06, 0x0E, 0x3E, 0x0E, 0x06, // 0x1F (us)
  36. 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20
  37. 0x00, 0x00, 0x5F, 0x00, 0x00, // 0x21 !
  38. 0x00, 0x07, 0x00, 0x07, 0x00, // 0x22 "
  39. 0x14, 0x7F, 0x14, 0x7F, 0x14, // 0x23 #
  40. 0x24, 0x2A, 0x7F, 0x2A, 0x12, // 0x24 $
  41. 0x23, 0x13, 0x08, 0x64, 0x62, // 0x25 %
  42. 0x36, 0x49, 0x56, 0x20, 0x50, // 0x26 &
  43. 0x00, 0x08, 0x07, 0x03, 0x00, // 0x27 '
  44. 0x00, 0x1C, 0x22, 0x41, 0x00, // 0x28 (
  45. 0x00, 0x41, 0x22, 0x1C, 0x00, // 0x29 )
  46. 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, // 0x2A *
  47. 0x08, 0x08, 0x3E, 0x08, 0x08, // 0x2B +
  48. 0x00, 0x80, 0x70, 0x30, 0x00, // 0x2C ,
  49. 0x08, 0x08, 0x08, 0x08, 0x08, // 0x2D -
  50. 0x00, 0x00, 0x60, 0x60, 0x00, // 0x2E .
  51. 0x20, 0x10, 0x08, 0x04, 0x02, // 0x2F /
  52. 0x3E, 0x51, 0x49, 0x45, 0x3E, // 0x30 0
  53. 0x00, 0x42, 0x7F, 0x40, 0x00, // 0x31 1
  54. 0x72, 0x49, 0x49, 0x49, 0x46, // 0x32 2
  55. 0x21, 0x41, 0x49, 0x4D, 0x33, // 0x33 3
  56. 0x18, 0x14, 0x12, 0x7F, 0x10, // 0x34 4
  57. 0x27, 0x45, 0x45, 0x45, 0x39, // 0x35 5
  58. 0x3C, 0x4A, 0x49, 0x49, 0x31, // 0x36 6
  59. 0x41, 0x21, 0x11, 0x09, 0x07, // 0x37 7
  60. 0x36, 0x49, 0x49, 0x49, 0x36, // 0x38 8
  61. 0x46, 0x49, 0x49, 0x29, 0x1E, // 0x39 9
  62. 0x00, 0x00, 0x14, 0x00, 0x00, // 0x3A :
  63. 0x00, 0x40, 0x34, 0x00, 0x00, // 0x3B ;
  64. 0x00, 0x08, 0x14, 0x22, 0x41, // 0x3C <
  65. 0x14, 0x14, 0x14, 0x14, 0x14, // 0x3D =
  66. 0x00, 0x41, 0x22, 0x14, 0x08, // 0x3E >
  67. 0x02, 0x01, 0x59, 0x09, 0x06, // 0x3F ?
  68. 0x3E, 0x41, 0x5D, 0x59, 0x4E, // 0x40 @
  69. 0x7C, 0x12, 0x11, 0x12, 0x7C, // 0x41 A
  70. 0x7F, 0x49, 0x49, 0x49, 0x36, // 0x42 B
  71. 0x3E, 0x41, 0x41, 0x41, 0x22, // 0x43 C
  72. 0x7F, 0x41, 0x41, 0x41, 0x3E, // 0x44 D
  73. 0x7F, 0x49, 0x49, 0x49, 0x41, // 0x45 E
  74. 0x7F, 0x09, 0x09, 0x09, 0x01, // 0x46 F
  75. 0x3E, 0x41, 0x41, 0x51, 0x73, // 0x47 G
  76. 0x7F, 0x08, 0x08, 0x08, 0x7F, // 0x48 H
  77. 0x00, 0x41, 0x7F, 0x41, 0x00, // 0x49 I
  78. 0x20, 0x40, 0x41, 0x3F, 0x01, // 0x4A J
  79. 0x7F, 0x08, 0x14, 0x22, 0x41, // 0x4B K
  80. 0x7F, 0x40, 0x40, 0x40, 0x40, // 0x4C L
  81. 0x7F, 0x02, 0x1C, 0x02, 0x7F, // 0x4D M
  82. 0x7F, 0x04, 0x08, 0x10, 0x7F, // 0x4E N
  83. 0x3E, 0x41, 0x41, 0x41, 0x3E, // 0x4F O
  84. 0x7F, 0x09, 0x09, 0x09, 0x06, // 0x50 P
  85. 0x3E, 0x41, 0x51, 0x21, 0x5E, // 0x51 Q
  86. 0x7F, 0x09, 0x19, 0x29, 0x46, // 0x52 R
  87. 0x26, 0x49, 0x49, 0x49, 0x32, // 0x53 S
  88. 0x03, 0x01, 0x7F, 0x01, 0x03, // 0x54 T
  89. 0x3F, 0x40, 0x40, 0x40, 0x3F, // 0x55 U
  90. 0x1F, 0x20, 0x40, 0x20, 0x1F, // 0x56 V
  91. 0x3F, 0x40, 0x38, 0x40, 0x3F, // 0x57 W
  92. 0x63, 0x14, 0x08, 0x14, 0x63, // 0x58 X
  93. 0x03, 0x04, 0x78, 0x04, 0x03, // 0x59 Y
  94. 0x61, 0x59, 0x49, 0x4D, 0x43, // 0x5A Z
  95. 0x00, 0x7F, 0x41, 0x41, 0x41, // 0x5B [
  96. 0x02, 0x04, 0x08, 0x10, 0x20, // 0x5C backslash
  97. 0x00, 0x41, 0x41, 0x41, 0x7F, // 0x5D ]
  98. 0x04, 0x02, 0x01, 0x02, 0x04, // 0x5E ^
  99. 0x40, 0x40, 0x40, 0x40, 0x40, // 0x5F _
  100. 0x00, 0x03, 0x07, 0x08, 0x00, // 0x60 `
  101. 0x20, 0x54, 0x54, 0x78, 0x40, // 0x61 a
  102. 0x7F, 0x28, 0x44, 0x44, 0x38, // 0x62 b
  103. 0x38, 0x44, 0x44, 0x44, 0x28, // 0x63 c
  104. 0x38, 0x44, 0x44, 0x28, 0x7F, // 0x64 d
  105. 0x38, 0x54, 0x54, 0x54, 0x18, // 0x65 e
  106. 0x00, 0x08, 0x7E, 0x09, 0x02, // 0x66 f
  107. 0x18, 0xA4, 0xA4, 0x9C, 0x78, // 0x67 g
  108. 0x7F, 0x08, 0x04, 0x04, 0x78, // 0x68 h
  109. 0x00, 0x44, 0x7D, 0x40, 0x00, // 0x69 i
  110. 0x20, 0x40, 0x40, 0x3D, 0x00, // 0x6A j
  111. 0x7F, 0x10, 0x28, 0x44, 0x00, // 0x6B k
  112. 0x00, 0x41, 0x7F, 0x40, 0x00, // 0x6C l
  113. 0x7C, 0x04, 0x78, 0x04, 0x78, // 0x6D m
  114. 0x7C, 0x08, 0x04, 0x04, 0x78, // 0x6E n
  115. 0x38, 0x44, 0x44, 0x44, 0x38, // 0x6F o
  116. 0xFC, 0x18, 0x24, 0x24, 0x18, // 0x70 p
  117. 0x18, 0x24, 0x24, 0x18, 0xFC, // 0x71 q
  118. 0x7C, 0x08, 0x04, 0x04, 0x08, // 0x72 r
  119. 0x48, 0x54, 0x54, 0x54, 0x24, // 0x73 s
  120. 0x04, 0x04, 0x3F, 0x44, 0x24, // 0x74 t
  121. 0x3C, 0x40, 0x40, 0x20, 0x7C, // 0x75 u
  122. 0x1C, 0x20, 0x40, 0x20, 0x1C, // 0x76 v
  123. 0x3C, 0x40, 0x30, 0x40, 0x3C, // 0x77 w
  124. 0x44, 0x28, 0x10, 0x28, 0x44, // 0x78 x
  125. 0x4C, 0x90, 0x90, 0x90, 0x7C, // 0x79 y
  126. 0x44, 0x64, 0x54, 0x4C, 0x44, // 0x7A z
  127. 0x00, 0x08, 0x36, 0x41, 0x00, // 0x7B {
  128. 0x00, 0x00, 0x77, 0x00, 0x00, // 0x7C |
  129. 0x00, 0x41, 0x36, 0x08, 0x00, // 0x7D }
  130. 0x02, 0x01, 0x02, 0x04, 0x02, // 0x7E ~
  131. 0x3C, 0x26, 0x23, 0x26, 0x3C, // 0x7F
  132. 0x1E, 0xA1, 0xA1, 0x61, 0x12, // 0x80
  133. 0x3A, 0x40, 0x40, 0x20, 0x7A, // 0x81
  134. 0x38, 0x54, 0x54, 0x55, 0x59, // 0x82
  135. 0x21, 0x55, 0x55, 0x79, 0x41, // 0x83
  136. 0x22, 0x54, 0x54, 0x78, 0x42, // 0x84
  137. 0x21, 0x55, 0x54, 0x78, 0x40, // 0x85
  138. 0x20, 0x54, 0x55, 0x79, 0x40, // 0x86
  139. 0x0C, 0x1E, 0x52, 0x72, 0x12, // 0x87
  140. 0x39, 0x55, 0x55, 0x55, 0x59, // 0x88
  141. 0x39, 0x54, 0x54, 0x54, 0x59, // 0x89
  142. 0x39, 0x55, 0x54, 0x54, 0x58, // 0x8A
  143. 0x00, 0x00, 0x45, 0x7C, 0x41, // 0x8B
  144. 0x00, 0x02, 0x45, 0x7D, 0x42, // 0x8C
  145. 0x00, 0x01, 0x45, 0x7C, 0x40, // 0x8D
  146. 0x7D, 0x12, 0x11, 0x12, 0x7D, // 0x8E
  147. 0xF0, 0x28, 0x25, 0x28, 0xF0, // 0x8F
  148. 0x7C, 0x54, 0x55, 0x45, 0x00, // 0x90
  149. 0x20, 0x54, 0x54, 0x7C, 0x54, // 0x91
  150. 0x7C, 0x0A, 0x09, 0x7F, 0x49, // 0x92
  151. 0x32, 0x49, 0x49, 0x49, 0x32, // 0x93
  152. 0x3A, 0x44, 0x44, 0x44, 0x3A, // 0x94
  153. 0x32, 0x4A, 0x48, 0x48, 0x30, // 0x95
  154. 0x3A, 0x41, 0x41, 0x21, 0x7A, // 0x96
  155. 0x3A, 0x42, 0x40, 0x20, 0x78, // 0x97
  156. 0x00, 0x9D, 0xA0, 0xA0, 0x7D, // 0x98
  157. 0x3D, 0x42, 0x42, 0x42, 0x3D, // 0x99
  158. 0x3D, 0x40, 0x40, 0x40, 0x3D, // 0x9A
  159. 0x3C, 0x24, 0xFF, 0x24, 0x24, // 0x9B
  160. 0x48, 0x7E, 0x49, 0x43, 0x66, // 0x9C
  161. 0x2B, 0x2F, 0xFC, 0x2F, 0x2B, // 0x9D
  162. 0xFF, 0x09, 0x29, 0xF6, 0x20, // 0x9E
  163. 0xC0, 0x88, 0x7E, 0x09, 0x03, // 0x9F
  164. 0x20, 0x54, 0x54, 0x79, 0x41, // 0xA0
  165. 0x00, 0x00, 0x44, 0x7D, 0x41, // 0xA1
  166. 0x30, 0x48, 0x48, 0x4A, 0x32, // 0xA2
  167. 0x38, 0x40, 0x40, 0x22, 0x7A, // 0xA3
  168. 0x00, 0x7A, 0x0A, 0x0A, 0x72, // 0xA4
  169. 0x7D, 0x0D, 0x19, 0x31, 0x7D, // 0xA5
  170. 0x26, 0x29, 0x29, 0x2F, 0x28, // 0xA6
  171. 0x26, 0x29, 0x29, 0x29, 0x26, // 0xA7
  172. 0x30, 0x48, 0x4D, 0x40, 0x20, // 0xA8
  173. 0x38, 0x08, 0x08, 0x08, 0x08, // 0xA9
  174. 0x08, 0x08, 0x08, 0x08, 0x38, // 0xAA
  175. 0x2F, 0x10, 0xC8, 0xAC, 0xBA, // 0xAB
  176. 0x2F, 0x10, 0x28, 0x34, 0xFA, // 0xAC
  177. 0x00, 0x00, 0x7B, 0x00, 0x00, // 0xAD
  178. 0x08, 0x14, 0x2A, 0x14, 0x22, // 0xAE
  179. 0x22, 0x14, 0x2A, 0x14, 0x08, // 0xAF
  180. 0x55, 0x00, 0x55, 0x00, 0x55, // 0xB0
  181. 0xAA, 0x55, 0xAA, 0x55, 0xAA, // 0xB1
  182. 0xFF, 0x55, 0xFF, 0x55, 0xFF, // 0xB2
  183. 0x00, 0x00, 0x00, 0xFF, 0x00, // 0xB3
  184. 0x10, 0x10, 0x10, 0xFF, 0x00, // 0xB4
  185. 0x14, 0x14, 0x14, 0xFF, 0x00, // 0xB5
  186. 0x10, 0x10, 0xFF, 0x00, 0xFF, // 0xB6
  187. 0x10, 0x10, 0xF0, 0x10, 0xF0, // 0xB7
  188. 0x14, 0x14, 0x14, 0xFC, 0x00, // 0xB8
  189. 0x14, 0x14, 0xF7, 0x00, 0xFF, // 0xB9
  190. 0x00, 0x00, 0xFF, 0x00, 0xFF, // 0xBA
  191. 0x14, 0x14, 0xF4, 0x04, 0xFC, // 0xBB
  192. 0x14, 0x14, 0x17, 0x10, 0x1F, // 0xBC
  193. 0x10, 0x10, 0x1F, 0x10, 0x1F, // 0xBD
  194. 0x14, 0x14, 0x14, 0x1F, 0x00, // 0xBE
  195. 0x10, 0x10, 0x10, 0xF0, 0x00, // 0xBF
  196. 0x00, 0x00, 0x00, 0x1F, 0x10, // 0xC0
  197. 0x10, 0x10, 0x10, 0x1F, 0x10, // 0xC1
  198. 0x10, 0x10, 0x10, 0xF0, 0x10, // 0xC2
  199. 0x00, 0x00, 0x00, 0xFF, 0x10, // 0xC3
  200. 0x10, 0x10, 0x10, 0x10, 0x10, // 0xC4
  201. 0x10, 0x10, 0x10, 0xFF, 0x10, // 0xC5
  202. 0x00, 0x00, 0x00, 0xFF, 0x14, // 0xC6
  203. 0x00, 0x00, 0xFF, 0x00, 0xFF, // 0xC7
  204. 0x00, 0x00, 0x1F, 0x10, 0x17, // 0xC8
  205. 0x00, 0x00, 0xFC, 0x04, 0xF4, // 0xC9
  206. 0x14, 0x14, 0x17, 0x10, 0x17, // 0xCA
  207. 0x14, 0x14, 0xF4, 0x04, 0xF4, // 0xCB
  208. 0x00, 0x00, 0xFF, 0x00, 0xF7, // 0xCC
  209. 0x14, 0x14, 0x14, 0x14, 0x14, // 0xCD
  210. 0x14, 0x14, 0xF7, 0x00, 0xF7, // 0xCE
  211. 0x14, 0x14, 0x14, 0x17, 0x14, // 0xCF
  212. 0x10, 0x10, 0x1F, 0x10, 0x1F, // 0xD0
  213. 0x14, 0x14, 0x14, 0xF4, 0x14, // 0xD1
  214. 0x10, 0x10, 0xF0, 0x10, 0xF0, // 0xD2
  215. 0x00, 0x00, 0x1F, 0x10, 0x1F, // 0xD3
  216. 0x00, 0x00, 0x00, 0x1F, 0x14, // 0xD4
  217. 0x00, 0x00, 0x00, 0xFC, 0x14, // 0xD5
  218. 0x00, 0x00, 0xF0, 0x10, 0xF0, // 0xD6
  219. 0x10, 0x10, 0xFF, 0x10, 0xFF, // 0xD7
  220. 0x14, 0x14, 0x14, 0xFF, 0x14, // 0xD8
  221. 0x10, 0x10, 0x10, 0x1F, 0x00, // 0xD9
  222. 0x00, 0x00, 0x00, 0xF0, 0x10, // 0xDA
  223. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xDB
  224. 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, // 0xDC
  225. 0xFF, 0xFF, 0xFF, 0x00, 0x00, // 0xDD
  226. 0x00, 0x00, 0x00, 0xFF, 0xFF, // 0xDE
  227. 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, // 0xDF
  228. 0x38, 0x44, 0x44, 0x38, 0x44, // 0xE0
  229. 0xFC, 0x4A, 0x4A, 0x4A, 0x34, // 0xE1
  230. 0x7E, 0x02, 0x02, 0x06, 0x06, // 0xE2
  231. 0x02, 0x7E, 0x02, 0x7E, 0x02, // 0xE3
  232. 0x63, 0x55, 0x49, 0x41, 0x63, // 0xE4
  233. 0x38, 0x44, 0x44, 0x3C, 0x04, // 0xE5
  234. 0x40, 0x7E, 0x20, 0x1E, 0x20, // 0xE6
  235. 0x06, 0x02, 0x7E, 0x02, 0x02, // 0xE7
  236. 0x99, 0xA5, 0xE7, 0xA5, 0x99, // 0xE8
  237. 0x1C, 0x2A, 0x49, 0x2A, 0x1C, // 0xE9
  238. 0x4C, 0x72, 0x01, 0x72, 0x4C, // 0xEA
  239. 0x30, 0x4A, 0x4D, 0x4D, 0x30, // 0xEB
  240. 0x30, 0x48, 0x78, 0x48, 0x30, // 0xEC
  241. 0xBC, 0x62, 0x5A, 0x46, 0x3D, // 0xED
  242. 0x3E, 0x49, 0x49, 0x49, 0x00, // 0xEE
  243. 0x7E, 0x01, 0x01, 0x01, 0x7E, // 0xEF
  244. 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, // 0xF0
  245. 0x44, 0x44, 0x5F, 0x44, 0x44, // 0xF1
  246. 0x40, 0x51, 0x4A, 0x44, 0x40, // 0xF2
  247. 0x40, 0x44, 0x4A, 0x51, 0x40, // 0xF3
  248. 0x00, 0x00, 0xFF, 0x01, 0x03, // 0xF4
  249. 0xE0, 0x80, 0xFF, 0x00, 0x00, // 0xF5
  250. 0x08, 0x08, 0x6B, 0x6B, 0x08, // 0xF6
  251. 0x36, 0x12, 0x36, 0x24, 0x36, // 0xF7
  252. 0x06, 0x0F, 0x09, 0x0F, 0x06, // 0xF8
  253. 0x00, 0x00, 0x18, 0x18, 0x00, // 0xF9
  254. 0x00, 0x00, 0x10, 0x10, 0x00, // 0xFA
  255. 0x30, 0x40, 0xFF, 0x01, 0x01, // 0xFB
  256. 0x00, 0x1F, 0x01, 0x01, 0x1E, // 0xFC
  257. 0x00, 0x19, 0x1D, 0x17, 0x12, // 0xFD
  258. 0x00, 0x3C, 0x3C, 0x3C, 0x3C, // 0xFE
  259. 0x00, 0x00, 0x00, 0x00, 0x00 // 0xFF
  260. };
  261.  
  262. int main()
  263. {
  264. char str[] = "Hello World";
  265.  
  266. // store a pointer to the first character of the string
  267. char * p = str;
  268.  
  269. // while the pointed character is not a null terminator
  270. while (*p)
  271. {
  272. // store the character, and increase pointer to the next character
  273. char c = *p++;
  274.  
  275. printf("'%c' = ", c);
  276.  
  277. // store a pointer to the first byte for this character
  278. unsigned char * p2 = font5x7 + 5 * c;
  279.  
  280. // print 5 bytes, from p2 to p2+4
  281. for (uint8_t i = 0; i < 5; i++)
  282. {
  283. printf("%02X ", *(p2+i));
  284. }
  285.  
  286. printf("\n");
  287. }
  288.  
  289. return 0;
  290. }
Success #stdin #stdout 0s 5300KB
stdin
Standard input is empty
stdout
'H' = 7F 08 08 08 7F 
'e' = 38 54 54 54 18 
'l' = 00 41 7F 40 00 
'l' = 00 41 7F 40 00 
'o' = 38 44 44 44 38 
' ' = 00 00 00 00 00 
'W' = 3F 40 38 40 3F 
'o' = 38 44 44 44 38 
'r' = 7C 08 04 04 08 
'l' = 00 41 7F 40 00 
'd' = 38 44 44 28 7F