mirror of
https://github.com/wavetermdev/xterm.js.git
synced 2026-08-05 13:43:48 -07:00
Only wrap single width unicode chars
This commit is contained in:
+23
-33
@@ -283,41 +283,31 @@ export class Renderer {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Consider performance implications of not pulling these from the pool
|
||||
if (ch_width === 2) {
|
||||
innerHTML += '<span class="xterm-wide-char">';
|
||||
// Wrap wide characters so they're sized correctly
|
||||
innerHTML += `<span class="xterm-wide-char">${ch}</span>`;
|
||||
} else if (ch.charCodeAt(0) > 255) {
|
||||
// Wrap any non-wide unicode character as some fonts size them badly
|
||||
innerHTML += `<span class="xterm-normal-char">${ch}</span>`;
|
||||
} else {
|
||||
// TODO: Only wrap unicode characters that may vary in width
|
||||
innerHTML += '<span class="xterm-normal-char">';
|
||||
}
|
||||
switch (ch) {
|
||||
case '&':
|
||||
innerHTML += '&';
|
||||
//out += '&';
|
||||
break;
|
||||
case '<':
|
||||
innerHTML += '<';
|
||||
//out += '<';
|
||||
break;
|
||||
case '>':
|
||||
innerHTML += '>';
|
||||
//out += '>';
|
||||
break;
|
||||
default:
|
||||
if (ch <= ' ') {
|
||||
innerHTML += ' ';
|
||||
//out += ' ';
|
||||
} else {
|
||||
innerHTML += ch;
|
||||
// out += ch;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (ch_width === 2) {
|
||||
innerHTML += '</span>';
|
||||
} else {
|
||||
// TODO: Only wrap unicode characters that may vary in width
|
||||
innerHTML += '</span>';
|
||||
switch (ch) {
|
||||
case '&':
|
||||
innerHTML += '&';
|
||||
break;
|
||||
case '<':
|
||||
innerHTML += '<';
|
||||
break;
|
||||
case '>':
|
||||
innerHTML += '>';
|
||||
break;
|
||||
default:
|
||||
if (ch <= ' ') {
|
||||
innerHTML += ' ';
|
||||
} else {
|
||||
innerHTML += ch;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
attr = data;
|
||||
|
||||
Reference in New Issue
Block a user