aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Editor.cxx
diff options
context:
space:
mode:
authorNeil Hodgson <nyamatongwe@gmail.com>2018-05-21 15:15:34 +1000
committerNeil Hodgson <nyamatongwe@gmail.com>2018-05-21 15:15:34 +1000
commit521ef7054806424c97dac5ee71b3a05ed5b9d7f4 (patch)
treed46c95588195f593baa1c46b0882e1c169b6b590 /src/Editor.cxx
parent150417216d362bae78621939102f8183af951f78 (diff)
downloadscintilla-mirror-521ef7054806424c97dac5ee71b3a05ed5b9d7f4.tar.gz
Draw invalid bytes in DBCS when detected as blobs in a similar way to UTF-8.
Diffstat (limited to 'src/Editor.cxx')
-rw-r--r--src/Editor.cxx11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx
index 9aba5ccd2..04d61bea6 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -242,6 +242,17 @@ void Editor::SetRepresentations() {
sprintf(hexits, "x%2X", k);
reprs.SetRepresentation(hiByte, hexits);
}
+ } else if (pdoc->dbcsCodePage) {
+ // DBCS invalid single lead bytes
+ for (int k = 0x80; k < 0x100; k++) {
+ char ch = static_cast<char>(k);
+ if (pdoc->IsDBCSLeadByteNoExcept(ch) || pdoc->IsDBCSLeadByteInvalid(ch)) {
+ const char hiByte[2] = { ch, 0 };
+ char hexits[5]; // Really only needs 4 but that causes warning from gcc 7.1
+ sprintf(hexits, "x%2X", k);
+ reprs.SetRepresentation(hiByte, hexits);
+ }
+ }
}
}