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