aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--cocoa/ScintillaFramework/ScintillaFramework.xcodeproj/project.pbxproj4
-rw-r--r--gtk/ScintillaGTK.cxx1
-rw-r--r--gtk/ScintillaGTKAccessible.cxx1
-rw-r--r--gtk/deps.mak65
-rw-r--r--qt/ScintillaEditBase/ScintillaEditBase.pro1
-rw-r--r--scripts/HeaderOrder.txt1
-rw-r--r--src/CaseConvert.cxx21
-rw-r--r--src/Document.cxx1
-rw-r--r--src/UniConversion.cxx22
-rw-r--r--src/UniConversion.h16
-rw-r--r--src/UnicodeFromUTF8.h28
-rw-r--r--test/unit/testUniConversion.cxx27
-rw-r--r--test/unit/testUnicodeFromUTF8.cxx46
-rw-r--r--test/unit/unitTest.cxx1
-rw-r--r--win32/deps.mak153
-rw-r--r--win32/scintilla.mak75
16 files changed, 226 insertions, 237 deletions
diff --git a/cocoa/ScintillaFramework/ScintillaFramework.xcodeproj/project.pbxproj b/cocoa/ScintillaFramework/ScintillaFramework.xcodeproj/project.pbxproj
index 0c7865954..bfef322de 100644
--- a/cocoa/ScintillaFramework/ScintillaFramework.xcodeproj/project.pbxproj
+++ b/cocoa/ScintillaFramework/ScintillaFramework.xcodeproj/project.pbxproj
@@ -11,7 +11,6 @@
1100F1EC178E393200105727 /* CaseConvert.h in Headers */ = {isa = PBXBuildFile; fileRef = 1100F1E7178E393200105727 /* CaseConvert.h */; };
1100F1ED178E393200105727 /* CaseFolder.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1100F1E8178E393200105727 /* CaseFolder.cxx */; };
1100F1EE178E393200105727 /* CaseFolder.h in Headers */ = {isa = PBXBuildFile; fileRef = 1100F1E9178E393200105727 /* CaseFolder.h */; };
- 1100F1EF178E393200105727 /* UnicodeFromUTF8.h in Headers */ = {isa = PBXBuildFile; fileRef = 1100F1EA178E393200105727 /* UnicodeFromUTF8.h */; };
1102C31C169FB49300DC16AB /* LexLaTeX.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1102C31B169FB49300DC16AB /* LexLaTeX.cxx */; };
11126B8214CD3A6200803C49 /* LexAVS.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 11126B8114CD3A6200803C49 /* LexAVS.cxx */; };
1114D6CB1602A951001DC345 /* LexPO.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1114D6CA1602A951001DC345 /* LexPO.cxx */; };
@@ -239,7 +238,6 @@
1100F1E7178E393200105727 /* CaseConvert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CaseConvert.h; path = ../../src/CaseConvert.h; sourceTree = "<group>"; };
1100F1E8178E393200105727 /* CaseFolder.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CaseFolder.cxx; path = ../../src/CaseFolder.cxx; sourceTree = "<group>"; };
1100F1E9178E393200105727 /* CaseFolder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CaseFolder.h; path = ../../src/CaseFolder.h; sourceTree = "<group>"; };
- 1100F1EA178E393200105727 /* UnicodeFromUTF8.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UnicodeFromUTF8.h; path = ../../src/UnicodeFromUTF8.h; sourceTree = "<group>"; };
1102C31B169FB49300DC16AB /* LexLaTeX.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexLaTeX.cxx; path = ../../lexers/LexLaTeX.cxx; sourceTree = "<group>"; };
11126B8114CD3A6200803C49 /* LexAVS.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexAVS.cxx; path = ../../lexers/LexAVS.cxx; sourceTree = "<group>"; };
1114D6CA1602A951001DC345 /* LexPO.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexPO.cxx; path = ../../lexers/LexPO.cxx; sourceTree = "<group>"; };
@@ -714,7 +712,6 @@
114B6FB811FA7623004FB6AB /* Style.h */,
114B6FE111FA7645004FB6AB /* StyleContext.h */,
280056FA188DDD2C00F200AE /* SubStyles.h */,
- 1100F1EA178E393200105727 /* UnicodeFromUTF8.h */,
114B6FBA11FA7623004FB6AB /* UniConversion.h */,
114B6FBB11FA7623004FB6AB /* ViewStyle.h */,
114B6FE211FA7645004FB6AB /* WordList.h */,
@@ -890,7 +887,6 @@
11FBA39E17817DA00048C071 /* CharacterCategory.h in Headers */,
1100F1EC178E393200105727 /* CaseConvert.h in Headers */,
1100F1EE178E393200105727 /* CaseFolder.h in Headers */,
- 1100F1EF178E393200105727 /* UnicodeFromUTF8.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx
index de1c3e727..a8b34e01b 100644
--- a/gtk/ScintillaGTK.cxx
+++ b/gtk/ScintillaGTK.cxx
@@ -65,7 +65,6 @@
#include "Document.h"
#include "CaseConvert.h"
#include "UniConversion.h"
-#include "UnicodeFromUTF8.h"
#include "Selection.h"
#include "PositionCache.h"
#include "EditModel.h"
diff --git a/gtk/ScintillaGTKAccessible.cxx b/gtk/ScintillaGTKAccessible.cxx
index 89854c416..98c8106f1 100644
--- a/gtk/ScintillaGTKAccessible.cxx
+++ b/gtk/ScintillaGTKAccessible.cxx
@@ -114,7 +114,6 @@
#include "Document.h"
#include "CaseConvert.h"
#include "UniConversion.h"
-#include "UnicodeFromUTF8.h"
#include "Selection.h"
#include "PositionCache.h"
#include "EditModel.h"
diff --git a/gtk/deps.mak b/gtk/deps.mak
index a472b5151..3b961d55b 100644
--- a/gtk/deps.mak
+++ b/gtk/deps.mak
@@ -9,11 +9,11 @@ ScintillaGTKAccessible.o: ScintillaGTKAccessible.cxx \
../src/Position.h ../src/UniqueString.h ../src/SplitVector.h \
../src/Partitioning.h ../src/RunStyles.h ../src/ContractionState.h \
../src/CellBuffer.h ../src/CallTip.h ../src/KeyMap.h ../src/Indicator.h \
- ../src/XPM.h ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h \
+ ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h \
../src/CharClassify.h ../src/Decoration.h ../src/CaseFolder.h \
../src/Document.h ../src/CaseConvert.h ../src/UniConversion.h \
- ../src/UnicodeFromUTF8.h ../src/Selection.h ../src/PositionCache.h \
- ../src/EditModel.h ../src/MarginView.h ../src/EditView.h ../src/Editor.h \
+ ../src/Selection.h ../src/PositionCache.h ../src/EditModel.h \
+ ../src/MarginView.h ../src/EditView.h ../src/Editor.h \
../src/AutoComplete.h ../src/ScintillaBase.h ScintillaGTK.h \
ScintillaGTKAccessible.h
ScintillaGTK.o: ScintillaGTK.cxx \
@@ -23,11 +23,11 @@ ScintillaGTK.o: ScintillaGTK.cxx \
../src/Position.h ../src/UniqueString.h ../src/SplitVector.h \
../src/Partitioning.h ../src/RunStyles.h ../src/ContractionState.h \
../src/CellBuffer.h ../src/CallTip.h ../src/KeyMap.h ../src/Indicator.h \
- ../src/XPM.h ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h \
+ ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h \
../src/CharClassify.h ../src/Decoration.h ../src/CaseFolder.h \
../src/Document.h ../src/CaseConvert.h ../src/UniConversion.h \
- ../src/UnicodeFromUTF8.h ../src/Selection.h ../src/PositionCache.h \
- ../src/EditModel.h ../src/MarginView.h ../src/EditView.h ../src/Editor.h \
+ ../src/Selection.h ../src/PositionCache.h ../src/EditModel.h \
+ ../src/MarginView.h ../src/EditView.h ../src/Editor.h \
../src/AutoComplete.h ../src/ScintillaBase.h ../src/ExternalLexer.h \
ScintillaGTK.h scintilla-marshal.h ScintillaGTKAccessible.h Converter.h
AutoComplete.o: ../src/AutoComplete.cxx ../include/Platform.h \
@@ -37,7 +37,7 @@ CallTip.o: ../src/CallTip.cxx ../include/Platform.h \
../include/Scintilla.h ../include/Sci_Position.h ../lexlib/StringCopy.h \
../src/Position.h ../src/CallTip.h
CaseConvert.o: ../src/CaseConvert.cxx ../lexlib/StringCopy.h \
- ../src/CaseConvert.h ../src/UniConversion.h ../src/UnicodeFromUTF8.h
+ ../src/CaseConvert.h ../src/UniConversion.h
CaseFolder.o: ../src/CaseFolder.cxx ../src/CaseFolder.h \
../src/CaseConvert.h ../src/UniConversion.h
Catalogue.o: ../src/Catalogue.cxx ../include/ILexer.h \
@@ -64,34 +64,33 @@ Document.o: ../src/Document.cxx ../include/Platform.h \
../src/Partitioning.h ../src/RunStyles.h ../src/CellBuffer.h \
../src/PerLine.h ../src/CharClassify.h ../src/Decoration.h \
../src/CaseFolder.h ../src/Document.h ../src/RESearch.h \
- ../src/UniConversion.h ../src/UnicodeFromUTF8.h
+ ../src/UniConversion.h
EditModel.o: ../src/EditModel.cxx ../include/Platform.h \
../include/ILoader.h ../include/Sci_Position.h ../include/ILexer.h \
../include/Scintilla.h ../lexlib/StringCopy.h ../src/Position.h \
../src/UniqueString.h ../src/SplitVector.h ../src/Partitioning.h \
../src/RunStyles.h ../src/ContractionState.h ../src/CellBuffer.h \
- ../src/KeyMap.h ../src/Indicator.h ../src/XPM.h ../src/LineMarker.h \
- ../src/Style.h ../src/ViewStyle.h ../src/CharClassify.h \
- ../src/Decoration.h ../src/CaseFolder.h ../src/Document.h \
- ../src/UniConversion.h ../src/Selection.h ../src/PositionCache.h \
- ../src/EditModel.h
+ ../src/KeyMap.h ../src/Indicator.h ../src/LineMarker.h ../src/Style.h \
+ ../src/ViewStyle.h ../src/CharClassify.h ../src/Decoration.h \
+ ../src/CaseFolder.h ../src/Document.h ../src/UniConversion.h \
+ ../src/Selection.h ../src/PositionCache.h ../src/EditModel.h
Editor.o: ../src/Editor.cxx ../include/Platform.h ../include/ILoader.h \
../include/Sci_Position.h ../include/ILexer.h ../include/Scintilla.h \
../lexlib/StringCopy.h ../src/Position.h ../src/UniqueString.h \
../src/SplitVector.h ../src/Partitioning.h ../src/RunStyles.h \
../src/ContractionState.h ../src/CellBuffer.h ../src/PerLine.h \
- ../src/KeyMap.h ../src/Indicator.h ../src/XPM.h ../src/LineMarker.h \
- ../src/Style.h ../src/ViewStyle.h ../src/CharClassify.h \
- ../src/Decoration.h ../src/CaseFolder.h ../src/Document.h \
- ../src/UniConversion.h ../src/Selection.h ../src/PositionCache.h \
- ../src/EditModel.h ../src/MarginView.h ../src/EditView.h ../src/Editor.h
+ ../src/KeyMap.h ../src/Indicator.h ../src/LineMarker.h ../src/Style.h \
+ ../src/ViewStyle.h ../src/CharClassify.h ../src/Decoration.h \
+ ../src/CaseFolder.h ../src/Document.h ../src/UniConversion.h \
+ ../src/Selection.h ../src/PositionCache.h ../src/EditModel.h \
+ ../src/MarginView.h ../src/EditView.h ../src/Editor.h
EditView.o: ../src/EditView.cxx ../include/Platform.h \
../include/ILoader.h ../include/Sci_Position.h ../include/ILexer.h \
../include/Scintilla.h ../lexlib/StringCopy.h ../lexlib/CharacterSet.h \
../src/Position.h ../src/UniqueString.h ../src/SplitVector.h \
../src/Partitioning.h ../src/RunStyles.h ../src/ContractionState.h \
../src/CellBuffer.h ../src/PerLine.h ../src/KeyMap.h ../src/Indicator.h \
- ../src/XPM.h ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h \
+ ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h \
../src/CharClassify.h ../src/Decoration.h ../src/CaseFolder.h \
../src/Document.h ../src/UniConversion.h ../src/Selection.h \
../src/PositionCache.h ../src/EditModel.h ../src/MarginView.h \
@@ -113,11 +112,11 @@ MarginView.o: ../src/MarginView.cxx ../include/Platform.h \
../include/Scintilla.h ../lexlib/StringCopy.h ../src/Position.h \
../src/UniqueString.h ../src/SplitVector.h ../src/Partitioning.h \
../src/RunStyles.h ../src/ContractionState.h ../src/CellBuffer.h \
- ../src/KeyMap.h ../src/Indicator.h ../src/XPM.h ../src/LineMarker.h \
- ../src/Style.h ../src/ViewStyle.h ../src/CharClassify.h \
- ../src/Decoration.h ../src/CaseFolder.h ../src/Document.h \
- ../src/UniConversion.h ../src/Selection.h ../src/PositionCache.h \
- ../src/EditModel.h ../src/MarginView.h ../src/EditView.h
+ ../src/KeyMap.h ../src/Indicator.h ../src/LineMarker.h ../src/Style.h \
+ ../src/ViewStyle.h ../src/CharClassify.h ../src/Decoration.h \
+ ../src/CaseFolder.h ../src/Document.h ../src/UniConversion.h \
+ ../src/Selection.h ../src/PositionCache.h ../src/EditModel.h \
+ ../src/MarginView.h ../src/EditView.h
PerLine.o: ../src/PerLine.cxx ../include/Platform.h \
../include/Scintilla.h ../include/Sci_Position.h ../src/Position.h \
../src/SplitVector.h ../src/Partitioning.h ../src/CellBuffer.h \
@@ -127,10 +126,10 @@ PositionCache.o: ../src/PositionCache.cxx ../include/Platform.h \
../include/Scintilla.h ../src/Position.h ../src/UniqueString.h \
../src/SplitVector.h ../src/Partitioning.h ../src/RunStyles.h \
../src/ContractionState.h ../src/CellBuffer.h ../src/KeyMap.h \
- ../src/Indicator.h ../src/XPM.h ../src/LineMarker.h ../src/Style.h \
- ../src/ViewStyle.h ../src/CharClassify.h ../src/Decoration.h \
- ../src/CaseFolder.h ../src/Document.h ../src/UniConversion.h \
- ../src/Selection.h ../src/PositionCache.h
+ ../src/Indicator.h ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h \
+ ../src/CharClassify.h ../src/Decoration.h ../src/CaseFolder.h \
+ ../src/Document.h ../src/UniConversion.h ../src/Selection.h \
+ ../src/PositionCache.h
RESearch.o: ../src/RESearch.cxx ../src/Position.h ../src/CharClassify.h \
../src/RESearch.h
RunStyles.o: ../src/RunStyles.cxx ../include/Platform.h \
@@ -142,11 +141,11 @@ ScintillaBase.o: ../src/ScintillaBase.cxx ../include/Platform.h \
../lexlib/LexerModule.h ../src/Catalogue.h ../src/Position.h \
../src/UniqueString.h ../src/SplitVector.h ../src/Partitioning.h \
../src/RunStyles.h ../src/ContractionState.h ../src/CellBuffer.h \
- ../src/CallTip.h ../src/KeyMap.h ../src/Indicator.h ../src/XPM.h \
- ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h \
- ../src/CharClassify.h ../src/Decoration.h ../src/CaseFolder.h \
- ../src/Document.h ../src/Selection.h ../src/PositionCache.h \
- ../src/EditModel.h ../src/MarginView.h ../src/EditView.h ../src/Editor.h \
+ ../src/CallTip.h ../src/KeyMap.h ../src/Indicator.h ../src/LineMarker.h \
+ ../src/Style.h ../src/ViewStyle.h ../src/CharClassify.h \
+ ../src/Decoration.h ../src/CaseFolder.h ../src/Document.h \
+ ../src/Selection.h ../src/PositionCache.h ../src/EditModel.h \
+ ../src/MarginView.h ../src/EditView.h ../src/Editor.h \
../src/AutoComplete.h ../src/ScintillaBase.h
Selection.o: ../src/Selection.cxx ../include/Platform.h \
../include/Scintilla.h ../include/Sci_Position.h ../src/Position.h \
diff --git a/qt/ScintillaEditBase/ScintillaEditBase.pro b/qt/ScintillaEditBase/ScintillaEditBase.pro
index bb17f08f6..44ad2bf74 100644
--- a/qt/ScintillaEditBase/ScintillaEditBase.pro
+++ b/qt/ScintillaEditBase/ScintillaEditBase.pro
@@ -71,7 +71,6 @@ HEADERS += \
../../src/XPM.h \
../../src/ViewStyle.h \
../../src/UniConversion.h \
- ../../src/UnicodeFromUTF8.h \
../../src/Style.h \
../../src/SplitVector.h \
../../src/Selection.h \
diff --git a/scripts/HeaderOrder.txt b/scripts/HeaderOrder.txt
index 46fbe6b8f..a28491488 100644
--- a/scripts/HeaderOrder.txt
+++ b/scripts/HeaderOrder.txt
@@ -136,7 +136,6 @@
#include "RESearch.h"
#include "CaseConvert.h"
#include "UniConversion.h"
-#include "UnicodeFromUTF8.h"
#include "DBCS.h"
#include "Selection.h"
#include "PositionCache.h"
diff --git a/src/CaseConvert.cxx b/src/CaseConvert.cxx
index 76bc0c652..49205cb3e 100644
--- a/src/CaseConvert.cxx
+++ b/src/CaseConvert.cxx
@@ -18,7 +18,6 @@
#include "StringCopy.h"
#include "CaseConvert.h"
#include "UniConversion.h"
-#include "UnicodeFromUTF8.h"
using namespace Scintilla;
@@ -665,26 +664,6 @@ CaseConverter caseConvFold;
CaseConverter caseConvUp;
CaseConverter caseConvLow;
-void UTF8FromUTF32Character(int uch, char *putf) {
- size_t k = 0;
- if (uch < 0x80) {
- putf[k++] = static_cast<char>(uch);
- } else if (uch < 0x800) {
- putf[k++] = static_cast<char>(0xC0 | (uch >> 6));
- putf[k++] = static_cast<char>(0x80 | (uch & 0x3f));
- } else if (uch < 0x10000) {
- putf[k++] = static_cast<char>(0xE0 | (uch >> 12));
- putf[k++] = static_cast<char>(0x80 | ((uch >> 6) & 0x3f));
- putf[k++] = static_cast<char>(0x80 | (uch & 0x3f));
- } else {
- putf[k++] = static_cast<char>(0xF0 | (uch >> 18));
- putf[k++] = static_cast<char>(0x80 | ((uch >> 12) & 0x3f));
- putf[k++] = static_cast<char>(0x80 | ((uch >> 6) & 0x3f));
- putf[k++] = static_cast<char>(0x80 | (uch & 0x3f));
- }
- putf[k] = 0;
-}
-
void AddSymmetric(enum CaseConversion conversion, int lower,int upper) {
char lowerUTF8[UTF8MaxBytes+1];
UTF8FromUTF32Character(lower, lowerUTF8);
diff --git a/src/Document.cxx b/src/Document.cxx
index 48913a16c..cb2892c96 100644
--- a/src/Document.cxx
+++ b/src/Document.cxx
@@ -51,7 +51,6 @@
#include "Document.h"
#include "RESearch.h"
#include "UniConversion.h"
-#include "UnicodeFromUTF8.h"
using namespace Scintilla;
diff --git a/src/UniConversion.cxx b/src/UniConversion.cxx
index 19b968932..de86b0b76 100644
--- a/src/UniConversion.cxx
+++ b/src/UniConversion.cxx
@@ -65,6 +65,26 @@ void UTF8FromUTF16(const wchar_t *uptr, size_t tlen, char *putf, size_t len) {
putf[k] = '\0';
}
+void UTF8FromUTF32Character(int uch, char *putf) {
+ size_t k = 0;
+ if (uch < 0x80) {
+ putf[k++] = static_cast<char>(uch);
+ } else if (uch < 0x800) {
+ putf[k++] = static_cast<char>(0xC0 | (uch >> 6));
+ putf[k++] = static_cast<char>(0x80 | (uch & 0x3f));
+ } else if (uch < 0x10000) {
+ putf[k++] = static_cast<char>(0xE0 | (uch >> 12));
+ putf[k++] = static_cast<char>(0x80 | ((uch >> 6) & 0x3f));
+ putf[k++] = static_cast<char>(0x80 | (uch & 0x3f));
+ } else {
+ putf[k++] = static_cast<char>(0xF0 | (uch >> 18));
+ putf[k++] = static_cast<char>(0x80 | ((uch >> 12) & 0x3f));
+ putf[k++] = static_cast<char>(0x80 | ((uch >> 6) & 0x3f));
+ putf[k++] = static_cast<char>(0x80 | (uch & 0x3f));
+ }
+ putf[k] = '\0';
+}
+
size_t UTF16Length(const char *s, size_t len) {
size_t ulen = 0;
const unsigned char *us = reinterpret_cast<const unsigned char *>(s);
@@ -101,7 +121,7 @@ size_t UTF16FromUTF8(const char *s, size_t len, wchar_t *tbuf, size_t tlen) {
break;
}
- const size_t outLen = (byteCount < 4) ? 1 : 2;
+ const size_t outLen = UTF16LengthFromUTF8ByteCount(byteCount);
if (ui + outLen > tlen) {
throw std::runtime_error("UTF16FromUTF8: attempted write beyond end");
}
diff --git a/src/UniConversion.h b/src/UniConversion.h
index 0f22c06e6..98bcd0329 100644
--- a/src/UniConversion.h
+++ b/src/UniConversion.h
@@ -16,6 +16,7 @@ const int unicodeReplacementChar = 0xFFFD;
size_t UTF8Length(const wchar_t *uptr, size_t tlen);
void UTF8FromUTF16(const wchar_t *uptr, size_t tlen, char *putf, size_t len);
+void UTF8FromUTF32Character(int uch, char *putf);
size_t UTF16Length(const char *s, size_t len);
size_t UTF16FromUTF8(const char *s, size_t len, wchar_t *tbuf, size_t tlen);
size_t UTF32FromUTF8(const char *s, size_t len, unsigned int *tbuf, size_t tlen);
@@ -24,6 +25,19 @@ std::string FixInvalidUTF8(const std::string &text);
extern const unsigned char UTF8BytesOfLead[256];
+inline int UnicodeFromUTF8(const unsigned char *us) {
+ switch (UTF8BytesOfLead[us[0]]) {
+ case 1:
+ return us[0];
+ case 2:
+ return ((us[0] & 0x1F) << 6) + (us[1] & 0x3F);
+ case 3:
+ return ((us[0] & 0xF) << 12) + ((us[1] & 0x3F) << 6) + (us[2] & 0x3F);
+ default:
+ return ((us[0] & 0x7) << 18) + ((us[1] & 0x3F) << 12) + ((us[2] & 0x3F) << 6) + (us[3] & 0x3F);
+ }
+}
+
inline bool UTF8IsTrailByte(unsigned char ch) {
return (ch >= 0x80) && (ch < 0xc0);
}
@@ -63,7 +77,7 @@ inline unsigned int UTF16CharLength(wchar_t uch) {
}
inline unsigned int UTF16LengthFromUTF8ByteCount(unsigned int byteCount) {
- return (byteCount < 4) ? 1 : 2;
+ return (byteCount < 4) ? 1 : 2;
}
}
diff --git a/src/UnicodeFromUTF8.h b/src/UnicodeFromUTF8.h
deleted file mode 100644
index 17999a786..000000000
--- a/src/UnicodeFromUTF8.h
+++ /dev/null
@@ -1,28 +0,0 @@
-// Scintilla source code edit control
-/** @file UnicodeFromUTF8.h
- ** Lexer infrastructure.
- **/
-// Copyright 2013 by Neil Hodgson <neilh@scintilla.org>
-// This file is in the public domain.
-
-#ifndef UNICODEFROMUTF8_H
-#define UNICODEFROMUTF8_H
-
-namespace Scintilla {
-
-inline int UnicodeFromUTF8(const unsigned char *us) {
- if (us[0] < 0xC2) {
- return us[0];
- } else if (us[0] < 0xE0) {
- return ((us[0] & 0x1F) << 6) + (us[1] & 0x3F);
- } else if (us[0] < 0xF0) {
- return ((us[0] & 0xF) << 12) + ((us[1] & 0x3F) << 6) + (us[2] & 0x3F);
- } else if (us[0] < 0xF5) {
- return ((us[0] & 0x7) << 18) + ((us[1] & 0x3F) << 12) + ((us[2] & 0x3F) << 6) + (us[3] & 0x3F);
- }
- return us[0];
-}
-
-}
-
-#endif
diff --git a/test/unit/testUniConversion.cxx b/test/unit/testUniConversion.cxx
index 4d34abd60..4bb7d361a 100644
--- a/test/unit/testUniConversion.cxx
+++ b/test/unit/testUniConversion.cxx
@@ -75,6 +75,33 @@ TEST_CASE("UTF16Length") {
TEST_CASE("UniConversion") {
+ // UnicodeFromUTF8
+
+ SECTION("UnicodeFromUTF8 ASCII") {
+ const unsigned char s[]={'a', 0};
+ REQUIRE(UnicodeFromUTF8(s) == 'a');
+ }
+
+ SECTION("UnicodeFromUTF8 Example1") {
+ const unsigned char s[]={0x24, 0};
+ REQUIRE(UnicodeFromUTF8(s) == 0x24);
+ }
+
+ SECTION("UnicodeFromUTF8 Example2") {
+ const unsigned char s[]={0xC2, 0xA2, 0};
+ REQUIRE(UnicodeFromUTF8(s) == 0xA2);
+ }
+
+ SECTION("UnicodeFromUTF8 Example3") {
+ const unsigned char s[]={0xE2, 0x82, 0xAC, 0};
+ REQUIRE(UnicodeFromUTF8(s) == 0x20AC);
+ }
+
+ SECTION("UnicodeFromUTF8 Example4") {
+ const unsigned char s[]={0xF0, 0x90, 0x8D, 0x88, 0};
+ REQUIRE(UnicodeFromUTF8(s) == 0x10348);
+ }
+
// UTF16FromUTF8
SECTION("UTF16FromUTF8 ASCII") {
diff --git a/test/unit/testUnicodeFromUTF8.cxx b/test/unit/testUnicodeFromUTF8.cxx
deleted file mode 100644
index 941a08a16..000000000
--- a/test/unit/testUnicodeFromUTF8.cxx
+++ /dev/null
@@ -1,46 +0,0 @@
-// Unit Tests for Scintilla internal data structures
-
-#include <cstring>
-
-#include <algorithm>
-
-#include "Platform.h"
-
-#include "UnicodeFromUTF8.h"
-
-#include "catch.hpp"
-
-using namespace Scintilla;
-
-// Test UnicodeFromUTF8.
-// Use examples from Wikipedia:
-// http://en.wikipedia.org/wiki/UTF-8
-
-TEST_CASE("UnicodeFromUTF8") {
-
- SECTION("ASCII") {
- const unsigned char s[]={'a', 0};
- REQUIRE(UnicodeFromUTF8(s) == 'a');
- }
-
- SECTION("Example1") {
- const unsigned char s[]={0x24, 0};
- REQUIRE(UnicodeFromUTF8(s) == 0x24);
- }
-
- SECTION("Example2") {
- const unsigned char s[]={0xC2, 0xA2, 0};
- REQUIRE(UnicodeFromUTF8(s) == 0xA2);
- }
-
- SECTION("Example3") {
- const unsigned char s[]={0xE2, 0x82, 0xAC, 0};
- REQUIRE(UnicodeFromUTF8(s) == 0x20AC);
- }
-
- SECTION("Example4") {
- const unsigned char s[]={0xF0, 0x90, 0x8D, 0x88, 0};
- REQUIRE(UnicodeFromUTF8(s) == 0x10348);
- }
-
-}
diff --git a/test/unit/unitTest.cxx b/test/unit/unitTest.cxx
index cdea417db..a98b740d8 100644
--- a/test/unit/unitTest.cxx
+++ b/test/unit/unitTest.cxx
@@ -10,7 +10,6 @@
Decoration
DecorationList
CellBuffer
- UnicodeFromUTF8
UniConversion
To do:
diff --git a/win32/deps.mak b/win32/deps.mak
index 547406db9..d53e52343 100644
--- a/win32/deps.mak
+++ b/win32/deps.mak
@@ -1,13 +1,13 @@
CheckD2D.o: CheckD2D.cxx
HanjaDic.o: HanjaDic.cxx ../src/UniConversion.h HanjaDic.h
PlatWin.o: PlatWin.cxx ../include/Platform.h ../lexlib/StringCopy.h \
- ../src/XPM.h ../src/UniConversion.h ../src/FontQuality.h
+ ../src/XPM.h ../src/UniConversion.h ../src/DBCS.h ../src/FontQuality.h
ScintillaWin.o: ScintillaWin.cxx ../include/Platform.h \
- ../include/ILexer.h ../include/Sci_Position.h ../include/Scintilla.h \
- ../lexlib/StringCopy.h ../src/Position.h ../src/UniqueString.h \
- ../src/SplitVector.h ../src/Partitioning.h ../src/RunStyles.h \
- ../src/ContractionState.h ../src/CellBuffer.h ../src/CallTip.h \
- ../src/KeyMap.h ../src/Indicator.h ../src/XPM.h ../src/LineMarker.h \
+ ../include/ILoader.h ../include/Sci_Position.h ../include/ILexer.h \
+ ../include/Scintilla.h ../lexlib/StringCopy.h ../src/Position.h \
+ ../src/UniqueString.h ../src/SplitVector.h ../src/Partitioning.h \
+ ../src/RunStyles.h ../src/ContractionState.h ../src/CellBuffer.h \
+ ../src/CallTip.h ../src/KeyMap.h ../src/Indicator.h ../src/LineMarker.h \
../src/Style.h ../src/ViewStyle.h ../src/CharClassify.h \
../src/Decoration.h ../src/CaseFolder.h ../src/Document.h \
../src/CaseConvert.h ../src/UniConversion.h ../src/Selection.h \
@@ -21,7 +21,7 @@ CallTip.o: ../src/CallTip.cxx ../include/Platform.h \
../include/Scintilla.h ../include/Sci_Position.h ../lexlib/StringCopy.h \
../src/Position.h ../src/CallTip.h
CaseConvert.o: ../src/CaseConvert.cxx ../lexlib/StringCopy.h \
- ../src/CaseConvert.h ../src/UniConversion.h ../src/UnicodeFromUTF8.h
+ ../src/CaseConvert.h ../src/UniConversion.h
CaseFolder.o: ../src/CaseFolder.cxx ../src/CaseFolder.h \
../src/CaseConvert.h ../src/UniConversion.h
Catalogue.o: ../src/Catalogue.cxx ../include/ILexer.h \
@@ -36,46 +36,49 @@ ContractionState.o: ../src/ContractionState.cxx ../include/Platform.h \
../src/Position.h ../src/UniqueString.h ../src/SplitVector.h \
../src/Partitioning.h ../src/RunStyles.h ../src/SparseVector.h \
../src/ContractionState.h
+DBCS.o: ../src/DBCS.cxx ../src/DBCS.h
Decoration.o: ../src/Decoration.cxx ../include/Platform.h \
../include/Scintilla.h ../include/Sci_Position.h ../src/Position.h \
../src/SplitVector.h ../src/Partitioning.h ../src/RunStyles.h \
../src/Decoration.h
-Document.o: ../src/Document.cxx ../include/Platform.h ../include/ILexer.h \
- ../include/Sci_Position.h ../include/Scintilla.h \
- ../lexlib/CharacterSet.h ../lexlib/CharacterCategory.h ../src/Position.h \
- ../src/SplitVector.h ../src/Partitioning.h ../src/RunStyles.h \
- ../src/CellBuffer.h ../src/PerLine.h ../src/CharClassify.h \
- ../src/Decoration.h ../src/CaseFolder.h ../src/Document.h \
- ../src/RESearch.h ../src/UniConversion.h ../src/UnicodeFromUTF8.h
+Document.o: ../src/Document.cxx ../include/Platform.h \
+ ../include/ILoader.h ../include/Sci_Position.h ../include/ILexer.h \
+ ../include/Scintilla.h ../lexlib/CharacterSet.h \
+ ../lexlib/CharacterCategory.h ../src/Position.h ../src/SplitVector.h \
+ ../src/Partitioning.h ../src/RunStyles.h ../src/CellBuffer.h \
+ ../src/PerLine.h ../src/CharClassify.h ../src/Decoration.h \
+ ../src/CaseFolder.h ../src/Document.h ../src/RESearch.h \
+ ../src/UniConversion.h
EditModel.o: ../src/EditModel.cxx ../include/Platform.h \
- ../include/ILexer.h ../include/Sci_Position.h ../include/Scintilla.h \
+ ../include/ILoader.h ../include/Sci_Position.h ../include/ILexer.h \
+ ../include/Scintilla.h ../lexlib/StringCopy.h ../src/Position.h \
+ ../src/UniqueString.h ../src/SplitVector.h ../src/Partitioning.h \
+ ../src/RunStyles.h ../src/ContractionState.h ../src/CellBuffer.h \
+ ../src/KeyMap.h ../src/Indicator.h ../src/LineMarker.h ../src/Style.h \
+ ../src/ViewStyle.h ../src/CharClassify.h ../src/Decoration.h \
+ ../src/CaseFolder.h ../src/Document.h ../src/UniConversion.h \
+ ../src/Selection.h ../src/PositionCache.h ../src/EditModel.h
+Editor.o: ../src/Editor.cxx ../include/Platform.h ../include/ILoader.h \
+ ../include/Sci_Position.h ../include/ILexer.h ../include/Scintilla.h \
../lexlib/StringCopy.h ../src/Position.h ../src/UniqueString.h \
../src/SplitVector.h ../src/Partitioning.h ../src/RunStyles.h \
- ../src/ContractionState.h ../src/CellBuffer.h ../src/KeyMap.h \
- ../src/Indicator.h ../src/XPM.h ../src/LineMarker.h ../src/Style.h \
+ ../src/ContractionState.h ../src/CellBuffer.h ../src/PerLine.h \
+ ../src/KeyMap.h ../src/Indicator.h ../src/LineMarker.h ../src/Style.h \
../src/ViewStyle.h ../src/CharClassify.h ../src/Decoration.h \
../src/CaseFolder.h ../src/Document.h ../src/UniConversion.h \
- ../src/Selection.h ../src/PositionCache.h ../src/EditModel.h
-Editor.o: ../src/Editor.cxx ../include/Platform.h ../include/ILexer.h \
- ../include/Sci_Position.h ../include/Scintilla.h ../lexlib/StringCopy.h \
+ ../src/Selection.h ../src/PositionCache.h ../src/EditModel.h \
+ ../src/MarginView.h ../src/EditView.h ../src/Editor.h
+EditView.o: ../src/EditView.cxx ../include/Platform.h \
+ ../include/ILoader.h ../include/Sci_Position.h ../include/ILexer.h \
+ ../include/Scintilla.h ../lexlib/StringCopy.h ../lexlib/CharacterSet.h \
../src/Position.h ../src/UniqueString.h ../src/SplitVector.h \
../src/Partitioning.h ../src/RunStyles.h ../src/ContractionState.h \
../src/CellBuffer.h ../src/PerLine.h ../src/KeyMap.h ../src/Indicator.h \
- ../src/XPM.h ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h \
+ ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h \
../src/CharClassify.h ../src/Decoration.h ../src/CaseFolder.h \
../src/Document.h ../src/UniConversion.h ../src/Selection.h \
../src/PositionCache.h ../src/EditModel.h ../src/MarginView.h \
- ../src/EditView.h ../src/Editor.h
-EditView.o: ../src/EditView.cxx ../include/Platform.h ../include/ILexer.h \
- ../include/Sci_Position.h ../include/Scintilla.h ../lexlib/StringCopy.h \
- ../lexlib/CharacterSet.h ../src/Position.h ../src/UniqueString.h \
- ../src/SplitVector.h ../src/Partitioning.h ../src/RunStyles.h \
- ../src/ContractionState.h ../src/CellBuffer.h ../src/PerLine.h \
- ../src/KeyMap.h ../src/Indicator.h ../src/XPM.h ../src/LineMarker.h \
- ../src/Style.h ../src/ViewStyle.h ../src/CharClassify.h \
- ../src/Decoration.h ../src/CaseFolder.h ../src/Document.h \
- ../src/UniConversion.h ../src/Selection.h ../src/PositionCache.h \
- ../src/EditModel.h ../src/MarginView.h ../src/EditView.h
+ ../src/EditView.h
ExternalLexer.o: ../src/ExternalLexer.cxx ../include/Platform.h \
../include/ILexer.h ../include/Sci_Position.h ../include/Scintilla.h \
../include/SciLexer.h ../lexlib/LexerModule.h ../src/Catalogue.h \
@@ -89,11 +92,11 @@ LineMarker.o: ../src/LineMarker.cxx ../include/Platform.h \
../include/Scintilla.h ../include/Sci_Position.h ../lexlib/StringCopy.h \
../src/XPM.h ../src/LineMarker.h
MarginView.o: ../src/MarginView.cxx ../include/Platform.h \
- ../include/ILexer.h ../include/Sci_Position.h ../include/Scintilla.h \
- ../lexlib/StringCopy.h ../src/Position.h ../src/UniqueString.h \
- ../src/SplitVector.h ../src/Partitioning.h ../src/RunStyles.h \
- ../src/ContractionState.h ../src/CellBuffer.h ../src/KeyMap.h \
- ../src/Indicator.h ../src/XPM.h ../src/LineMarker.h ../src/Style.h \
+ ../include/ILoader.h ../include/Sci_Position.h ../include/ILexer.h \
+ ../include/Scintilla.h ../lexlib/StringCopy.h ../src/Position.h \
+ ../src/UniqueString.h ../src/SplitVector.h ../src/Partitioning.h \
+ ../src/RunStyles.h ../src/ContractionState.h ../src/CellBuffer.h \
+ ../src/KeyMap.h ../src/Indicator.h ../src/LineMarker.h ../src/Style.h \
../src/ViewStyle.h ../src/CharClassify.h ../src/Decoration.h \
../src/CaseFolder.h ../src/Document.h ../src/UniConversion.h \
../src/Selection.h ../src/PositionCache.h ../src/EditModel.h \
@@ -103,11 +106,11 @@ PerLine.o: ../src/PerLine.cxx ../include/Platform.h \
../src/SplitVector.h ../src/Partitioning.h ../src/CellBuffer.h \
../src/PerLine.h
PositionCache.o: ../src/PositionCache.cxx ../include/Platform.h \
- ../include/ILexer.h ../include/Sci_Position.h ../include/Scintilla.h \
- ../src/Position.h ../src/UniqueString.h ../src/SplitVector.h \
- ../src/Partitioning.h ../src/RunStyles.h ../src/ContractionState.h \
- ../src/CellBuffer.h ../src/KeyMap.h ../src/Indicator.h ../src/XPM.h \
- ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h \
+ ../include/ILoader.h ../include/Sci_Position.h ../include/ILexer.h \
+ ../include/Scintilla.h ../src/Position.h ../src/UniqueString.h \
+ ../src/SplitVector.h ../src/Partitioning.h ../src/RunStyles.h \
+ ../src/ContractionState.h ../src/CellBuffer.h ../src/KeyMap.h \
+ ../src/Indicator.h ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h \
../src/CharClassify.h ../src/Decoration.h ../src/CaseFolder.h \
../src/Document.h ../src/UniConversion.h ../src/Selection.h \
../src/PositionCache.h
@@ -117,11 +120,11 @@ RunStyles.o: ../src/RunStyles.cxx ../include/Platform.h \
../include/Scintilla.h ../include/Sci_Position.h ../src/Position.h \
../src/SplitVector.h ../src/Partitioning.h ../src/RunStyles.h
ScintillaBase.o: ../src/ScintillaBase.cxx ../include/Platform.h \
- ../include/ILexer.h ../include/Sci_Position.h ../include/Scintilla.h \
- ../lexlib/PropSetSimple.h ../src/Position.h ../src/UniqueString.h \
- ../src/SplitVector.h ../src/Partitioning.h ../src/RunStyles.h \
- ../src/ContractionState.h ../src/CellBuffer.h ../src/CallTip.h \
- ../src/KeyMap.h ../src/Indicator.h ../src/XPM.h ../src/LineMarker.h \
+ ../include/ILoader.h ../include/Sci_Position.h ../include/ILexer.h \
+ ../include/Scintilla.h ../lexlib/PropSetSimple.h ../src/Position.h \
+ ../src/UniqueString.h ../src/SplitVector.h ../src/Partitioning.h \
+ ../src/RunStyles.h ../src/ContractionState.h ../src/CellBuffer.h \
+ ../src/CallTip.h ../src/KeyMap.h ../src/Indicator.h ../src/LineMarker.h \
../src/Style.h ../src/ViewStyle.h ../src/CharClassify.h \
../src/Decoration.h ../src/CaseFolder.h ../src/Document.h \
../src/Selection.h ../src/PositionCache.h ../src/EditModel.h \
@@ -145,6 +148,10 @@ Accessor.o: ../lexlib/Accessor.cxx ../include/ILexer.h \
CharacterCategory.o: ../lexlib/CharacterCategory.cxx \
../lexlib/StringCopy.h ../lexlib/CharacterCategory.h
CharacterSet.o: ../lexlib/CharacterSet.cxx ../lexlib/CharacterSet.h
+DefaultLexer.o: ../lexlib/DefaultLexer.cxx ../include/ILexer.h \
+ ../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
+ ../lexlib/PropSetSimple.h ../lexlib/WordList.h ../lexlib/LexAccessor.h \
+ ../lexlib/Accessor.h ../lexlib/LexerModule.h ../lexlib/DefaultLexer.h
LexerBase.o: ../lexlib/LexerBase.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/PropSetSimple.h ../lexlib/WordList.h ../lexlib/LexAccessor.h \
@@ -193,7 +200,8 @@ LexAPDL.o: ../lexers/LexAPDL.cxx ../include/ILexer.h \
LexAsm.o: ../lexers/LexAsm.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/StyleContext.h \
- ../lexlib/CharacterSet.h ../lexlib/LexerModule.h ../lexlib/OptionSet.h
+ ../lexlib/CharacterSet.h ../lexlib/LexerModule.h ../lexlib/OptionSet.h \
+ ../lexlib/DefaultLexer.h
LexAsn1.o: ../lexers/LexAsn1.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
@@ -222,7 +230,8 @@ LexAVS.o: ../lexers/LexAVS.cxx ../include/ILexer.h \
LexBaan.o: ../lexers/LexBaan.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/StyleContext.h \
- ../lexlib/CharacterSet.h ../lexlib/LexerModule.h ../lexlib/OptionSet.h
+ ../lexlib/CharacterSet.h ../lexlib/LexerModule.h ../lexlib/OptionSet.h \
+ ../lexlib/DefaultLexer.h
LexBash.o: ../lexers/LexBash.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
@@ -231,7 +240,8 @@ LexBash.o: ../lexers/LexBash.cxx ../include/ILexer.h \
LexBasic.o: ../lexers/LexBasic.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/StyleContext.h \
- ../lexlib/CharacterSet.h ../lexlib/LexerModule.h ../lexlib/OptionSet.h
+ ../lexlib/CharacterSet.h ../lexlib/LexerModule.h ../lexlib/OptionSet.h \
+ ../lexlib/DefaultLexer.h
LexBatch.o: ../lexers/LexBatch.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
@@ -279,8 +289,8 @@ LexConf.o: ../lexers/LexConf.cxx ../include/ILexer.h \
../lexlib/LexerModule.h
LexCPP.o: ../lexers/LexCPP.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
- ../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
- ../lexlib/StyleContext.h ../lexlib/CharacterSet.h \
+ ../lexlib/StringCopy.h ../lexlib/WordList.h ../lexlib/LexAccessor.h \
+ ../lexlib/Accessor.h ../lexlib/StyleContext.h ../lexlib/CharacterSet.h \
../lexlib/LexerModule.h ../lexlib/OptionSet.h ../lexlib/SparseState.h \
../lexlib/SubStyles.h
LexCrontab.o: ../lexers/LexCrontab.cxx ../include/ILexer.h \
@@ -301,7 +311,8 @@ LexCSS.o: ../lexers/LexCSS.cxx ../include/ILexer.h \
LexD.o: ../lexers/LexD.cxx ../include/ILexer.h ../include/Sci_Position.h \
../include/Scintilla.h ../include/SciLexer.h ../lexlib/WordList.h \
../lexlib/LexAccessor.h ../lexlib/StyleContext.h \
- ../lexlib/CharacterSet.h ../lexlib/LexerModule.h ../lexlib/OptionSet.h
+ ../lexlib/CharacterSet.h ../lexlib/LexerModule.h ../lexlib/OptionSet.h \
+ ../lexlib/DefaultLexer.h
LexDiff.o: ../lexers/LexDiff.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
@@ -315,7 +326,8 @@ LexDMAP.o: ../lexers/LexDMAP.cxx ../include/ILexer.h \
LexDMIS.o: ../lexers/LexDMIS.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/StyleContext.h \
- ../lexlib/CharacterSet.h ../lexlib/LexerModule.h
+ ../lexlib/CharacterSet.h ../lexlib/LexerModule.h \
+ ../lexlib/DefaultLexer.h
LexECL.o: ../lexers/LexECL.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/PropSetSimple.h ../lexlib/WordList.h ../lexlib/LexAccessor.h \
@@ -323,7 +335,7 @@ LexECL.o: ../lexers/LexECL.cxx ../include/ILexer.h \
../lexlib/LexerModule.h ../lexlib/OptionSet.h
LexEDIFACT.o: ../lexers/LexEDIFACT.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
- ../lexlib/LexAccessor.h ../lexlib/LexerModule.h
+ ../lexlib/LexAccessor.h ../lexlib/LexerModule.h ../lexlib/DefaultLexer.h
LexEiffel.o: ../lexers/LexEiffel.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
@@ -374,7 +386,7 @@ LexHaskell.o: ../lexers/LexHaskell.cxx ../include/ILexer.h \
../lexlib/PropSetSimple.h ../lexlib/WordList.h ../lexlib/LexAccessor.h \
../lexlib/Accessor.h ../lexlib/StyleContext.h ../lexlib/CharacterSet.h \
../lexlib/CharacterCategory.h ../lexlib/LexerModule.h \
- ../lexlib/OptionSet.h
+ ../lexlib/OptionSet.h ../lexlib/DefaultLexer.h
LexHex.o: ../lexers/LexHex.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
@@ -398,7 +410,8 @@ LexInno.o: ../lexers/LexInno.cxx ../include/ILexer.h \
LexJSON.o: ../lexers/LexJSON.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/StyleContext.h \
- ../lexlib/CharacterSet.h ../lexlib/LexerModule.h ../lexlib/OptionSet.h
+ ../lexlib/CharacterSet.h ../lexlib/LexerModule.h ../lexlib/OptionSet.h \
+ ../lexlib/DefaultLexer.h
LexKix.o: ../lexers/LexKix.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
@@ -413,7 +426,7 @@ LexLaTeX.o: ../lexers/LexLaTeX.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/PropSetSimple.h ../lexlib/WordList.h ../lexlib/LexAccessor.h \
../lexlib/Accessor.h ../lexlib/StyleContext.h ../lexlib/CharacterSet.h \
- ../lexlib/LexerModule.h ../lexlib/LexerBase.h
+ ../lexlib/LexerModule.h ../lexlib/DefaultLexer.h ../lexlib/LexerBase.h
LexLisp.o: ../lexers/LexLisp.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
@@ -426,8 +439,8 @@ LexLout.o: ../lexers/LexLout.cxx ../include/ILexer.h \
../lexlib/LexerModule.h
LexLua.o: ../lexers/LexLua.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
- ../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
- ../lexlib/StyleContext.h ../lexlib/CharacterSet.h \
+ ../lexlib/StringCopy.h ../lexlib/WordList.h ../lexlib/LexAccessor.h \
+ ../lexlib/Accessor.h ../lexlib/StyleContext.h ../lexlib/CharacterSet.h \
../lexlib/LexerModule.h
LexMagik.o: ../lexers/LexMagik.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
@@ -522,7 +535,8 @@ LexPB.o: ../lexers/LexPB.cxx ../include/ILexer.h \
LexPerl.o: ../lexers/LexPerl.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/StyleContext.h \
- ../lexlib/CharacterSet.h ../lexlib/LexerModule.h ../lexlib/OptionSet.h
+ ../lexlib/CharacterSet.h ../lexlib/LexerModule.h ../lexlib/OptionSet.h \
+ ../lexlib/DefaultLexer.h
LexPLM.o: ../lexers/LexPLM.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
@@ -552,7 +566,7 @@ LexProgress.o: ../lexers/LexProgress.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/StyleContext.h \
../lexlib/CharacterSet.h ../lexlib/LexerModule.h ../lexlib/OptionSet.h \
- ../lexlib/SparseState.h
+ ../lexlib/SparseState.h ../lexlib/DefaultLexer.h
LexProps.o: ../lexers/LexProps.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
@@ -568,7 +582,7 @@ LexPython.o: ../lexers/LexPython.cxx ../include/ILexer.h \
../lexlib/StringCopy.h ../lexlib/WordList.h ../lexlib/LexAccessor.h \
../lexlib/Accessor.h ../lexlib/StyleContext.h ../lexlib/CharacterSet.h \
../lexlib/CharacterCategory.h ../lexlib/LexerModule.h \
- ../lexlib/OptionSet.h ../lexlib/SubStyles.h
+ ../lexlib/OptionSet.h ../lexlib/SubStyles.h ../lexlib/DefaultLexer.h
LexR.o: ../lexers/LexR.cxx ../include/ILexer.h ../include/Sci_Position.h \
../include/Scintilla.h ../include/SciLexer.h ../lexlib/WordList.h \
../lexlib/LexAccessor.h ../lexlib/Accessor.h ../lexlib/StyleContext.h \
@@ -581,7 +595,8 @@ LexRebol.o: ../lexers/LexRebol.cxx ../include/ILexer.h \
LexRegistry.o: ../lexers/LexRegistry.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/StyleContext.h \
- ../lexlib/CharacterSet.h ../lexlib/LexerModule.h ../lexlib/OptionSet.h
+ ../lexlib/CharacterSet.h ../lexlib/LexerModule.h ../lexlib/OptionSet.h \
+ ../lexlib/DefaultLexer.h
LexRuby.o: ../lexers/LexRuby.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
@@ -591,7 +606,7 @@ LexRust.o: ../lexers/LexRust.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/PropSetSimple.h ../lexlib/WordList.h ../lexlib/LexAccessor.h \
../lexlib/Accessor.h ../lexlib/StyleContext.h ../lexlib/CharacterSet.h \
- ../lexlib/LexerModule.h ../lexlib/OptionSet.h
+ ../lexlib/LexerModule.h ../lexlib/OptionSet.h ../lexlib/DefaultLexer.h
LexScriptol.o: ../lexers/LexScriptol.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
@@ -626,7 +641,8 @@ LexSQL.o: ../lexers/LexSQL.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
../lexlib/StyleContext.h ../lexlib/CharacterSet.h \
- ../lexlib/LexerModule.h ../lexlib/OptionSet.h ../lexlib/SparseState.h
+ ../lexlib/LexerModule.h ../lexlib/OptionSet.h ../lexlib/SparseState.h \
+ ../lexlib/DefaultLexer.h
LexSTTXT.o: ../lexers/LexSTTXT.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
@@ -676,7 +692,8 @@ LexVerilog.o: ../lexers/LexVerilog.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
../lexlib/StyleContext.h ../lexlib/CharacterSet.h \
- ../lexlib/LexerModule.h ../lexlib/OptionSet.h ../lexlib/SubStyles.h
+ ../lexlib/LexerModule.h ../lexlib/OptionSet.h ../lexlib/SubStyles.h \
+ ../lexlib/DefaultLexer.h
LexVHDL.o: ../lexers/LexVHDL.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
@@ -687,7 +704,7 @@ LexVisualProlog.o: ../lexers/LexVisualProlog.cxx ../include/ILexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
../lexlib/StyleContext.h ../lexlib/CharacterSet.h \
../lexlib/CharacterCategory.h ../lexlib/LexerModule.h \
- ../lexlib/OptionSet.h
+ ../lexlib/OptionSet.h ../lexlib/DefaultLexer.h
LexYAML.o: ../lexers/LexYAML.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
../lexlib/WordList.h ../lexlib/LexAccessor.h ../lexlib/Accessor.h \
diff --git a/win32/scintilla.mak b/win32/scintilla.mak
index 7f943474b..1cdb2dc93 100644
--- a/win32/scintilla.mak
+++ b/win32/scintilla.mak
@@ -320,8 +320,7 @@ $(DIR_O)\CaseConvert.obj: \
../src/CaseConvert.cxx \
../lexlib/StringCopy.h \
../src/CaseConvert.h \
- ../src/UniConversion.h \
- ../src/UnicodeFromUTF8.h
+ ../src/UniConversion.h
$(DIR_O)\CaseFolder.obj: \
../src/CaseFolder.cxx \
../src/CaseFolder.h \
@@ -355,6 +354,8 @@ $(DIR_O)\CharacterSet.obj: \
$(DIR_O)\CharClassify.obj: \
../src/CharClassify.cxx \
../src/CharClassify.h
+$(DIR_O)\CheckD2D.obj: \
+ CheckD2D.cxx
$(DIR_O)\ContractionState.obj: \
../src/ContractionState.cxx \
../include/Platform.h \
@@ -365,6 +366,9 @@ $(DIR_O)\ContractionState.obj: \
../src/RunStyles.h \
../src/SparseVector.h \
../src/ContractionState.h
+$(DIR_O)\DBCS.obj: \
+ ../src/DBCS.cxx \
+ ../src/DBCS.h
$(DIR_O)\Decoration.obj: \
../src/Decoration.cxx \
../include/Platform.h \
@@ -375,11 +379,24 @@ $(DIR_O)\Decoration.obj: \
../src/Partitioning.h \
../src/RunStyles.h \
../src/Decoration.h
+$(DIR_O)\DefaultLexer.obj: \
+ ../lexlib/DefaultLexer.cxx \
+ ../include/ILexer.h \
+ ../include/Sci_Position.h \
+ ../include/Scintilla.h \
+ ../include/SciLexer.h \
+ ../lexlib/PropSetSimple.h \
+ ../lexlib/WordList.h \
+ ../lexlib/LexAccessor.h \
+ ../lexlib/Accessor.h \
+ ../lexlib/LexerModule.h \
+ ../lexlib/DefaultLexer.h
$(DIR_O)\Document.obj: \
../src/Document.cxx \
../include/Platform.h \
- ../include/ILexer.h \
+ ../include/ILoader.h \
../include/Sci_Position.h \
+ ../include/ILexer.h \
../include/Scintilla.h \
../lexlib/CharacterSet.h \
../lexlib/CharacterCategory.h \
@@ -394,13 +411,13 @@ $(DIR_O)\Document.obj: \
../src/CaseFolder.h \
../src/Document.h \
../src/RESearch.h \
- ../src/UniConversion.h \
- ../src/UnicodeFromUTF8.h
+ ../src/UniConversion.h
$(DIR_O)\EditModel.obj: \
../src/EditModel.cxx \
../include/Platform.h \
- ../include/ILexer.h \
+ ../include/ILoader.h \
../include/Sci_Position.h \
+ ../include/ILexer.h \
../include/Scintilla.h \
../lexlib/StringCopy.h \
../src/Position.h \
@@ -412,7 +429,6 @@ $(DIR_O)\EditModel.obj: \
../src/CellBuffer.h \
../src/KeyMap.h \
../src/Indicator.h \
- ../src/XPM.h \
../src/LineMarker.h \
../src/Style.h \
../src/ViewStyle.h \
@@ -427,8 +443,9 @@ $(DIR_O)\EditModel.obj: \
$(DIR_O)\Editor.obj: \
../src/Editor.cxx \
../include/Platform.h \
- ../include/ILexer.h \
+ ../include/ILoader.h \
../include/Sci_Position.h \
+ ../include/ILexer.h \
../include/Scintilla.h \
../lexlib/StringCopy.h \
../src/Position.h \
@@ -441,7 +458,6 @@ $(DIR_O)\Editor.obj: \
../src/PerLine.h \
../src/KeyMap.h \
../src/Indicator.h \
- ../src/XPM.h \
../src/LineMarker.h \
../src/Style.h \
../src/ViewStyle.h \
@@ -459,8 +475,9 @@ $(DIR_O)\Editor.obj: \
$(DIR_O)\EditView.obj: \
../src/EditView.cxx \
../include/Platform.h \
- ../include/ILexer.h \
+ ../include/ILoader.h \
../include/Sci_Position.h \
+ ../include/ILexer.h \
../include/Scintilla.h \
../lexlib/StringCopy.h \
../lexlib/CharacterSet.h \
@@ -474,7 +491,6 @@ $(DIR_O)\EditView.obj: \
../src/PerLine.h \
../src/KeyMap.h \
../src/Indicator.h \
- ../src/XPM.h \
../src/LineMarker.h \
../src/Style.h \
../src/ViewStyle.h \
@@ -498,6 +514,10 @@ $(DIR_O)\ExternalLexer.obj: \
../lexlib/LexerModule.h \
../src/Catalogue.h \
../src/ExternalLexer.h
+$(DIR_O)\HanjaDic.obj: \
+ HanjaDic.cxx \
+ ../src/UniConversion.h \
+ HanjaDic.h
$(DIR_O)\Indicator.obj: \
../src/Indicator.cxx \
../include/Platform.h \
@@ -792,8 +812,9 @@ $(DIR_O)\LineMarker.obj: \
$(DIR_O)\MarginView.obj: \
../src/MarginView.cxx \
../include/Platform.h \
- ../include/ILexer.h \
+ ../include/ILoader.h \
../include/Sci_Position.h \
+ ../include/ILexer.h \
../include/Scintilla.h \
../lexlib/StringCopy.h \
../src/Position.h \
@@ -805,7 +826,6 @@ $(DIR_O)\MarginView.obj: \
../src/CellBuffer.h \
../src/KeyMap.h \
../src/Indicator.h \
- ../src/XPM.h \
../src/LineMarker.h \
../src/Style.h \
../src/ViewStyle.h \
@@ -835,12 +855,14 @@ $(DIR_O)\PlatWin.obj: \
../lexlib/StringCopy.h \
../src/XPM.h \
../src/UniConversion.h \
+ ../src/DBCS.h \
../src/FontQuality.h
$(DIR_O)\PositionCache.obj: \
../src/PositionCache.cxx \
../include/Platform.h \
- ../include/ILexer.h \
+ ../include/ILoader.h \
../include/Sci_Position.h \
+ ../include/ILexer.h \
../include/Scintilla.h \
../src/Position.h \
../src/UniqueString.h \
@@ -851,7 +873,6 @@ $(DIR_O)\PositionCache.obj: \
../src/CellBuffer.h \
../src/KeyMap.h \
../src/Indicator.h \
- ../src/XPM.h \
../src/LineMarker.h \
../src/Style.h \
../src/ViewStyle.h \
@@ -882,8 +903,9 @@ $(DIR_O)\RunStyles.obj: \
$(DIR_O)\ScintillaBase.obj: \
../src/ScintillaBase.cxx \
../include/Platform.h \
- ../include/ILexer.h \
+ ../include/ILoader.h \
../include/Sci_Position.h \
+ ../include/ILexer.h \
../include/Scintilla.h \
../lexlib/PropSetSimple.h \
../src/Position.h \
@@ -896,7 +918,6 @@ $(DIR_O)\ScintillaBase.obj: \
../src/CallTip.h \
../src/KeyMap.h \
../src/Indicator.h \
- ../src/XPM.h \
../src/LineMarker.h \
../src/Style.h \
../src/ViewStyle.h \
@@ -915,8 +936,9 @@ $(DIR_O)\ScintillaBase.obj: \
$(DIR_O)\ScintillaBaseL.obj: \
../src/ScintillaBase.cxx \
../include/Platform.h \
- ../include/ILexer.h \
+ ../include/ILoader.h \
../include/Sci_Position.h \
+ ../include/ILexer.h \
../include/Scintilla.h \
../lexlib/PropSetSimple.h \
../src/Position.h \
@@ -929,7 +951,6 @@ $(DIR_O)\ScintillaBaseL.obj: \
../src/CallTip.h \
../src/KeyMap.h \
../src/Indicator.h \
- ../src/XPM.h \
../src/LineMarker.h \
../src/Style.h \
../src/ViewStyle.h \
@@ -948,8 +969,9 @@ $(DIR_O)\ScintillaBaseL.obj: \
$(DIR_O)\ScintillaWin.obj: \
ScintillaWin.cxx \
../include/Platform.h \
- ../include/ILexer.h \
+ ../include/ILoader.h \
../include/Sci_Position.h \
+ ../include/ILexer.h \
../include/Scintilla.h \
../lexlib/StringCopy.h \
../src/Position.h \
@@ -962,7 +984,6 @@ $(DIR_O)\ScintillaWin.obj: \
../src/CallTip.h \
../src/KeyMap.h \
../src/Indicator.h \
- ../src/XPM.h \
../src/LineMarker.h \
../src/Style.h \
../src/ViewStyle.h \
@@ -985,8 +1006,9 @@ $(DIR_O)\ScintillaWin.obj: \
$(DIR_O)\ScintillaWinL.obj: \
ScintillaWin.cxx \
../include/Platform.h \
- ../include/ILexer.h \
+ ../include/ILoader.h \
../include/Sci_Position.h \
+ ../include/ILexer.h \
../include/Scintilla.h \
../lexlib/StringCopy.h \
../src/Position.h \
@@ -999,7 +1021,6 @@ $(DIR_O)\ScintillaWinL.obj: \
../src/CallTip.h \
../src/KeyMap.h \
../src/Indicator.h \
- ../src/XPM.h \
../src/LineMarker.h \
../src/Style.h \
../src/ViewStyle.h \
@@ -1022,8 +1043,9 @@ $(DIR_O)\ScintillaWinL.obj: \
$(DIR_O)\ScintillaWinS.obj: \
ScintillaWin.cxx \
../include/Platform.h \
- ../include/ILexer.h \
+ ../include/ILoader.h \
../include/Sci_Position.h \
+ ../include/ILexer.h \
../include/Scintilla.h \
../lexlib/StringCopy.h \
../src/Position.h \
@@ -1036,7 +1058,6 @@ $(DIR_O)\ScintillaWinS.obj: \
../src/CallTip.h \
../src/KeyMap.h \
../src/Indicator.h \
- ../src/XPM.h \
../src/LineMarker.h \
../src/Style.h \
../src/ViewStyle.h \
@@ -1100,7 +1121,3 @@ $(DIR_O)\XPM.obj: \
../src/XPM.cxx \
../include/Platform.h \
../src/XPM.h
-$(DIR_O)\HanjaDic.obj: \
- HanjaDic.cxx \
- ../src/UniConversion.h \
- HanjaDic.h