Import mdocml-1.11.1
[dragonfly.git] / contrib / mdocml / chars.in
CommitLineData
60e1e752 1/* $Id: chars.in,v 1.36 2011/03/16 22:49:55 schwarze Exp $ */
80387638
SW
2/*
3 * Copyright (c) 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18/*
19 * The ASCII translation tables. STRING corresponds to predefined
20 * strings (cf. mdoc_samples.7 and tmac/mdoc/doc-nroff). CHAR
21 * corresponds to special characters (cf. groff_char.7). BOTH contains
22 * sequences that are equivalent in both STRING and CHAR.
23 *
24 * Either way, the left-hand side corresponds to the input sequence (\x,
25 * \(xx, \*(xx and so on) whose length is listed second element. The
26 * right-hand side is what's produced by the front-end, with the fourth
27 * element being its length.
28 *
29 * XXX - C-escape strings!
30 * XXX - update LINES_MAX if adding more!
31 */
32
33/* Non-breaking, non-collapsing space uses unit separator. */
34static const char ascii_nbrsp[2] = { ASCII_NBRSP, '\0' };
35
36CHAR_TBL_START
37
38/* Spacing. */
39CHAR("c", "", 0)
40CHAR("0", " ", 8194)
41CHAR(" ", ascii_nbrsp, 160)
42CHAR("~", ascii_nbrsp, 160)
43CHAR("%", "", 0)
44CHAR("&", "", 0)
45CHAR("^", "", 0)
46CHAR("|", "", 0)
47CHAR("}", "", 0)
48
49/* Accents. */
50CHAR("a\"", "\"", 779)
51CHAR("a-", "-", 175)
52CHAR("a.", ".", 729)
53CHAR("a^", "^", 770)
54BOTH("\'", "\'", 769)
55BOTH("aa", "\'", 769)
56BOTH("ga", "`", 768)
57BOTH("`", "`", 768)
58CHAR("ab", "`", 774)
59CHAR("ac", ",", 807)
60CHAR("ad", "\"", 776)
61CHAR("ah", "v", 711)
62CHAR("ao", "o", 730)
63CHAR("a~", "~", 771)
64CHAR("ho", ",", 808)
65CHAR("ha", "^", 94)
66CHAR("ti", "~", 126)
67
68/* Quotes. */
69CHAR("Bq", ",,", 8222)
70CHAR("bq", ",", 8218)
71BOTH("lq", "``", 8220)
72BOTH("rq", "\'\'", 8221)
73CHAR("oq", "`", 8216)
74CHAR("cq", "\'", 8217)
75CHAR("aq", "\'", 39)
76CHAR("dq", "\"", 34)
77CHAR("Fo", "<<", 171)
78CHAR("Fc", ">>", 187)
79CHAR("fo", "<", 8249)
80CHAR("fc", ">", 8250)
81
82/* Brackets. */
83CHAR("lB", "[", 91)
84CHAR("rB", "]", 93)
85CHAR("lC", "{", 123)
86CHAR("rC", "}", 125)
87CHAR("la", "<", 60)
88CHAR("ra", ">", 62)
89CHAR("bv", "|", 9130)
90CHAR("braceex", "|", 9130)
91CHAR("bracketlefttp", "|", 9121)
92CHAR("bracketleftbp", "|", 9123)
93CHAR("bracketleftex", "|", 9122)
94CHAR("bracketrighttp", "|", 9124)
95CHAR("bracketrightbp", "|", 9126)
96CHAR("bracketrightex", "|", 9125)
97CHAR("lt", ",-", 9127)
98CHAR("bracelefttp", ",-", 9127)
99CHAR("lk", "{", 9128)
100CHAR("braceleftmid", "{", 9128)
101CHAR("lb", ",-", 9129)
102CHAR("braceleftbp", "`-", 9129)
103CHAR("braceleftex", "|", 9130)
104CHAR("rt", "-.", 9131)
105CHAR("bracerighttp", "-.", 9131)
106CHAR("rk", "}", 9132)
107CHAR("bracerightmid", "}", 9132)
108CHAR("rb", "-\'", 9133)
109CHAR("bracerightbp", "-\'", 9133)
110CHAR("bracerightex", "|", 9130)
111CHAR("parenlefttp", "/", 9115)
112CHAR("parenleftbp", "\\", 9117)
113CHAR("parenleftex", "|", 9116)
114CHAR("parenrighttp", "\\", 9118)
115CHAR("parenrightbp", "/", 9120)
116CHAR("parenrightex", "|", 9119)
117
118/* Greek characters. */
119CHAR("*A", "A", 913)
120CHAR("*B", "B", 914)
121CHAR("*G", "|", 915)
122CHAR("*D", "/\\", 916)
123CHAR("*E", "E", 917)
124CHAR("*Z", "Z", 918)
125CHAR("*Y", "H", 919)
126CHAR("*H", "O", 920)
127CHAR("*I", "I", 921)
128CHAR("*K", "K", 922)
129CHAR("*L", "/\\", 923)
130CHAR("*M", "M", 924)
131CHAR("*N", "N", 925)
132CHAR("*C", "H", 926)
133CHAR("*O", "O", 927)
134CHAR("*P", "TT", 928)
135CHAR("*R", "P", 929)
136CHAR("*S", ">", 931)
137CHAR("*T", "T", 932)
138CHAR("*U", "Y", 933)
139CHAR("*F", "O_", 934)
140CHAR("*X", "X", 935)
141CHAR("*Q", "Y", 936)
142CHAR("*W", "O", 937)
143CHAR("*a", "a", 945)
144CHAR("*b", "B", 946)
145CHAR("*g", "y", 947)
146CHAR("*d", "d", 948)
147CHAR("*e", "e", 949)
148CHAR("*z", "C", 950)
149CHAR("*y", "n", 951)
150CHAR("*h", "0", 952)
151CHAR("*i", "i", 953)
152CHAR("*k", "k", 954)
153CHAR("*l", "\\", 955)
154CHAR("*m", "u", 956)
155CHAR("*n", "v", 957)
156CHAR("*c", "E", 958)
157CHAR("*o", "o", 959)
158CHAR("*p", "n", 960)
159CHAR("*r", "p", 961)
160CHAR("*s", "o", 963)
161CHAR("*t", "t", 964)
162CHAR("*u", "u", 965)
163CHAR("*f", "o", 981)
164CHAR("*x", "x", 967)
165CHAR("*q", "u", 968)
166CHAR("*w", "w", 969)
167CHAR("+h", "0", 977)
168CHAR("+f", "o", 966)
169CHAR("+p", "w", 982)
170CHAR("+e", "e", 1013)
171CHAR("ts", "s", 962)
172
173/* Accented letters. */
174CHAR(",C", "C", 199)
175CHAR(",c", "c", 231)
176CHAR("/L", "L", 321)
177CHAR("/O", "O", 216)
178CHAR("/l", "l", 322)
179CHAR("/o", "o", 248)
180CHAR("oA", "A", 197)
181CHAR("oa", "a", 229)
182CHAR(":A", "A", 196)
183CHAR(":E", "E", 203)
184CHAR(":I", "I", 207)
185CHAR(":O", "O", 214)
186CHAR(":U", "U", 220)
187CHAR(":a", "a", 228)
188CHAR(":e", "e", 235)
189CHAR(":i", "i", 239)
60e1e752 190CHAR(":o", "o", 246)
80387638
SW
191CHAR(":u", "u", 252)
192CHAR(":y", "y", 255)
193CHAR("\'A", "A", 193)
194CHAR("\'E", "E", 201)
195CHAR("\'I", "I", 205)
196CHAR("\'O", "O", 211)
197CHAR("\'U", "U", 218)
198CHAR("\'a", "a", 225)
199CHAR("\'e", "e", 233)
200CHAR("\'i", "i", 237)
201CHAR("\'o", "o", 243)
202CHAR("\'u", "u", 250)
203CHAR("^A", "A", 194)
204CHAR("^E", "E", 202)
205CHAR("^I", "I", 206)
206CHAR("^O", "O", 212)
207CHAR("^U", "U", 219)
208CHAR("^a", "a", 226)
209CHAR("^e", "e", 234)
210CHAR("^i", "i", 238)
211CHAR("^o", "o", 244)
212CHAR("^u", "u", 251)
213CHAR("`A", "A", 192)
214CHAR("`E", "E", 200)
215CHAR("`I", "I", 204)
216CHAR("`O", "O", 210)
217CHAR("`U", "U", 217)
218CHAR("`a", "a", 224)
219CHAR("`e", "e", 232)
220CHAR("`i", "i", 236)
221CHAR("`o", "o", 242)
222CHAR("`u", "u", 249)
223CHAR("~A", "A", 195)
224CHAR("~N", "N", 209)
225CHAR("~O", "O", 213)
226CHAR("~a", "a", 227)
227CHAR("~n", "n", 241)
228CHAR("~o", "o", 245)
229
230/* Arrows and lines. */
231CHAR("<-", "<-", 8592)
232CHAR("->", "->", 8594)
233CHAR("<>", "<>", 8596)
234CHAR("da", "v", 8595)
235BOTH("ua", "^", 8593)
236BOTH("va", "^v", 8597)
237CHAR("lA", "<=", 8656)
238CHAR("rA", "=>", 8658)
239CHAR("hA", "<=>", 8660)
240CHAR("dA", "v", 8659)
241CHAR("uA", "^", 8657)
242CHAR("vA", "^=v", 8661)
243
244/* Logic. */
245CHAR("AN", "^", 8743)
246CHAR("OR", "v", 8744)
247CHAR("no", "~", 172)
248CHAR("tno", "~", 172)
249CHAR("te", "3", 8707)
250CHAR("fa", "V", 8704)
251CHAR("st", "-)", 8715)
252CHAR("tf", ".:.", 8756)
253CHAR("3d", ".:.", 8756)
254CHAR("or", "|", 124)
255
256/* Mathematicals. */
257CHAR("pl", "+", 43)
258CHAR("mi", "-", 8722)
259CHAR("-", "-", 45)
260CHAR("-+", "-+", 8723)
261CHAR("+-", "+-", 177)
262CHAR("t+-", "+-", 177)
263CHAR("pc", ".", 183)
264CHAR("md", ".", 8901)
265CHAR("mu", "x", 215)
266CHAR("tmu", "x", 215)
267CHAR("c*", "x", 8855)
268CHAR("c+", "+", 8853)
269CHAR("di", "-:-", 247)
270CHAR("tdi", "-:-", 247)
271CHAR("f/", "/", 8260)
272CHAR("**", "*", 8727)
273BOTH("<=", "<=", 8804)
274BOTH(">=", ">=", 8805)
275CHAR("<<", "<<", 8810)
276CHAR(">>", ">>", 8811)
277CHAR("eq", "=", 61)
278CHAR("!=", "!=", 8800)
279CHAR("==", "==", 8801)
280CHAR("ne", "!==", 8802)
281CHAR("=~", "=~", 8773)
282CHAR("-~", "-~", 8771)
283CHAR("ap", "~", 8764)
284CHAR("~~", "~~", 8776)
285CHAR("~=", "~=", 8780)
286CHAR("pt", "oc", 8733)
287CHAR("es", "{}", 8709)
288CHAR("mo", "E", 8712)
289CHAR("nm", "!E", 8713)
290CHAR("sb", "(=", 8834)
291CHAR("nb", "(!=", 8836)
292CHAR("sp", "=)", 8835)
293CHAR("nc", "!=)", 8837)
294CHAR("ib", "(=", 8838)
295CHAR("ip", "=)", 8839)
296CHAR("ca", "(^)", 8745)
297CHAR("cu", "U", 8746)
298CHAR("/_", "/_", 8736)
299CHAR("pp", "_|_", 8869)
300CHAR("is", "I", 8747)
301CHAR("integral", "I", 8747)
302CHAR("sum", "E", 8721)
303CHAR("product", "TT", 8719)
304CHAR("coproduct", "U", 8720)
305CHAR("gr", "V", 8711)
306CHAR("sr", "\\/", 8730)
307CHAR("sqrt", "\\/", 8730)
308CHAR("lc", "|~", 8968)
309CHAR("rc", "~|", 8969)
310CHAR("lf", "|_", 8970)
311CHAR("rf", "_|", 8971)
312CHAR("if", "oo", 8734)
313CHAR("Ah", "N", 8501)
314CHAR("Im", "I", 8465)
315CHAR("Re", "R", 8476)
316CHAR("pd", "a", 8706)
317CHAR("-h", "/h", 8463)
318
319/* Ligatures. */
320CHAR("ff", "ff", 64256)
321CHAR("fi", "fi", 64257)
322CHAR("fl", "fl", 64258)
323CHAR("Fi", "ffi", 64259)
324CHAR("Fl", "ffl", 64260)
325CHAR("AE", "AE", 198)
326CHAR("ae", "ae", 230)
327CHAR("OE", "OE", 338)
328CHAR("oe", "oe", 339)
329CHAR("ss", "ss", 223)
330CHAR("IJ", "IJ", 306)
331CHAR("ij", "ij", 307)
332
333/* Special letters. */
334CHAR("-D", "D", 208)
335CHAR("Sd", "o", 240)
336CHAR("TP", "b", 222)
337CHAR("Tp", "b", 254)
338CHAR(".i", "i", 305)
339CHAR(".j", "j", 567)
340
341/* Currency. */
342CHAR("Do", "$", 36)
343CHAR("ct", "c", 162)
344CHAR("Eu", "EUR", 8364)
345CHAR("eu", "EUR", 8364)
346CHAR("Ye", "Y", 165)
347CHAR("Po", "L", 163)
348CHAR("Cs", "x", 164)
349CHAR("Fn", "f", 402)
350
351/* Old style. */
352STRING("Am", "&", 38)
353STRING("Ba", "|", 124)
354STRING("Ge", ">=", 8805)
355STRING("Gt", ">", 62)
356STRING("If", "infinity", 0)
357STRING("Le", "<=", 8804)
358STRING("Lq", "``", 8220)
359STRING("Lt", "<", 60)
360STRING("Na", "NaN", 0)
361STRING("Ne", "!=", 8800)
362STRING("Pi", "pi", 960)
363STRING("Pm", "+-", 177)
364STRING("Rq", "\'\'", 8221)
365STRING("left-bracket", "[", 91)
366STRING("left-parenthesis", "(", 40)
367STRING("left-singlequote", "`", 8216)
368STRING("lp", "(", 40)
369STRING("q", "\"", 34)
370STRING("quote-left", "`", 8216)
371STRING("quote-right", "\'", 8217)
372STRING("R", "(R)", 174)
373STRING("right-bracket", "]", 93)
374STRING("right-parenthesis", ")", 41)
375STRING("right-singlequote", "\'", 8217)
376STRING("rp", ")", 41)
377STRING("Tm", "(Tm)", 8482)
378
379/* Lines. */
380CHAR("ba", "|", 124)
381CHAR("br", "|", 9474)
382CHAR("ul", "_", 95)
383CHAR("rl", "-", 8254)
384CHAR("bb", "|", 166)
385CHAR("sl", "/", 47)
386CHAR("rs", "\\", 92)
387
388/* Text markers. */
389CHAR("ci", "o", 9675)
390CHAR("bu", "o", 8226)
391CHAR("dd", "=", 8225)
392CHAR("dg", "-", 8224)
393CHAR("lz", "<>", 9674)
394CHAR("sq", "[]", 9633)
395CHAR("ps", "9|", 182)
396CHAR("sc", "S", 167)
397CHAR("lh", "<=", 9756)
398CHAR("rh", "=>", 9758)
399CHAR("at", "@", 64)
400CHAR("sh", "#", 35)
401CHAR("CR", "_|", 8629)
402CHAR("OK", "\\/", 10003)
403
404/* Legal symbols. */
405CHAR("co", "(C)", 169)
406CHAR("rg", "(R)", 174)
407CHAR("tm", "tm", 8482)
408
409/* Punctuation. */
410CHAR(".", ".", 46)
411CHAR("r!", "i", 161)
412CHAR("r?", "c", 191)
413CHAR("em", "--", 8212)
414CHAR("en", "-", 8211)
415CHAR("hy", "-", 8208)
416CHAR("e", "\\", 92)
417
418/* Units. */
419CHAR("de", "o", 176)
420CHAR("%0", "%o", 8240)
421CHAR("fm", "\'", 8242)
422CHAR("sd", "\"", 8243)
423CHAR("mc", "mu", 181)
424
425CHAR_TBL_END