]> git.proxmox.com Git - mirror_xterm.js.git/blame - src/Charsets.ts
Reference CHARSETS using codes
[mirror_xterm.js.git] / src / Charsets.ts
CommitLineData
ef60e50e
DI
1/**
2 * @license MIT
3 */
4
ef60e50e
DI
5/**
6 * The character sets supported by the terminal. These enable several languages
7 * to be represented within the terminal with only 8-bit encoding. See ISO 2022
aab67c2e 8 * for a discussion on character sets. Only VT100 character sets are supported.
ef60e50e 9 */
aab67c2e
DI
10export const CHARSETS: {[key: string]: {[key: string]: string}} = {};
11
12/**
13 * The default character set, US.
14 */
15export const DEFAULT_CHARSET = CHARSETS['B'];
1848fff4
DI
16
17// DEC Special Character and Line Drawing Set.
18// http://vt100.net/docs/vt102-ug/table5-13.html
19// A lot of curses apps use this if they see TERM=xterm.
20// testing: echo -e '\e(0a\e(B'
21// The xterm output sometimes seems to conflict with the
22// reference above. xterm seems in line with the reference
23// when running vttest however.
24// The table below now uses xterm's output from vttest.
aab67c2e 25CHARSETS['0'] = {
1848fff4
DI
26 '`': '\u25c6', // '◆'
27 'a': '\u2592', // '▒'
28 'b': '\u0009', // '\t'
29 'c': '\u000c', // '\f'
30 'd': '\u000d', // '\r'
31 'e': '\u000a', // '\n'
32 'f': '\u00b0', // '°'
33 'g': '\u00b1', // '±'
34 'h': '\u2424', // '\u2424' (NL)
35 'i': '\u000b', // '\v'
36 'j': '\u2518', // '┘'
37 'k': '\u2510', // '┐'
38 'l': '\u250c', // '┌'
39 'm': '\u2514', // '└'
40 'n': '\u253c', // '┼'
41 'o': '\u23ba', // '⎺'
42 'p': '\u23bb', // '⎻'
43 'q': '\u2500', // '─'
44 'r': '\u23bc', // '⎼'
45 's': '\u23bd', // '⎽'
46 't': '\u251c', // '├'
47 'u': '\u2524', // '┤'
48 'v': '\u2534', // '┴'
49 'w': '\u252c', // '┬'
50 'x': '\u2502', // '│'
51 'y': '\u2264', // '≤'
52 'z': '\u2265', // '≥'
53 '{': '\u03c0', // 'π'
54 '|': '\u2260', // '≠'
55 '}': '\u00a3', // '£'
56 '~': '\u00b7' // '·'
57};
58
0461a822
DI
59/**
60 * British character set
61 * ESC (A
62 * Reference: http://vt100.net/docs/vt220-rm/table2-5.html
63 */
aab67c2e 64CHARSETS['A'] = {
0461a822
DI
65 '#': '£'
66};
67
68/**
69 * United States character set
70 * ESC (B
71 */
aab67c2e 72CHARSETS['B'] = null;
0461a822
DI
73
74/**
75 * Dutch character set
76 * ESC (4
77 * Reference: http://vt100.net/docs/vt220-rm/table2-6.html
78 */
aab67c2e 79CHARSETS['4'] = {
0461a822
DI
80 '#': '£',
81 '@': '¾',
82 '[': 'ij',
83 '\\': '½',
84 ']': '|',
85 '{': '¨',
86 '|': 'f',
87 '}': '¼',
88 '~': '´'
89};
90
91/**
92 * Finnish character set
93 * ESC (C or ESC (5
94 * Reference: http://vt100.net/docs/vt220-rm/table2-7.html
95 */
aab67c2e
DI
96CHARSETS['C'] =
97CHARSETS['5'] = {
0461a822
DI
98 '[': 'Ä',
99 '\\': 'Ö',
100 ']': 'Å',
101 '^': 'Ü',
102 '`': 'é',
103 '{': 'ä',
104 '|': 'ö',
105 '}': 'å',
106 '~': 'ü'
107};
108
109/**
110 * French character set
111 * ESC (R
112 * Reference: http://vt100.net/docs/vt220-rm/table2-8.html
113 */
aab67c2e 114CHARSETS['R'] = {
0461a822
DI
115 '#': '£',
116 '@': 'à',
117 '[': '°',
118 '\\': 'ç',
119 ']': '§',
120 '{': 'é',
121 '|': 'ù',
122 '}': 'è',
123 '~': '¨'
124};
125
126/**
127 * French Canadian character set
128 * ESC (Q
129 * Reference: http://vt100.net/docs/vt220-rm/table2-9.html
130 */
aab67c2e 131CHARSETS['Q'] = {
0461a822
DI
132 '@': 'à',
133 '[': 'â',
134 '\\': 'ç',
135 ']': 'ê',
136 '^': 'î',
137 '`': 'ô',
138 '{': 'é',
139 '|': 'ù',
140 '}': 'è',
141 '~': 'û'
142};
143
144/**
145 * German character set
146 * ESC (K
147 * Reference: http://vt100.net/docs/vt220-rm/table2-10.html
148 */
aab67c2e 149CHARSETS['K'] = {
0461a822
DI
150 '@': '§',
151 '[': 'Ä',
152 '\\': 'Ö',
153 ']': 'Ü',
154 '{': 'ä',
155 '|': 'ö',
156 '}': 'ü',
157 '~': 'ß'
158};
159
160/**
161 * Italian character set
162 * ESC (Y
163 * Reference: http://vt100.net/docs/vt220-rm/table2-11.html
164 */
aab67c2e 165CHARSETS['Y'] = {
0461a822
DI
166 '#': '£',
167 '@': '§',
168 '[': '°',
169 '\\': 'ç',
170 ']': 'é',
171 '`': 'ù',
172 '{': 'à',
173 '|': 'ò',
174 '}': 'è',
175 '~': 'ì'
176};
177
178/**
179 * Norwegian/Danish character set
180 * ESC (E or ESC (6
181 * Reference: http://vt100.net/docs/vt220-rm/table2-12.html
182 */
aab67c2e
DI
183CHARSETS['E'] =
184CHARSETS['6'] = {
0461a822
DI
185 '@': 'Ä',
186 '[': 'Æ',
187 '\\': 'Ø',
188 ']': 'Å',
189 '^': 'Ü',
190 '`': 'ä',
191 '{': 'æ',
192 '|': 'ø',
193 '}': 'å',
194 '~': 'ü'
195};
196
197/**
198 * Spanish character set
199 * ESC (Z
200 * Reference: http://vt100.net/docs/vt220-rm/table2-13.html
201 */
aab67c2e 202CHARSETS['Z'] = {
0461a822
DI
203 '#': '£',
204 '@': '§',
205 '[': '¡',
206 '\\': 'Ñ',
207 ']': '¿',
208 '{': '°',
209 '|': 'ñ',
210 '}': 'ç'
211};
212
213/**
214 * Swedish character set
215 * ESC (H or ESC (7
216 * Reference: http://vt100.net/docs/vt220-rm/table2-14.html
217 */
aab67c2e
DI
218CHARSETS['H'] =
219CHARSETS['7'] = {
0461a822
DI
220 '@': 'É',
221 '[': 'Ä',
222 '\\': 'Ö',
223 ']': 'Å',
224 '^': 'Ü',
225 '`': 'é',
226 '{': 'ä',
227 '|': 'ö',
228 '}': 'å',
229 '~': 'ü'
230};
231
232/**
233 * Swiss character set
234 * ESC (=
235 * Reference: http://vt100.net/docs/vt220-rm/table2-15.html
236 */
aab67c2e 237CHARSETS['='] = {
0461a822
DI
238 '#': 'ù',
239 '@': 'à',
240 '[': 'é',
241 '\\': 'ç',
242 ']': 'ê',
243 '^': 'î',
244 '_': 'è',
245 '`': 'ô',
246 '{': 'ä',
247 '|': 'ö',
248 '}': 'ü',
249 '~': 'û'
250};