fix VTE. only remove surrogate double chars.
This commit is contained in:
parent
051e90070c
commit
0ea8c77dd8
|
@ -567,13 +567,18 @@ exports.chars.wide = new RegExp('(['
|
|||
+ '\\uffe0-\\uffe6'
|
||||
+ '])', 'g');
|
||||
|
||||
// All wide chars including surrogate pairs.
|
||||
exports.chars.all = new RegExp('('
|
||||
// All surrogate pair wide chars.
|
||||
exports.chars.swide = new RegExp('('
|
||||
// 0x20000 - 0x2fffd:
|
||||
+ '[\\ud840-\\ud87f][\\udc00-\\udffd]'
|
||||
+ '|'
|
||||
// 0x30000 - 0x3fffd:
|
||||
+ '[\\ud880-\\ud8bf][\\udc00-\\udffd]'
|
||||
+ ')', 'g');
|
||||
|
||||
// All wide chars including surrogate pairs.
|
||||
exports.chars.all = new RegExp('('
|
||||
+ exports.chars.swide.source.slice(1, -1)
|
||||
+ '|'
|
||||
+ exports.chars.wide.source.slice(1, -1)
|
||||
+ ')', 'g');
|
||||
|
|
|
@ -2428,10 +2428,7 @@ Element.prototype.parseContent = function(noTags) {
|
|||
// VTE cannot display double-width chars that are also
|
||||
// surrogate pairs: It miscalculates the width of the chars.
|
||||
if (this.screen.program.isVTE) {
|
||||
// In reality we should only drop double-width surrogate pairs,
|
||||
// but we don't have a regex for that yet.
|
||||
// content = content.replace(unicode.chars.surrogateDoubleWidth, '?');
|
||||
content = content.replace(unicode.chars.surrogate, '?');
|
||||
content = content.replace(unicode.chars.swide, '?');
|
||||
}
|
||||
} else {
|
||||
// no double-width: replace them with question-marks.
|
||||
|
|
Loading…
Reference in New Issue