GNU Unifont 16.0.02
Pan-Unicode font with complete Unicode Plane 0 coverage and partial coverage of higher planes
unifontpic.h
Go to the documentation of this file.
1/**
2 @file unifontpic.h
3
4 @brief unifontpic.h - Header file for unifontpic.c
5
6 @author Paul Hardy, July 2017
7
8 @copyright Copyright (C) 2017 Paul Hardy
9*/
10/*
11 LICENSE:
12
13 This program is free software: you can redistribute it and/or modify
14 it under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 2 of the License, or
16 (at your option) any later version.
17
18 This program is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 GNU General Public License for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with this program. If not, see <http://www.gnu.org/licenses/>.
25*/
26
27#ifndef _UNIFONTPIC_H_
28#define _UNIFONTPIC_H_
29
30#define MAXSTRING 256 ///< Maximum input string allowed.
31
32#define HEADER_STRING "GNU Unifont 16.0.02" ///< To be printed as chart title.
33
34/**
35 @brief Array of Unifont ASCII glyphs for chart row & column headings.
36
37 Define the array of Unifont ASCII glyphs, code points 0 through 127.
38 This allows using unifontpic to print charts of glyphs above Unicode
39 Plane 0. These were copied from font/plane00/unifont-base.hex, plus
40 U+0020 (ASCII space character).
41*/
42const char *ascii_hex [128] = {
43 "0000:AAAA00018000000180004A51EA505A51C99E0001800000018000000180005555",
44 "0001:AAAA00018000000180003993C252325F8A527193800000018000000180005555",
45 "0002:AAAA00018000000180003BA5C124311989247125800000018000000180005555",
46 "0003:AAAA00018000000180007BA5C1247919C1247925800000018000000180005555",
47 "0004:AAAA000180000001800079BFC2487A49C2487989800000018000000180005555",
48 "0005:AAAA00018000000180007A4DC2527B53C2D67A4F800000018000000180005555",
49 "0006:AAAA000180000001800031A5CA287A31CA2849A5800000018000000180005555",
50 "0007:AAAA000180000001800073D1CA1073D1CA1073DF800000018000000180005555",
51 "0008:AAAA00018000000180001E3991401E3191081E71800000018000000180005555",
52 "0009:AAAA000180000001800022F9A2203E21A2202221800000018000000180005555",
53 "000A:AAAA000180000001800020F9A08020F9A0803E81800000018000000180005555",
54 "000B:AAAA000180000001800022F9A220222194200821800000018000000180005555",
55 "000C:AAAA00018000000180003EF9A0803EF9A0802081800000018000000180005555",
56 "000D:AAAA00018000000180001EF1A08820F1A0901E89800000018000000180005555",
57 "000E:AAAA00018000000180001E71A0881C8982883C71800000018000000180005555",
58 "000F:AAAA00018000000180001EF9A0201C2182203CF9800000018000000180005555",
59 "0010:AAAA0001800000018000391DA510251DA51039DD800000018000000180005555",
60 "0011:AAAA00018000000180007189CA184A09CA08719D800000018000000180005555",
61 "0012:AAAA00018000000180007199CA044A09CA10719D800000018000000180005555",
62 "0013:AAAA00018000000180007199CA044A19CA047199800000018000000180005555",
63 "0014:AAAA00018000000180007185CA0C4A15CA1C7185800000018000000180005555",
64 "0015:AAAA00018000000180004993EA546A59DBD44A53800000018000000180005555",
65 "0016:AAAA00018000000180003453C29A311789127113800000018000000180005555",
66 "0017:AAAA00018000000180007BB9C1247939C1247939800000018000000180005555",
67 "0018:AAAA00018000000180003325C4B447ADC4A434A5800000018000000180005555",
68 "0019:AAAA00018000000180003E89A0D83EA9A0883E89800000018000000180005555",
69 "001A:AAAA00018000000180003A5DC252325D8A52719D800000018000000180005555",
70 "001B:AAAA000180000001800079CFC2107991C0507B8F800000018000000180005555",
71 "001C:AAAA00018000000180001E7190801E61901010E1800000018000000180005555",
72 "001D:AAAA00018000000180000E719080166192100EE1800000018000000180005555",
73 "001E:AAAA00018000000180001C7192801C61941012E1800000018000000180005555",
74 "001F:AAAA000180000001800012719280126192100CE1800000018000000180005555",
75 "0020:00000000000000000000000000000000",
76 "0021:00000000080808080808080008080000",
77 "0022:00002222222200000000000000000000",
78 "0023:000000001212127E24247E4848480000",
79 "0024:00000000083E4948380E09493E080000",
80 "0025:00000000314A4A340808162929460000",
81 "0026:000000001C2222141829454246390000",
82 "0027:00000808080800000000000000000000",
83 "0028:00000004080810101010101008080400",
84 "0029:00000020101008080808080810102000",
85 "002A:00000000000008492A1C2A4908000000",
86 "002B:0000000000000808087F080808000000",
87 "002C:00000000000000000000000018080810",
88 "002D:0000000000000000003C000000000000",
89 "002E:00000000000000000000000018180000",
90 "002F:00000000020204080810102040400000",
91 "0030:00000000182442464A52624224180000",
92 "0031:000000000818280808080808083E0000",
93 "0032:000000003C4242020C102040407E0000",
94 "0033:000000003C4242021C020242423C0000",
95 "0034:00000000040C142444447E0404040000",
96 "0035:000000007E4040407C020202423C0000",
97 "0036:000000001C2040407C424242423C0000",
98 "0037:000000007E0202040404080808080000",
99 "0038:000000003C4242423C424242423C0000",
100 "0039:000000003C4242423E02020204380000",
101 "003A:00000000000018180000001818000000",
102 "003B:00000000000018180000001808081000",
103 "003C:00000000000204081020100804020000",
104 "003D:000000000000007E0000007E00000000",
105 "003E:00000000004020100804081020400000",
106 "003F:000000003C4242020408080008080000",
107 "0040:000000001C224A565252524E201E0000",
108 "0041:0000000018242442427E424242420000",
109 "0042:000000007C4242427C424242427C0000",
110 "0043:000000003C42424040404042423C0000",
111 "0044:00000000784442424242424244780000",
112 "0045:000000007E4040407C404040407E0000",
113 "0046:000000007E4040407C40404040400000",
114 "0047:000000003C424240404E4242463A0000",
115 "0048:00000000424242427E42424242420000",
116 "0049:000000003E08080808080808083E0000",
117 "004A:000000001F0404040404044444380000",
118 "004B:00000000424448506060504844420000",
119 "004C:000000004040404040404040407E0000",
120 "004D:00000000424266665A5A424242420000",
121 "004E:0000000042626252524A4A4646420000",
122 "004F:000000003C42424242424242423C0000",
123 "0050:000000007C4242427C40404040400000",
124 "0051:000000003C4242424242425A663C0300",
125 "0052:000000007C4242427C48444442420000",
126 "0053:000000003C424240300C0242423C0000",
127 "0054:000000007F0808080808080808080000",
128 "0055:000000004242424242424242423C0000",
129 "0056:00000000414141222222141408080000",
130 "0057:00000000424242425A5A666642420000",
131 "0058:00000000424224241818242442420000",
132 "0059:00000000414122221408080808080000",
133 "005A:000000007E02020408102040407E0000",
134 "005B:0000000E080808080808080808080E00",
135 "005C:00000000404020101008080402020000",
136 "005D:00000070101010101010101010107000",
137 "005E:00001824420000000000000000000000",
138 "005F:00000000000000000000000000007F00",
139 "0060:00201008000000000000000000000000",
140 "0061:0000000000003C42023E4242463A0000",
141 "0062:0000004040405C6242424242625C0000",
142 "0063:0000000000003C4240404040423C0000",
143 "0064:0000000202023A4642424242463A0000",
144 "0065:0000000000003C42427E4040423C0000",
145 "0066:0000000C1010107C1010101010100000",
146 "0067:0000000000023A44444438203C42423C",
147 "0068:0000004040405C624242424242420000",
148 "0069:000000080800180808080808083E0000",
149 "006A:0000000404000C040404040404044830",
150 "006B:00000040404044485060504844420000",
151 "006C:000000180808080808080808083E0000",
152 "006D:00000000000076494949494949490000",
153 "006E:0000000000005C624242424242420000",
154 "006F:0000000000003C4242424242423C0000",
155 "0070:0000000000005C6242424242625C4040",
156 "0071:0000000000003A4642424242463A0202",
157 "0072:0000000000005C624240404040400000",
158 "0073:0000000000003C4240300C02423C0000",
159 "0074:000000001010107C10101010100C0000",
160 "0075:000000000000424242424242463A0000",
161 "0076:00000000000042424224242418180000",
162 "0077:00000000000041494949494949360000",
163 "0078:00000000000042422418182442420000",
164 "0079:0000000000004242424242261A02023C",
165 "007A:0000000000007E0204081020407E0000",
166 "007B:0000000C10100808102010080810100C",
167 "007C:00000808080808080808080808080808",
168 "007D:00000030080810100804081010080830",
169 "007E:00000031494600000000000000000000",
170 "007F:AAAA000180000001800073D1CA104BD1CA1073DF800000018000000180005555"
171};
172
173
174/**
175 @brief Array to hold ASCII bitmaps for chart title.
176
177 This array will be created from the strings in ascii_hex[] above.
178*/
179int ascii_bits[128][16];
180
181
182/**
183 @brief Array of 4x5 hexadecimal digits for legend.
184
185 hexdigit contains 4x5 pixel arrays of tiny digits for the legend.
186 See unihexgen.c for a more detailed description in the comments.
187*/
188char hexdigit[16][5] = {
189 {0x6,0x9,0x9,0x9,0x6}, /* 0x0 */
190 {0x2,0x6,0x2,0x2,0x7}, /* 0x1 */
191 {0xF,0x1,0xF,0x8,0xF}, /* 0x2 */
192 {0xE,0x1,0x7,0x1,0xE}, /* 0x3 */
193 {0x9,0x9,0xF,0x1,0x1}, /* 0x4 */
194 {0xF,0x8,0xF,0x1,0xF}, /* 0x5 */
195 {0x6,0x8,0xE,0x9,0x6}, /* 0x6 */
196 {0xF,0x1,0x2,0x4,0x4}, /* 0x7 */
197 {0x6,0x9,0x6,0x9,0x6}, /* 0x8 */
198 {0x6,0x9,0x7,0x1,0x6}, /* 0x9 */
199 {0xF,0x9,0xF,0x9,0x9}, /* 0xA */
200 {0xE,0x9,0xE,0x9,0xE}, /* 0xB */
201 {0x7,0x8,0x8,0x8,0x7}, /* 0xC */
202 {0xE,0x9,0x9,0x9,0xE}, /* 0xD */
203 {0xF,0x8,0xE,0x8,0xF}, /* 0xE */
204 {0xF,0x8,0xE,0x8,0x8} /* 0xF */
205};
206
207#endif
int ascii_bits[128][16]
Array to hold ASCII bitmaps for chart title.
Definition: unifontpic.h:179
const char * ascii_hex[128]
Array of Unifont ASCII glyphs for chart row & column headings.
Definition: unifontpic.h:42
char hexdigit[16][5]
Array of 4x5 hexadecimal digits for legend.
Definition: unifontpic.h:188