From 147fea4aa8f74c72086ee3d416e24982bd8b3a52 Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Sat, 4 Jun 2011 21:14:10 +1000 Subject: Included DBCS support. --- cocoa/PlatCocoa.mm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'cocoa') diff --git a/cocoa/PlatCocoa.mm b/cocoa/PlatCocoa.mm index 80cc5a43b..a9ac95461 100644 --- a/cocoa/PlatCocoa.mm +++ b/cocoa/PlatCocoa.mm @@ -1863,7 +1863,30 @@ long Platform::SendScintillaPointer(WindowID w, unsigned int msg, unsigned long bool Platform::IsDBCSLeadByte(int codePage, char ch) { - // No support for DBCS. + // Byte ranges found in Wikipedia articles with relevant search strings in each case + unsigned char uch = static_cast(ch); + switch (codePage) + { + case 932: + // Shift_jis + return ((uch >= 0x81) && (uch <= 0x9F)) || + ((uch >= 0xE0) && (uch <= 0xEF)); + case 936: + // GBK + return (uch >= 0x81) && (uch <= 0xFE); + case 949: + // Korean Wansung KS C-5601-1987 + return (uch >= 0x81) && (uch <= 0xFE); + case 950: + // Big5 + return (uch >= 0x81) && (uch <= 0xFE); + case 1361: + // Korean Johab KS C-5601-1992 + return + ((uch >= 0x84) && (uch <= 0xD3)) || + ((uch >= 0xD8) && (uch <= 0xDE)) || + ((uch >= 0xE0) && (uch <= 0xF9)); + } return false; } -- cgit v1.2.3