xref: /dragonfly/usr.bin/window/char.c (revision d4ef6694)
1 /*	@(#)char.c	8.1 (Berkeley) 6/6/93	*/
2 /*	$NetBSD: char.c,v 1.6 2009/04/14 08:50:06 lukem Exp $	*/
3 
4 /*
5  * Copyright (c) 1983, 1993
6  *	The Regents of the University of California.  All rights reserved.
7  *
8  * This code is derived from software contributed to Berkeley by
9  * Edward Wang at The University of California, Berkeley.
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions
13  * are met:
14  * 1. Redistributions of source code must retain the above copyright
15  *    notice, this list of conditions and the following disclaimer.
16  * 2. Redistributions in binary form must reproduce the above copyright
17  *    notice, this list of conditions and the following disclaimer in the
18  *    documentation and/or other materials provided with the distribution.
19  * 3. Neither the name of the University nor the names of its contributors
20  *    may be used to endorse or promote products derived from this software
21  *    without specific prior written permission.
22  *
23  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33  * SUCH DAMAGE.
34  */
35 
36 #include "char.h"
37 
38 char _cmap[] = {
39 	_C|_U,		_C|_U,		_C|_U,		_C|_U,	/* ^@ - ^C */
40 	_C|_U,		_C|_U,		_C|_U,		_C|_U,	/* ^D - ^G */
41 	_C,		_C|_P,		_C,		_C|_U,	/* ^H - ^K */
42 	_C|_U,		_C,		_C|_U,		_C|_U,	/* ^L - ^O */
43 	_C|_U,		_C|_U,		_C|_U,		_C|_U,	/* ^P - ^S */
44 	_C|_U,		_C|_U,		_C|_U,		_C|_U,	/* ^T - ^W */
45 	_C|_U,		_C|_U,		_C|_U,		_C|_U,	/* ^U - ^[ */
46 	_C|_U,		_C|_U,		_C|_U,		_C|_U,	/* ^\ - ^_ */
47 
48 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
49 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
50 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
51 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
52 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
53 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
54 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
55 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
56 
57 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
58 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
59 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
60 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
61 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
62 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
63 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
64 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
65 
66 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
67 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
68 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
69 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
70 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
71 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
72 	_P|_U,		_P|_U,		_P|_U,		_P|_U,
73 	_P|_U,		_P|_U,		_P|_U,		_C|_U,
74 
75 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
76 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
77 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
78 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
79 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
80 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
81 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
82 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
83 
84 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
85 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
86 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
87 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
88 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
89 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
90 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
91 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
92 
93 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
94 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
95 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
96 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
97 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
98 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
99 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
100 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
101 
102 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
103 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
104 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
105 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
106 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
107 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
108 	_C|_U,		_C|_U,		_C|_U,		_C|_U,
109 	_C|_U,		_C|_U,		_C|_U,		_C|_U
110 };
111 
112 const char *_unctrl[] = {
113 	"^@",	"^A",	"^B",	"^C",	"^D",	"^E",	"^F",	"^G",
114 	"^H",	"^I",	"^J",	"^K",	"^L",	"^M",	"^N",	"^O",
115 	"^P",	"^Q",	"^R",	"^S",	"^T",	"^U",	"^V",	"^W",
116 	"^X",	"^Y",	"^Z",	"^[",	"^\\",	"^]",	"^^",	"^_",
117 	" ",	"!",	"\"",	"#",	"$",	"%",	"&",	"'",
118 	"(",	")",	"*",	"+",	",",	"-",	".",	"/",
119 	"0",	"1",	"2",	"3",	"4",	"5",	"6",	"7",
120 	"8",	"9",	":",	";",	"<",	"=",	">",	"?",
121 	"@",	"A",	"B",	"C",	"D",	"E",	"F",	"G",
122 	"H",	"I",	"J",	"K",	"L",	"M",	"N",	"O",
123 	"P",	"Q",	"R",	"S",	"T",	"U",	"V",	"W",
124 	"X",	"Y",	"Z",	"[",	"\\",	"]",	"^",	"_",
125 	"`",	"a",	"b",	"c",	"d",	"e",	"f",	"g",
126 	"h",	"i",	"j",	"k",	"l",	"m",	"n",	"o",
127 	"p",	"q",	"r",	"s",	"t",	"u",	"v",	"w",
128 	"x",	"y",	"z",	"{",	"|",	"}",	"~",	"^?",
129 	"\\200","\\201","\\202","\\203","\\204","\\205","\\206","\\207",
130 	"\\210","\\211","\\212","\\213","\\214","\\215","\\216","\\217",
131 	"\\220","\\221","\\222","\\223","\\224","\\225","\\226","\\227",
132 	"\\230","\\231","\\232","\\233","\\234","\\235","\\236","\\237",
133 	"\\240","\\241","\\242","\\243","\\244","\\245","\\246","\\247",
134 	"\\250","\\251","\\252","\\253","\\254","\\255","\\256","\\257",
135 	"\\260","\\261","\\262","\\263","\\264","\\265","\\266","\\267",
136 	"\\270","\\271","\\272","\\273","\\274","\\275","\\276","\\277",
137 	"\\300","\\301","\\302","\\303","\\304","\\305","\\306","\\307",
138 	"\\310","\\311","\\312","\\313","\\314","\\315","\\316","\\317",
139 	"\\320","\\321","\\322","\\323","\\324","\\325","\\326","\\327",
140 	"\\330","\\331","\\332","\\333","\\334","\\335","\\336","\\337",
141 	"\\340","\\341","\\342","\\343","\\344","\\345","\\346","\\347",
142 	"\\350","\\351","\\352","\\353","\\354","\\355","\\356","\\357",
143 	"\\360","\\361","\\362","\\363","\\364","\\365","\\366","\\367",
144 	"\\370","\\371","\\372","\\373","\\374","\\375","\\376","\\377"
145 };
146