xref: /dragonfly/usr.bin/window/char.c (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
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