HEX
Server: Apache/2.4.41
System: Linux mainweb 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC 2024 x86_64
User: nationalmedicaregrp (1119)
PHP: 8.3.7
Disabled: exec,passthru,shell_exec,system,popen,proc_open,pcntl_exec
Upload Files
File: /home/ubuntu/node_modules/xterm/src/common/data/Charsets.ts
/**
 * Copyright (c) 2016 The xterm.js authors. All rights reserved.
 * @license MIT
 */

import { ICharset } from 'common/Types';

/**
 * The character sets supported by the terminal. These enable several languages
 * to be represented within the terminal with only 8-bit encoding. See ISO 2022
 * for a discussion on character sets. Only VT100 character sets are supported.
 */
export const CHARSETS: { [key: string]: ICharset | undefined } = {};

/**
 * The default character set, US.
 */
export const DEFAULT_CHARSET: ICharset | undefined = CHARSETS['B'];

/**
 * DEC Special Character and Line Drawing Set.
 * Reference: http://vt100.net/docs/vt102-ug/table5-13.html
 * A lot of curses apps use this if they see TERM=xterm.
 * testing: echo -e '\e(0a\e(B'
 * The xterm output sometimes seems to conflict with the
 * reference above. xterm seems in line with the reference
 * when running vttest however.
 * The table below now uses xterm's output from vttest.
 */
CHARSETS['0'] = {
  '`': '\u25c6', // '◆'
  'a': '\u2592', // '▒'
  'b': '\u2409', // '␉' (HT)
  'c': '\u240c', // '␌' (FF)
  'd': '\u240d', // '␍' (CR)
  'e': '\u240a', // '␊' (LF)
  'f': '\u00b0', // '°'
  'g': '\u00b1', // '±'
  'h': '\u2424', // '␤' (NL)
  'i': '\u240b', // '␋' (VT)
  'j': '\u2518', // '┘'
  'k': '\u2510', // '┐'
  'l': '\u250c', // '┌'
  'm': '\u2514', // '└'
  'n': '\u253c', // '┼'
  'o': '\u23ba', // '⎺'
  'p': '\u23bb', // '⎻'
  'q': '\u2500', // '─'
  'r': '\u23bc', // '⎼'
  's': '\u23bd', // '⎽'
  't': '\u251c', // '├'
  'u': '\u2524', // '┤'
  'v': '\u2534', // '┴'
  'w': '\u252c', // '┬'
  'x': '\u2502', // '│'
  'y': '\u2264', // '≤'
  'z': '\u2265', // '≥'
  '{': '\u03c0', // 'π'
  '|': '\u2260', // '≠'
  '}': '\u00a3', // '£'
  '~': '\u00b7'  // '·'
};

/**
 * British character set
 * ESC (A
 * Reference: http://vt100.net/docs/vt220-rm/table2-5.html
 */
CHARSETS['A'] = {
  '#': '£'
};

/**
 * United States character set
 * ESC (B
 */
CHARSETS['B'] = undefined;

/**
 * Dutch character set
 * ESC (4
 * Reference: http://vt100.net/docs/vt220-rm/table2-6.html
 */
CHARSETS['4'] = {
  '#': '£',
  '@': '¾',
  '[': 'ij',
  '\\': '½',
  ']': '|',
  '{': '¨',
  '|': 'f',
  '}': '¼',
  '~': '´'
};

/**
 * Finnish character set
 * ESC (C or ESC (5
 * Reference: http://vt100.net/docs/vt220-rm/table2-7.html
 */
CHARSETS['C'] =
CHARSETS['5'] = {
  '[': 'Ä',
  '\\': 'Ö',
  ']': 'Å',
  '^': 'Ü',
  '`': 'é',
  '{': 'ä',
  '|': 'ö',
  '}': 'å',
  '~': 'ü'
};

/**
 * French character set
 * ESC (R
 * Reference: http://vt100.net/docs/vt220-rm/table2-8.html
 */
CHARSETS['R'] = {
  '#': '£',
  '@': 'à',
  '[': '°',
  '\\': 'ç',
  ']': '§',
  '{': 'é',
  '|': 'ù',
  '}': 'è',
  '~': '¨'
};

/**
 * French Canadian character set
 * ESC (Q
 * Reference: http://vt100.net/docs/vt220-rm/table2-9.html
 */
CHARSETS['Q'] = {
  '@': 'à',
  '[': 'â',
  '\\': 'ç',
  ']': 'ê',
  '^': 'î',
  '`': 'ô',
  '{': 'é',
  '|': 'ù',
  '}': 'è',
  '~': 'û'
};

/**
 * German character set
 * ESC (K
 * Reference: http://vt100.net/docs/vt220-rm/table2-10.html
 */
CHARSETS['K'] = {
  '@': '§',
  '[': 'Ä',
  '\\': 'Ö',
  ']': 'Ü',
  '{': 'ä',
  '|': 'ö',
  '}': 'ü',
  '~': 'ß'
};

/**
 * Italian character set
 * ESC (Y
 * Reference: http://vt100.net/docs/vt220-rm/table2-11.html
 */
CHARSETS['Y'] = {
  '#': '£',
  '@': '§',
  '[': '°',
  '\\': 'ç',
  ']': 'é',
  '`': 'ù',
  '{': 'à',
  '|': 'ò',
  '}': 'è',
  '~': 'ì'
};

/**
 * Norwegian/Danish character set
 * ESC (E or ESC (6
 * Reference: http://vt100.net/docs/vt220-rm/table2-12.html
 */
CHARSETS['E'] =
CHARSETS['6'] = {
  '@': 'Ä',
  '[': 'Æ',
  '\\': 'Ø',
  ']': 'Å',
  '^': 'Ü',
  '`': 'ä',
  '{': 'æ',
  '|': 'ø',
  '}': 'å',
  '~': 'ü'
};

/**
 * Spanish character set
 * ESC (Z
 * Reference: http://vt100.net/docs/vt220-rm/table2-13.html
 */
CHARSETS['Z'] = {
  '#': '£',
  '@': '§',
  '[': '¡',
  '\\': 'Ñ',
  ']': '¿',
  '{': '°',
  '|': 'ñ',
  '}': 'ç'
};

/**
 * Swedish character set
 * ESC (H or ESC (7
 * Reference: http://vt100.net/docs/vt220-rm/table2-14.html
 */
CHARSETS['H'] =
CHARSETS['7'] = {
  '@': 'É',
  '[': 'Ä',
  '\\': 'Ö',
  ']': 'Å',
  '^': 'Ü',
  '`': 'é',
  '{': 'ä',
  '|': 'ö',
  '}': 'å',
  '~': 'ü'
};

/**
 * Swiss character set
 * ESC (=
 * Reference: http://vt100.net/docs/vt220-rm/table2-15.html
 */
CHARSETS['='] = {
  '#': 'ù',
  '@': 'à',
  '[': 'é',
  '\\': 'ç',
  ']': 'ê',
  '^': 'î',
  // eslint-disable-next-line @typescript-eslint/naming-convention
  '_': 'è',
  '`': 'ô',
  '{': 'ä',
  '|': 'ö',
  '}': 'ü',
  '~': 'û'
};