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