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