Mirai's Miscellaneous Misadventures

M51 / core / font.c

1/* license: AGPLv3 or later */

2/* copyright 2024 zamfofex */

3

4#include <mimimi.h>

5

6static struct mimimi_font mimimi_font_value =

7{{

8	/* space */

9	{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

10	

11	/* symbols */

12	{0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

13	{0x00, 0x00, 0x00, 0x48, 0x48, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

14	{0x00, 0x00, 0x50, 0x50, 0xF8, 0x50, 0x50, 0xF8, 0x50, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

15	{0x00, 0x20, 0x70, 0xA8, 0xA0, 0x70, 0x28, 0x28, 0xA8, 0x70, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00},

16	{0x00, 0x00, 0x48, 0xA8, 0x50, 0x10, 0x20, 0x28, 0x54, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

17	{0x00, 0x00, 0x60, 0x90, 0x80, 0x88, 0x7C, 0x88, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

18	{0x00, 0x00, 0x00, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

19	{0x00, 0x00, 0x00, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

20	{0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

21	{0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0x70, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

22	{0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xF8, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

23	{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00},

24	{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

25	{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

26	{0x00, 0x00, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

27	

28	/* digits */

29	{0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x90, 0x90, 0x90, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

30	{0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x40, 0x40, 0x40, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

31	{0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x90, 0x20, 0x40, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

32	{0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x20, 0x20, 0xC0, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00},

33	{0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, 0x50, 0x90, 0xF0, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00},

34	{0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x80, 0x80, 0xE0, 0x20, 0x20, 0xC0, 0x00, 0x00, 0x00, 0x00},

35	{0x00, 0x00, 0x60, 0x90, 0x80, 0xE0, 0x90, 0x90, 0x90, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

36	{0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x20, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00},

37	{0x00, 0x00, 0x60, 0x90, 0x90, 0x60, 0x90, 0x90, 0x90, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

38	{0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xA0, 0xA0, 0xA0, 0x60, 0x20, 0xA0, 0x40, 0x00, 0x00, 0x00},

39	

40	/* symbols */

41	{0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

42	{0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00},

43	{0x00, 0x00, 0x00, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

44	{0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

45	{0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

46	{0x00, 0x00, 0x70, 0x88, 0x08, 0x10, 0x20, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

47	{0x00, 0x00, 0x00, 0x38, 0x44, 0x92, 0xAA, 0x94, 0x40, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

48	

49	/* capital letters */

50	{0x00, 0x00, 0x08, 0x18, 0x28, 0x28, 0x78, 0x48, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

51	{0x00, 0x00, 0xE0, 0x90, 0x90, 0xE0, 0x90, 0x90, 0x90, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

52	{0x00, 0x00, 0x38, 0x44, 0x80, 0x80, 0x80, 0x80, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

53	{0x00, 0x00, 0xE0, 0x90, 0x88, 0x88, 0x88, 0x88, 0x90, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

54	{0x00, 0x00, 0xF0, 0x80, 0x80, 0xE0, 0x80, 0x80, 0x80, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

55	{0x00, 0x00, 0x3C, 0x20, 0x20, 0x38, 0x20, 0x20, 0x20, 0xA0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00},

56	{0x00, 0x00, 0x38, 0x44, 0x80, 0x80, 0x9E, 0x82, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

57	{0x00, 0x00, 0x80, 0x90, 0x90, 0xF0, 0x90, 0x90, 0x90, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00},

58	{0x00, 0x00, 0xE0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

59	{0x00, 0x00, 0x78, 0x48, 0x08, 0x08, 0x08, 0x08, 0x08, 0x90, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00},

60	{0x00, 0x00, 0x88, 0x90, 0xA0, 0xC0, 0xA0, 0xA0, 0x90, 0x94, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00},

61	{0x00, 0x00, 0xC0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xB8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00},

62	{0x00, 0x00, 0x82, 0xC6, 0xAA, 0x92, 0x82, 0x82, 0x82, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

63	{0x00, 0x00, 0x88, 0xC8, 0xC8, 0xA8, 0xA8, 0x98, 0x98, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

64	{0x00, 0x00, 0x30, 0x48, 0x84, 0x84, 0x84, 0x84, 0x48, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

65	{0x00, 0x00, 0xF0, 0x48, 0x48, 0x48, 0x70, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

66	{0x00, 0x00, 0x38, 0x44, 0x82, 0x82, 0x9A, 0xA4, 0x4A, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

67	{0x00, 0x00, 0x70, 0x88, 0x88, 0x90, 0xE0, 0x90, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

68	{0x00, 0x00, 0x30, 0x48, 0x40, 0x20, 0x10, 0xC8, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

69	{0x00, 0x00, 0xF8, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

70	{0x00, 0x00, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

71	{0x00, 0x00, 0x84, 0x84, 0x48, 0x48, 0x50, 0x50, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

72	{0x00, 0x00, 0x82, 0x81, 0x81, 0x81, 0x92, 0xAA, 0x44, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

73	{0x00, 0x00, 0x88, 0x88, 0x50, 0x20, 0x50, 0x50, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

74	{0x00, 0x00, 0xC4, 0x44, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

75	{0x00, 0x00, 0xFC, 0x08, 0x10, 0x10, 0x20, 0x20, 0x4C, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

76	

77	/* symbols */

78	{0x00, 0x00, 0x00, 0xC0, 0x80, 0x80, 0x80, 0x80, 0x80, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

79	{0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

80	{0x00, 0x00, 0x00, 0xC0, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

81	{0x00, 0x00, 0x00, 0x20, 0x50, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

82	{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

83	{0x00, 0x00, 0x00, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

84	

85	/* minuscule letters */

86	{0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0xF0, 0x90, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

87	{0x00, 0xC0, 0x40, 0x40, 0x40, 0x70, 0x48, 0x48, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

88	{0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x90, 0x80, 0x90, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

89	{0x00, 0x10, 0x10, 0x10, 0x10, 0x70, 0x90, 0x90, 0x90, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

90	{0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x90, 0xE0, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

91	{0x00, 0x10, 0x28, 0x20, 0x20, 0x70, 0x20, 0x20, 0x20, 0x20, 0xA0, 0x40, 0x00, 0x00, 0x00, 0x00},

92	{0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x90, 0x60, 0x80, 0x60, 0x10, 0x90, 0x60, 0x00, 0x00, 0x00},

93	{0x00, 0xC0, 0x40, 0x40, 0x40, 0x70, 0x48, 0x48, 0x4A, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

94	{0x00, 0x00, 0x00, 0x40, 0x00, 0xC0, 0x40, 0x40, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

95	{0x00, 0x00, 0x00, 0x20, 0x00, 0x60, 0x20, 0x20, 0x20, 0x20, 0x20, 0xA0, 0x40, 0x00, 0x00, 0x00},

96	{0x00, 0xC0, 0x40, 0x40, 0x40, 0x70, 0x48, 0x70, 0x48, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

97	{0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

98	{0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0x92, 0x92, 0x82, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

99	{0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x90, 0x90, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

100	{0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x90, 0x90, 0x90, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

101	{0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x48, 0x48, 0x48, 0x70, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00},

102	{0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x90, 0x90, 0x90, 0x70, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00},

103	{0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xC8, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

104	{0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x60, 0x10, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

105	{0x00, 0x00, 0x00, 0x00, 0x40, 0xE0, 0x40, 0x40, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

106	{0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x90, 0x90, 0x90, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

107	{0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x48, 0x50, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

108	{0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x92, 0x54, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

109	{0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xA0, 0x40, 0xA0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

110	{0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xA4, 0x24, 0x24, 0x1C, 0x04, 0x1E, 0x24, 0x18, 0x00, 0x00},

111	{0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x10, 0x20, 0x40, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

112	

113	/* symbols */

114	{0x00, 0x00, 0x00, 0x20, 0x40, 0x40, 0x80, 0x40, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

115	{0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

116	{0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

117	{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

118	

119	/* DEL */

120	{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},

121}};

122

123struct mimimi_font *mimimi_font = &mimimi_font_value;