first implementation of SCLD usage.

This commit is contained in:
Christopher Jeffrey 2013-07-13 20:47:29 -05:00
parent fe39c786a6
commit 3c0582c304
1 changed files with 46 additions and 0 deletions

View File

@ -758,6 +758,10 @@ Screen.prototype.draw = function(start, end) {
}
}
if (this.tput && this.tput.strings.enter_alt_charset_mode && SCLD[ch]) {
ch = this.tput.smacs() + SCLD[ch] + this.tput.rmacs();
}
out += ch;
attr = data;
}
@ -4066,6 +4070,48 @@ function sattr(obj, fg, bg) {
| bg;
}
// DEC Special Character and Line Drawing Set.
// Taken from tty.js.
var SCLD = { // (0
'`': '\u25c6', // '◆'
'a': '\u2592', // '▒'
'b': '\u0009', // '\t'
'c': '\u000c', // '\f'
'd': '\u000d', // '\r'
'e': '\u000a', // '\n'
'f': '\u00b0', // '°'
'g': '\u00b1', // '±'
'h': '\u2424', // '\u2424' (NL)
'i': '\u000b', // '\v'
'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' // '·'
};
Object.keys(SCLD).forEach(function(key) {
var val = SCLD[key];
delete SCLD[key];
SCLD[val] = key;
});
/**
* Expose
*/