aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Document.cxx2
-rw-r--r--src/UniConversion.h7
2 files changed, 7 insertions, 2 deletions
diff --git a/src/Document.cxx b/src/Document.cxx
index 4fdfe4e34..9b2e3848c 100644
--- a/src/Document.cxx
+++ b/src/Document.cxx
@@ -1707,7 +1707,7 @@ Sci::Position Document::ParaDown(Sci::Position pos) const {
}
CharacterClass Document::WordCharacterClass(unsigned int ch) const {
- if (dbcsCodePage && (!UTF8IsAscii(ch))) {
+ if (dbcsCodePage && (ch >= 0x80)) {
if (CpUtf8 == dbcsCodePage) {
// Use hard coded Unicode class
const CharacterCategory cc = charMap.CategoryFor(ch);
diff --git a/src/UniConversion.h b/src/UniConversion.h
index 73426beed..ead7aae57 100644
--- a/src/UniConversion.h
+++ b/src/UniConversion.h
@@ -48,10 +48,15 @@ inline constexpr bool UTF8IsTrailByte(unsigned char ch) noexcept {
return (ch >= 0x80) && (ch < 0xc0);
}
-inline constexpr bool UTF8IsAscii(int ch) noexcept {
+inline constexpr bool UTF8IsAscii(unsigned char ch) noexcept {
return ch < 0x80;
}
+inline constexpr bool UTF8IsAscii(char ch) noexcept {
+ const unsigned char uch = ch;
+ return uch < 0x80;
+}
+
enum { UTF8MaskWidth=0x7, UTF8MaskInvalid=0x8 };
int UTF8Classify(const unsigned char *us, size_t len) noexcept;
inline int UTF8Classify(std::string_view sv) noexcept {