diff options
author | Zufu Liu <unknown> | 2018-03-24 13:53:22 +1100 |
---|---|---|
committer | Zufu Liu <unknown> | 2018-03-24 13:53:22 +1100 |
commit | 0bb4d5456748c8794a943b4716ee089d0590519c (patch) | |
tree | d3a1f8654824ca8f6e9892cb0ae9b8ce172efed4 | |
parent | f3830c19917c254dcddfd272518a7b749fe89129 (diff) | |
download | scintilla-mirror-0bb4d5456748c8794a943b4716ee089d0590519c.tar.gz |
Feature [feature-requests:#1212]. Move Unicode conversions into UniConversion.
Move Unicode conversion functions UnicodeFromUTF8 and UTF8FromUTF32Character
into UniConversion.
-rw-r--r-- | cocoa/ScintillaFramework/ScintillaFramework.xcodeproj/project.pbxproj | 4 | ||||
-rw-r--r-- | gtk/ScintillaGTK.cxx | 1 | ||||
-rw-r--r-- | gtk/ScintillaGTKAccessible.cxx | 1 | ||||
-rw-r--r-- | gtk/deps.mak | 65 | ||||
-rw-r--r-- | qt/ScintillaEditBase/ScintillaEditBase.pro | 1 | ||||
-rw-r--r-- | scripts/HeaderOrder.txt | 1 | ||||
-rw-r--r-- | src/CaseConvert.cxx | 21 | ||||
-rw-r--r-- | src/Document.cxx | 1 | ||||
-rw-r--r-- | src/UniConversion.cxx | 22 | ||||
-rw-r--r-- | src/UniConversion.h | 16 | ||||
-rw-r--r-- | src/UnicodeFromUTF8.h | 28 | ||||
-rw-r--r-- | test/unit/testUniConversion.cxx | 27 | ||||
-rw-r--r-- | test/unit/testUnicodeFromUTF8.cxx | 46 | ||||
-rw-r--r-- | test/unit/unitTest.cxx | 1 | ||||
-rw-r--r-- | win32/deps.mak | 153 | ||||
-rw-r--r-- | win32/scintilla.mak | 75 |
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 |