1local mathencodings = fonts.encodings.math
2
3mathencodings["lbr-ma"] = {
4 [0x025CB] = 0x00,
5 [0x025CF] = 0x01,
6 [0x025A1] = 0x02,
7 [0x025A0] = 0x03,
8 [0x025B3] = 0x04,
9 [0x025B2] = 0x05,
10 [0x025BD] = 0x06,
11 [0x025BC] = 0x07,
12 [0x02B28] = 0x08,
13 [0x02B27] = 0x09,
14 [0x02B29] = 0x0A,
15 [0x02571] = 0x0B,
16 [0x02572] = 0x0C,
17 [0x022E4] = 0x0D,
18 [0x022E5] = 0x0E,
19 [0x02A4F] = 0x0F,
20 [0x02A4E] = 0x10,
21 [0x02A64] = 0x11,
22 [0x02A65] = 0x12,
23 [0x022EE] = 0x13,
24 [0x022EF] = 0x14,
25 [0x022F0] = 0x15,
26 [0x022F1] = 0x16,
27 [0x022D5] = 0x17,
28
29 [0x0225B] = 0x1A,
30 [0x00127] = 0x1B,
31 [0x022F6] = 0x1C,
32 [0x02209] = 0x1D,
33 [0x022FD] = 0x1E,
34 [0x0220C] = 0x1F,
35 [0x02204] = 0x20,
36 [0x02194] = 0x21,
37 [0x02195] = 0x22,
38 [0x0219E] = 0x23,
39 [0x0219F] = 0x24,
40 [0x021A0] = 0x25,
41
42 [0x021A1] = 0x27,
43 [0x021A2] = 0x28,
44 [0x021A3] = 0x29,
45 [0x021A4] = 0x2A,
46 [0x021A6] = 0x2B,
47 [0x021A5] = 0x2C,
48
49
50 [0x021A7] = 0x2E,
51 [0x021E4] = 0x2F,
52 [0x021E5] = 0x30,
53
54 [0x021E0] = 0x38,
55 [0x021E1] = 0x39,
56 [0x021E2] = 0x3A,
57 [0x021E3] = 0x3B,
58 [0x021A9] = 0x3C,
59
60 [0x021AA] = 0x3E,
61 [0x021AB] = 0x3F,
62 [0x021AC] = 0x40,
63 [0x1D538] = 0x41,
64 [0x1D539] = 0x42,
65 [0x02102] = 0x43,
66 [0x1D53B] = 0x44,
67 [0x1D53C] = 0x45,
68 [0x1D53D] = 0x46,
69 [0x1D53E] = 0x47,
70 [0x0210D] = 0x48,
71 [0x1D540] = 0x49,
72 [0x1D541] = 0x4A,
73 [0x1D542] = 0x4B,
74 [0x1D543] = 0x4C,
75 [0x1D544] = 0x4D,
76 [0x02115] = 0x4E,
77 [0x1D546] = 0x4F,
78 [0x02119] = 0x50,
79 [0x0211A] = 0x51,
80 [0x0211D] = 0x52,
81 [0x1D54A] = 0x53,
82 [0x1D54B] = 0x54,
83 [0x1D54C] = 0x55,
84 [0x1D54D] = 0x56,
85 [0x1D54E] = 0x57,
86 [0x1D54F] = 0x58,
87 [0x1D550] = 0x59,
88 [0x02124] = 0x5A,
89 [0x0231C] = 0x5B,
90 [0x0231D] = 0x5C,
91 [0x0231E] = 0x5D,
92 [0x0231F] = 0x5E,
93 [0x02225] = 0x5F,
94 [0x021D5] = 0x60,
95 [0x021D4] = 0x61,
96 [0x021D6] = 0x62,
97 [0x021D7] = 0x63,
98 [0x021D9] = 0x64,
99 [0x021D8] = 0x65,
100 [0x021CD] = 0x66,
101 [0x021CE] = 0x67,
102 [0x021CF] = 0x68,
103
104 [0x021DA] = 0x6A,
105 [0x1D55C] = 0x6B,
106 [0x021DB] = 0x6C,
107 [0x021C4] = 0x6D,
108 [0x021C6] = 0x6E,
109 [0x021C5] = 0x6F,
110
111 [0x021C7] = 0x71,
112 [0x021C8] = 0x72,
113 [0x021C9] = 0x73,
114 [0x021CA] = 0x74,
115 [0x021BE] = 0x75,
116 [0x021BF] = 0x76,
117 [0x021C2] = 0x77,
118 [0x021C3] = 0x78,
119 [0x021CB] = 0x79,
120 [0x021CC] = 0x7A,
121 [0x021B0] = 0x7B,
122
123 [0x021B1] = 0x7D,
124
125 [0x02276] = 0x7F,
126 [0x021B2] = 0x81,
127 [0x021B3] = 0x82,
128 [0x02B0E] = 0x83,
129 [0x02B10] = 0x84,
130 [0x02B0F] = 0x85,
131 [0x02B11] = 0x86,
132 [0x021B6] = 0x87,
133 [0x021B7] = 0x88,
134 [0x0293D] = 0x89,
135 [0x0293C] = 0x8A,
136 [0x021BA] = 0x8B,
137 [0x021BB] = 0x8C,
138
139 [0x02260] = 0x94,
140 [0x02262] = 0x95,
141 [0x02241] = 0x96,
142 [0x02244] = 0x97,
143 [0x02249] = 0x98,
144 [0x02247] = 0x99,
145 [0x0226E] = 0x9A,
146 [0x0226F] = 0x9B,
147 [0x02270] = 0x9C,
148 [0x02271] = 0x9D,
149 [0x022E6] = 0x9E,
150 [0x022E7] = 0x9F,
151 [0x02605] = 0xAB,
152 [0x02713] = 0xAC,
153 [0x02277] = 0xC5,
154 [0x02284] = 0xC6,
155 [0x02285] = 0xC7,
156 [0x02288] = 0xC8,
157 [0x02289] = 0xC9,
158
159 [0x0228A] = 0xCC,
160 [0x0228B] = 0xCD,
161
162
163
164
165 [0x02270] = 0xD6,
166 [0x02271] = 0xD7,
167
168 [0x02268] = 0xDC,
169 [0x02269] = 0xDD,
170
171 [0x022E6] = 0xE0,
172 [0x02219] = 0xE1,
173 [0x022E7] = 0xE2,
174
175 [0x02280] = 0xE5,
176 [0x02281] = 0xE6,
177
178 [0x022E8] = 0xEB,
179 [0x022E9] = 0xEC,
180
181 [0x022EA] = 0xEF,
182 [0x022EB] = 0xF0,
183 [0x022EC] = 0xF1,
184 [0x022ED] = 0xF2,
185
186 [0x02226] = 0xF7,
187 [0x022AC] = 0xF8,
188 [0x022AE] = 0xF9,
189 [0x022AD] = 0xFA,
190 [0x022AF] = 0xFB,
191}
192
193mathencodings["lbr-mb"] = {
194 [0x00393] = 0x00,
195 [0x00394] = 0x01,
196 [0x00398] = 0x02,
197 [0x0039B] = 0x03,
198 [0x0039E] = 0x04,
199 [0x003A0] = 0x05,
200 [0x003A3] = 0x06,
201 [0x003A5] = 0x07,
202 [0x003A6] = 0x08,
203 [0x003A8] = 0x09,
204 [0x003A9] = 0x0A,
205 [0x0210F] = 0x9D,
206 [0x02127] = 0x92,
207 [0x02132] = 0x90,
208 [0x02136] = 0x95,
209 [0x02137] = 0x96,
210 [0x02138] = 0x97,
211 [0x02141] = 0x91,
212 [0x02201] = 0x94,
213 [0x0226C] = 0xF2,
214 [0x0227C] = 0xE4,
215 [0x0227D] = 0xE5,
216 [0x0229D] = 0xCC,
217 [0x022A8] = 0xD6,
218 [0x022AA] = 0xD3,
219 [0x022B8] = 0xC7,
220 [0x022BB] = 0xD2,
221 [0x022C7] = 0xF7,
222 [0x022C9] = 0xCF,
223 [0x022CA] = 0xCE,
224 [0x022CB] = 0xD0,
225 [0x022CC] = 0xD1,
226 [0x022D6] = 0xDC,
227 [0x022D7] = 0xDD,
228 [0x022D8] = 0xDE,
229 [0x022D9] = 0xDF,
230 [0x022DA] = 0xE8,
231 [0x022DB] = 0xE9,
232 [0x022DE] = 0xE6,
233 [0x022DF] = 0xE7,
234 [0x024C7] = 0xC9,
235 [0x024C8] = 0xCA,
236 [0x025B6] = 0xF1,
237 [0x025B8] = 0xF0,
238 [0x02720] = 0xCB,
239 [0x02A7D] = 0xE0,
240 [0x02A7E] = 0xE1,
241 [0x02A85] = 0xDA,
242 [0x02A86] = 0xDB,
243 [0x02A8B] = 0xEA,
244 [0x02A8C] = 0xEB,
245 [0x02A95] = 0xE2,
246 [0x02A96] = 0xE3,
247 [0x02AB7] = 0xEC,
248 [0x02AB8] = 0xED,
249 [0x02AC5] = 0xEE,
250 [0x02AC6] = 0xEF,
251 [0x12035] = 0xC8,
252 [0x1D718] = 0x9B,
253}
254
255
256mathencodings["lbr-sy"] = {
257
258
259
260 [0x0002B] = 0x82,
261 [0x0003D] = 0x83,
262
263 [0x021CB] = 0x8D,
264 [0x021CC] = 0x8E,
265 [0x02214] = 0x89,
266 [0x02220] = 0x8B,
267 [0x02221] = 0x8C,
268 [0x02222] = 0x8D,
269 [0x02234] = 0x90,
270 [0x02235] = 0x91,
271 [0x0223D] = 0x24,
272 [0x02242] = 0x99,
273 [0x02245] = 0x9B,
274 [0x0224A] = 0x9D,
275 [0x0224E] = 0xC7,
276 [0x02252] = 0xCB,
277 [0x02253] = 0xCC,
278 [0x02256] = 0xCF,
279 [0x02257] = 0xD0,
280 [0x0225C] = 0xD5,
281 [0x02266] = 0xDA,
282 [0x02267] = 0xDB,
283 [0x02272] = 0xDC,
284 [0x02273] = 0xDD,
285 [0x02276] = 0xDE,
286 [0x02277] = 0xDF,
287 [0x0227E] = 0xE0,
288 [0x0227F] = 0xE1,
289 [0x0228F] = 0xE4,
290 [0x02290] = 0xE5,
291 [0x0229A] = 0xE6,
292 [0x0229B] = 0xE7,
293 [0x0229E] = 0xEA,
294 [0x0229F] = 0xEB,
295 [0x022A0] = 0xEC,
296 [0x022A1] = 0xED,
297 [0x022A7] = 0xEE,
298 [0x022A9] = 0xF0,
299 [0x022BC] = 0xF6,
300 [0x022CE] = 0x85,
301 [0x022CF] = 0x84,
302 [0x022D0] = 0xF8,
303 [0x022D1] = 0xF9,
304 [0x02300] = 0x53,
305 [0x025CA] = 0x05,
306}
307
308
309mathencodings["lbr-sy"] = table.merged(mathencodings["tex-sy"],mathencodings["lbr-sy"])
310
311mathencodings["lbr-fraktur"] = { }
312
313fonts.handlers.vf.math.setletters(mathencodings, "lbr-fraktur", 0x1D504, 0x1D51E)
314
315return {
316 name = "lucida-math",
317 version = "1.00",
318 comment = "Goodies that complement lucida math.",
319 author = "Aditya, Hans, Mojca with help from Zhichu Chen",
320 copyright = "ConTeXt development team",
321 mathematics = {
322 mapfiles = {
323 "lucida.map",
324 },
325 virtuals = {
326 ["lucida-math"] = {
327 { name = "file:lbr.afm", features = "virtualmath", main = true },
328 { name = "hlcrim.tfm", vector = "tex-mi", skewchar=0x7F },
329 { name = "hlcrim.tfm", vector = "tex-it", skewchar=0x7F },
330 { name = "hlcry.tfm", vector = "lbr-sy", skewchar=0x30, parameters = true },
331 { name = "hlcrv.tfm", vector = "tex-ex", extension = true },
332 { name = "hlcra.tfm", vector = "lbr-ma" },
333 { name = "hlcrm.tfm", vector = "lbr-mb" },
334
335
336
337 { name = "file:lbd.afm", vector = "tex-bf" },
338 { name = "file:lbdi.afm", vector = "tex-bi" } ,
339 { name = "file:lsr.afm", vector = "tex-ss" },
340 { name = "file:lstr.afm", vector = "tex-tt" },
341 { name = "file:lbl.afm", vector = "lbr-fraktur" },
342 },
343 },
344 variables = {
345 joinrelfactor = 4,
346 }
347 }
348}
349 |