[BACK]Return to chars.in CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

File: [cvsweb.bsd.lv] / mandoc / Attic / chars.in (download)

Revision 1.26, Fri Jul 16 22:33:30 2010 UTC (13 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.25: +371 -371 lines

Change chars.in HTML encoding to be a Unicode codepoint (int), which is
later formatted in html.c.

/*	$Id: chars.in,v 1.26 2010/07/16 22:33:30 kristaps Exp $ */
/*
 * Copyright (c) 2009 Kristaps Dzonsons <kristaps@bsd.lv>
 *
 * Permission to use, copy, modify, and distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */

/*
 * The ASCII translation tables.  STRING corresponds to predefined
 * strings (cf. mdoc_samples.7 and tmac/mdoc/doc-nroff).  CHAR
 * corresponds to special characters (cf. groff_char.7).  BOTH contains
 * sequences that are equivalent in both STRING and CHAR.
 *
 * Either way, the left-hand side corresponds to the input sequence (\x,
 * \(xx, \*(xx and so on) whose length is listed second element.  The
 * right-hand side is what's produced by the front-end, with the fourth
 * element being its length.
 *
 * XXX - C-escape strings!
 * XXX - update LINES_MAX if adding more!
 */

/* Non-breaking, non-collapsing space uses unit separator. */
static const char ascii_nbrsp[2] = { ASCII_NBRSP, 0 };

CHAR_TBL_START

/* Spacing. */
CHAR("c",			1,	"",		0,	-1)
CHAR("0",			1,	" ",		1,	8194)
CHAR(" ",			1,	" ",		1,	8194)
CHAR("~",			1,	ascii_nbrsp,	1,	160)
CHAR("%",			1,	"",		0,	-1)
CHAR("&",			1,	"",		0,	-1)
CHAR("^",			1,	"",		0,	-1)
CHAR("|",			1,	"",		0,	-1)
CHAR("}",			1,	"",		0,	-1)

/* Accents. */
CHAR("a\"",			2,	"\"",		1,	779)
CHAR("a-",			2,	"-",		1,	175)
CHAR("a.",			2,	".",		1,	729)
CHAR("a^",			2,	"^",		1,	770)
BOTH("\'",			1,	"\'",		1,	769)
BOTH("aa",			2,	"\'",		1,	769)
BOTH("ga",			2,	"`",		1,	768)
BOTH("`",			1,	"`",		1,	768)
CHAR("ab",			2,	"`",		1,	774)
CHAR("ac",			2,	",",		1,	807)
CHAR("ad",			2,	"\"",		1,	776)
CHAR("ah",			2,	"v",		1,	711)
CHAR("ao",			2,	"o",		1,	730)
CHAR("a~",			2, 	"~",		1,	771)
CHAR("ho",			2,	",",		1,	808)
CHAR("ha",			2,	"^",		1,	94)
CHAR("ti",			2,	"~",		1,	126)

/* Quotes. */
CHAR("Bq",			2, 	",,",		2,	8222)
CHAR("bq",			2, 	",",		1,	8218)
BOTH("lq",			2, 	"``",		2,	8220)
BOTH("rq",			2, 	"\'\'",		2,	8221)
CHAR("oq",			2, 	"`",		1,	8216)
CHAR("cq",			2, 	"\'",		1,	8217)
CHAR("aq",			2, 	"\'",		1,	39)
CHAR("dq",			2, 	"\"",		1,	34)
CHAR("Fo",			2,	"<<",		2,	171)
CHAR("Fc",			2,	">>",		2,	187)
CHAR("fo",			2,	"<",		1,	8249)
CHAR("fc",			2,	">",		1,	8250)

/* Brackets. */
CHAR("lB",			2, 	"[",		1,	91)
CHAR("rB",			2, 	"]",		1,	93)
CHAR("lC",			2, 	"{",		1,	123)
CHAR("rC",			2, 	"}",		1,	125)
CHAR("la",			2, 	"<",		1,	10216) /* FIXME: 60 */
CHAR("ra",			2, 	">",		1,	10217) /* FIXME: 62 */
CHAR("bv",			2, 	"|",		1,	9130)
CHAR("braceex",			7, 	"|",		1,	9130)
CHAR("bracketlefttp",		13, 	"|",		1,	9121)
CHAR("bracketleftbp",		13, 	"|",		1,	9123)
CHAR("bracketleftex",		13, 	"|",		1,	9122)
CHAR("bracketrighttp",		14, 	"|",		1,	9124)
CHAR("bracketrightbp",		14, 	"|",		1,	9126)
CHAR("bracketrightex",		14, 	"|",		1,	9125)
CHAR("lt",			2, 	",-",		2,	9127)
CHAR("bracelefttp",		11, 	",-",		2,	9127)
CHAR("lk",			2, 	"{",		1,	9128)
CHAR("braceleftmid",		12, 	"{",		1,	9128)
CHAR("lb",			2, 	",-",		2,	9129)
CHAR("braceleftbp",		11, 	"`-",		2,	9129)
CHAR("braceleftex",		11, 	"|",		1,	9130)
CHAR("rt",			2, 	"-.",		2,	9131)
CHAR("bracerighttp",		12, 	"-.",		2,	9131)
CHAR("rk",			2, 	"}",		1,	9132)
CHAR("bracerightmid",		13, 	"}",		1,	9132)
CHAR("rb",			2, 	"-\'",		2,	9133)
CHAR("bracerightbp",		12, 	"-\'",		2,	9133)
CHAR("bracerightex",		12, 	"|",		1,	9130)
CHAR("parenlefttp",		11, 	"/",		1,	9115)
CHAR("parenleftbp",		11, 	"\\",		1,	9117)
CHAR("parenleftex",		11, 	"|",		1,	9116)
CHAR("parenrighttp",		12, 	"\\",		1,	9118)
CHAR("parenrightbp",		12, 	"/",		1,	9120)
CHAR("parenrightex",		12, 	"|",		1,	9119)

/* Greek characters. */
CHAR("*A",			2,	"A",		1,	913)
CHAR("*B",			2,	"B",		1,	914)
CHAR("*G",			2,	"|",		1,	915)
CHAR("*D",			2,	"/\\",		2,	916)
CHAR("*E",			2,	"E",		1,	917)
CHAR("*Z",			2,	"Z",		1,	918)
CHAR("*Y",			2,	"H",		1,	919)
CHAR("*H",			2,	"O",		1,	920)
CHAR("*I",			2,	"I",		1,	921)
CHAR("*K",			2,	"K",		1,	922)
CHAR("*L",			2,	"/\\",		2,	923)
CHAR("*M",			2,	"M",		1,	924)
CHAR("*N",			2,	"N",		1,	925)
CHAR("*C",			2,	"H",		1,	926)
CHAR("*O",			2,	"O",		1,	927)
CHAR("*P",			2,	"TT",		2,	928)
CHAR("*R",			2,	"P",		1,	929)
CHAR("*S",			2,	">",		1,	931)
CHAR("*T",			2,	"T",		1,	932)
CHAR("*U",			2,	"Y",		1,	933)
CHAR("*F",			2,	"O_",		1,	934)
CHAR("*X",			2,	"X",		1,	935)
CHAR("*Q",			2,	"Y",		1,	936)
CHAR("*W",			2,	"O",		1,	937)
CHAR("*a",			2,	"a",		1,	945)
CHAR("*b",			2,	"B",		1,	946)
CHAR("*g",			2,	"y",		1,	947)
CHAR("*d",			2,	"d",		1,	948)
CHAR("*e",			2,	"e",		1,	949)
CHAR("*z",			2,	"C",		1,	950)
CHAR("*y",			2,	"n",		1,	951)
CHAR("*h",			2,	"0",		1,	952)
CHAR("*i",			2,	"i",		1,	953)
CHAR("*k",			2,	"k",		1,	954)
CHAR("*l",			2,	"\\",		1,	955)
CHAR("*m",			2,	"u",		1,	956)
CHAR("*n",			2,	"v",		1,	957)
CHAR("*c",			2,	"E",		1,	958)
CHAR("*o",			2,	"o",		1,	959)
CHAR("*p",			2,	"n",		1,	960)
CHAR("*r",			2,	"p",		1,	961)
CHAR("*s",			2,	"o",		1,	963)
CHAR("*t",			2,	"t",		1,	964)
CHAR("*u",			2,	"u",		1,	965)
CHAR("*f",			2,	"o",		1,	981)
CHAR("*x",			2,	"x",		1,	967)
CHAR("*q",			2,	"u",		1,	968)
CHAR("*w",			2,	"w",		1,	969)
CHAR("+h",			2,	"0",		1,	977)
CHAR("+f",			2,	"o",		1,	966)
CHAR("+p",			2,	"w",		1,	982)
CHAR("+e",			2,	"e",		1,	1013)
CHAR("ts",			2,	"s",		1,	962)

/* Accented letters. */
CHAR(",C",			2,	"C",		1,	199)
CHAR(",c",			2,	"c",		1,	231)
CHAR("/L",			2,	"L",		1,	321)
CHAR("/O",			2,	"O",		1,	216)
CHAR("/l",			2,	"l",		1,	322)
CHAR("/o",			2,	"o",		1,	248)
CHAR("oA",			2,	"A",		1,	197)
CHAR("oa",			2,	"a",		1,	229)
CHAR(":A",			2,	"A",		1,	196)
CHAR(":E",			2,	"E",		1,	203)
CHAR(":I",			2,	"I",		1,	207)
CHAR(":O",			2,	"O",		1,	214)
CHAR(":U",			2,	"U",		1,	220)
CHAR(":a",			2,	"a",		1,	228)
CHAR(":e",			2,	"e",		1,	235)
CHAR(":i",			2,	"i",		1,	239)
CHAR(":o",			2,	"o",		1,	245)
CHAR(":u",			2,	"u",		1,	252)
CHAR(":y",			2,	"y",		1,	255)
CHAR("\'A",			2,	"A",		1,	193)
CHAR("\'E",			2,	"E",		1,	201)
CHAR("\'I",			2,	"I",		1,	205)
CHAR("\'O",			2,	"O",		1,	211)
CHAR("\'U",			2,	"U",		1,	218)
CHAR("\'a",			2,	"a",		1,	225)
CHAR("\'e",			2,	"e",		1,	233)
CHAR("\'i",			2,	"i",		1,	237)
CHAR("\'o",			2,	"o",		1,	243)
CHAR("\'u",			2,	"u",		1,	250)
CHAR("^A",			2,	"A",		1,	194)
CHAR("^E",			2,	"E",		1,	202)
CHAR("^I",			2,	"I",		1,	206)
CHAR("^O",			2,	"O",		1,	212)
CHAR("^U",			2,	"U",		1,	219)
CHAR("^a",			2,	"a",		1,	226)
CHAR("^e",			2,	"e",		1,	234)
CHAR("^i",			2,	"i",		1,	238)
CHAR("^o",			2,	"o",		1,	244)
CHAR("^u",			2,	"u",		1,	251)
CHAR("`A",			2,	"A",		1,	192)
CHAR("`E",			2,	"E",		1,	200)
CHAR("`I",			2,	"I",		1,	204)
CHAR("`O",			2,	"O",		1,	210)
CHAR("`U",			2,	"U",		1,	217)
CHAR("`a",			2,	"a",		1,	224)
CHAR("`e",			2,	"e",		1,	232)
CHAR("`i",			2,	"i",		1,	236)
CHAR("`o",			2,	"o",		1,	242)
CHAR("`u",			2,	"u",		1,	249)
CHAR("~A",			2,	"A",		1,	195)
CHAR("~N",			2,	"N",		1,	209)
CHAR("~O",			2,	"O",		1,	213)
CHAR("~a",			2,	"a",		1,	227)
CHAR("~n",			2,	"n",		1,	241)
CHAR("~o",			2,	"o",		1,	245)

/* Arrows and lines. */
CHAR("<-",			2, 	"<-",		2,	8592)
CHAR("->",			2, 	"->",		2,	8594)
CHAR("<>",			2, 	"<>",		2,	8596)
CHAR("da",			2, 	"v",		1,	8595)
BOTH("ua",			2,	"^",		1,	8593)
BOTH("va",			2,	"^v",		2,	8597)
CHAR("lA",			2, 	"<=",		2,	8656)
CHAR("rA",			2, 	"=>",		2,	8658)
CHAR("hA",			2, 	"<=>",		3,	8660)
CHAR("dA",			2, 	"v",		1,	8659)
CHAR("uA",			2, 	"^",		1,	8657)
CHAR("vA",			2, 	"^=v",		3,	8661)

/* Logic. */
CHAR("AN",			2,	"^",		1,	8743)
CHAR("OR",			2,	"v",		1,	8744)
CHAR("no",			2,	"~",		1,	172)
CHAR("tno",			3,	"~",		1,	172)
CHAR("te",			2,	"3",		1,	8707)
CHAR("fa",			2,	"V",		1,	8704)
CHAR("st",			2,	"-)",		2,	8715)
CHAR("tf",			2,	".:.",		3,	8756)
CHAR("3d",			2,	".:.",		3,	8756)
CHAR("or",			2,	"|",		1,	124)

/* Mathematicals. */
CHAR("pl",			2,	"+",		1,	43)
CHAR("mi",			2,	"-",		1,	8722)
CHAR("-",			1,	"-",		1,	45)
CHAR("-+",			2,	"-+",		2,	8723)
CHAR("+-",			2, 	"+-",		2,	177)
CHAR("t+-",			3, 	"+-",		2,	177)
CHAR("pc",			2, 	".",		1,	183)
CHAR("md",			2, 	".",		1,	8901)
CHAR("mu",			2,	"x",		1,	215)
CHAR("tmu",			3,	"x",		1,	215)
CHAR("c*",			2,	"x",		1,	8855)
CHAR("c+",			2,	"+",		1,	8853)
CHAR("di",			2,	"-:-",		3,	247)
CHAR("tdi",			3,	"-:-",		3,	247)
CHAR("f/",			2,	"/",		1,	8260)
CHAR("**",			2, 	"*",		1,	8727)
BOTH("<=",			2,	"<=",		2,	8804)
BOTH(">=",			2,	">=",		2,	8805)
CHAR("<<",			2, 	"<<",		2,	8810)
CHAR(">>",			2, 	">>",		2,	8811)
CHAR("eq",			2,	"=",		1,	61)
CHAR("!=",			2, 	"!=",		2,	8800)
CHAR("==",			2, 	"==",		2,	8801)
CHAR("ne",			2, 	"!==",		3,	8802)
CHAR("=~",			2,	"=~",		2,	8773)
CHAR("-~",			2,	"-~",		2,	8771)
CHAR("ap",			2,	"~",		1,	8764)
CHAR("~~",			2,	"~~",		2,	8776)
CHAR("~=",			2,	"~=",		2,	8780)
CHAR("pt",			2,	"oc",		2,	8733)
CHAR("es",			2,	"{}",		2,	8709)
CHAR("mo",			2,	"E",		1,	8712)
CHAR("nm",			2,	"!E",		2,	8713)
CHAR("sb",			2,	"(=",		2,	8834)
CHAR("nb",			2,	"(!=",		3,	8836)
CHAR("sp",			2,	"=)",		2,	8835)
CHAR("nc",			2,	"!=)",		3,	8837)
CHAR("ib",			2,	"(=",		2,	8838)
CHAR("ip",			2,	"=)",		2,	8839)
CHAR("ca",			2,	"(^)",		3,	8745)
CHAR("cu",			2,	"U",		1,	8746)
CHAR("/_",			2,	"/_",		2,	8736)
CHAR("pp",			2,	"_|_",		3,	8869)
CHAR("is",			2,	"I",		1,	8747)
CHAR("integral",		8,	"I",		1,	8747)
CHAR("sum",			3,	"E",		1,	8721)
CHAR("product",			7,	"TT",		2,	8719)
CHAR("coproduct",		9,	"U",		1,	8720)
CHAR("gr",			2,	"V",		1,	8711)
CHAR("sr",			2,	"\\/",		2,	8730)
CHAR("sqrt",			4,	"\\/",		2,	8730)
CHAR("lc",			2,	"|~",		2,	8968)
CHAR("rc",			2,	"~|",		2,	8969)
CHAR("lf",			2,	"|_",		2,	8970)
CHAR("rf",			2,	"_|",		2,	8971)
CHAR("if",			2, 	"oo",		2,	8734)
CHAR("Ah",			2,	"N",		1,	8501)
CHAR("Im",			2,	"I",		1,	8465)
CHAR("Re",			2,	"R",		1,	8476)
CHAR("pd",			2,	"a",		1,	8706)
CHAR("-h",			2,	"/h",		2,	8463)

/* Ligatures. */
CHAR("ff",			2,	"ff",		2,	64256)
CHAR("fi",			2,	"fi",		2,	64257)
CHAR("fl",			2,	"fl",		2,	64258)
CHAR("Fi",			2,	"ffi",		3,	64259)
CHAR("Fl",			2,	"ffl",		3,	64260)
BOTH("AE",			2,	"AE",		2,	198)
BOTH("ae",			2,	"ae",		2,	230)
CHAR("OE",			2,	"OE",		2,	338)
CHAR("oe",			2,	"oe",		2,	339)
CHAR("ss",			2,	"ss",		2,	223)
CHAR("IJ",			2,	"IJ",		2,	306)
CHAR("ij",			2,	"ij",		2,	307)

/* Special letters. */
CHAR("-D",			2,	"D",		1,	208)
CHAR("Sd",			2,	"o",		1,	240)
CHAR("TP",			2,	"b",		1,	222)
CHAR("Tp",			2,	"b",		1,	254)
CHAR(".i",			2,	"i",		1,	305)
CHAR(".j",			2,	"j",		1,	567)

/* Currency. */
CHAR("Do",			2,	"$",		1,	36)
CHAR("ct",			2,	"c",		1,	162)
CHAR("Eu",			2,	"EUR",		3,	8364)
CHAR("eu",			2,	"EUR",		3,	8364)
CHAR("Ye",			2,	"Y",		1,	165)
CHAR("Po",			2,	"L",		1,	163)
CHAR("Cs",			2,	"x",		1,	164)
CHAR("Fn",			2,	"f",		1,	402)

/* pod2man holdovers. */
STRING("--",			2,	"--",		2,	8212)
STRING("PI",			2,	"pi",		2,	960)
STRING("L\"",			2,	"``",		2,	8220)
STRING("R\"",			2,	"\'\'",		2,	8221)
STRING("C+",			2,	"C++",		3,	0)
STRING("C`",			2,	"`",		1,	8216)
STRING("C\'",			2,	"\'",		1,	8217)
STRING("Aq",			2, 	"\'",		1,	39)
STRING("^",			1,	"^",		1,	94)
STRING(",",			1,	",",		1,	44)
STRING("~",			1,	"~",		1,	126)
STRING("/",			1,	"/",		1,	47)
STRING(":",			1,	"\"",		1,	776)
STRING("8",			1,	"B",		1,	946)
STRING("o",			1,	"o",		1,	176)
STRING("D-",			2,	"D",		1,	208)
STRING("d-",			2,	"o",		1,	240)
STRING("Th",			2,	"b",		1,	222)
STRING("th",			2,	"b",		1,	254)

/* Old style. */
STRING("Am",			2,	"&",		1,	38)
STRING("Ba",			2,	"|",		1,	124)
STRING("Ge",			2,	">=",		2,	8805)
STRING("Gt",			2,	">",		1,	62)
STRING("If",			2,	"infinity",	8,	0)
STRING("Le",			2,	"<=",		2,	8804)
STRING("Lq",			2,	"``",		2,	8220)
STRING("Lt",			2,	"<",		1,	60)
STRING("Na",			2,	"NaN",		3,	0)
STRING("Ne",			2,	"!=",		2,	8800)
STRING("Pi",			2,	"pi",		2,	960)
STRING("Pm",			2,	"+-",		2,	177)
STRING("R",			1,	"(R)",		3,	174)
STRING("Rq",			2,	"\'\'",		2,	8221)
STRING("Tm",			2,	"tm",		2,	8482)
STRING("left-bracket",		12,	"[",		1,	91)
STRING("left-parenthesis",	16,	"(",		1,	40)
STRING("left-singlequote",	16,	"`",		1,	8216)
STRING("lp",			2,	"(",		1,	40)
STRING("q",			1,	"\"",		1,	34)
STRING("quote-left",		10,	"`",		1,	8216)
STRING("quote-right",		11,	"\'",		1,	8217)
STRING("right-bracket",		13,	"]",		1,	93)
STRING("right-parenthesis",	17,	")",		1,	41)
STRING("right-singlequote",	17,	"\'",		1,	8217)
STRING("rp",			2,	")",		1,	41)

/* Lines. */
CHAR("ba",			2, 	"|",		1,	124)
CHAR("br",			2, 	"|",		1,	9474)
CHAR("ul",			2, 	"_",		1,	95)
CHAR("rl",			2, 	"-",		1,	8254)
CHAR("bb",			2, 	"|",		1,	166)
CHAR("sl",			2, 	"/",		1,	47)
CHAR("rs",			2, 	"\\",		1,	92)

/* Text markers. */
CHAR("ci",			2, 	"o",		1,	9675)
CHAR("bu",			2, 	"o",		1,	8226)
CHAR("dd",			2,	"=",		1,	8225)
CHAR("dg",			2,	"-",		1,	8224)
CHAR("lz",			2,	"<>",		2,	9674)
CHAR("sq",			2,	"[]",		2,	9633)
CHAR("ps",			2,	"9|",		2,	182)
CHAR("sc",			2,	"S",		1,	167)
CHAR("lh",			2,	"<=",		2,	9756)
CHAR("rh",			2,	"=>",		2,	9758)
CHAR("at",			2,	"@",		1,	64)
CHAR("sh",			2,	"#",		1,	35)
CHAR("CR",			2,	"_|",		2,	8629)
CHAR("OK",			2,	"\\/",		2,	10003)

/* Legal symbols. */
CHAR("co",			2, 	"(C)",		3,	169)
CHAR("rg",			2, 	"(R)",		3,	174)
CHAR("tm",			2, 	"tm",		2,	8482)

/* Punctuation. */
CHAR(".",			1,	".",		1,	46)
CHAR("r!",			2,	"i",		1,	161)
CHAR("r?",			2,	"c",		1,	191)
CHAR("em",			2, 	"--",		2,	8212)
CHAR("en",			2, 	"-",		1,	8211)
CHAR("hy",			2, 	"-",		1,	8208)
CHAR("e",			1,	"\\",		1,	92)

/* Units. */
CHAR("de",			2,	"o",		1,	176)
CHAR("%0",			2,	"%o",		2,	8240)
CHAR("fm",			2,	"\'",		1,	8242)
CHAR("sd",			2,	"\"",		1,	8243)
CHAR("mc",			2,	"mu",		2,	181)

CHAR_TBL_END