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