mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-11 21:03:05 +08:00
+ refactoring: prpare encoding detector enhancement
This commit is contained in:
parent
ad644e1723
commit
528d0fa3bf
106
src/Edit.c
106
src/Edit.c
@ -75,14 +75,14 @@ static int yFindReplaceDlgSave;
|
||||
extern int xFindReplaceDlg;
|
||||
extern int yFindReplaceDlg;
|
||||
|
||||
extern int iDefaultEOLMode;
|
||||
extern int g_iDefaultEOLMode;
|
||||
extern int iLineEndings[3];
|
||||
extern BOOL bFixLineEndings;
|
||||
extern BOOL bAutoStripBlanks;
|
||||
|
||||
// Default Codepage and Character Set
|
||||
extern int iDefaultEncoding;
|
||||
extern int iDefaultCharSet;
|
||||
extern int g_iDefaultEncoding;
|
||||
extern int g_iDefaultCharSet;
|
||||
extern BOOL bLoadASCIIasUTF8;
|
||||
extern BOOL bLoadNFOasOEM;
|
||||
|
||||
@ -193,8 +193,8 @@ HWND EditCreate(HWND hwndParent)
|
||||
g_hInstance,
|
||||
NULL);
|
||||
|
||||
Encoding_Current(iDefaultEncoding);
|
||||
Encoding_SciSetCodePage(hwnd,iDefaultEncoding);
|
||||
Encoding_Current(g_iDefaultEncoding);
|
||||
Encoding_SciSetCodePage(hwnd,g_iDefaultEncoding);
|
||||
SendMessage(hwnd,SCI_SETEOLMODE,SC_EOL_CRLF,0);
|
||||
SendMessage(hwnd,SCI_SETPASTECONVERTENDINGS,TRUE,0);
|
||||
SendMessage(hwnd,SCI_SETMODEVENTMASK,/*SC_MODEVENTMASKALL*/SC_MOD_INSERTTEXT|SC_MOD_DELETETEXT|SC_MOD_CONTAINER,0);
|
||||
@ -939,7 +939,7 @@ BOOL EditCopyAppend(HWND hwnd, BOOL bAppend)
|
||||
//
|
||||
int EditDetectEOLMode(HWND hwnd,char* lpData,DWORD cbData)
|
||||
{
|
||||
int iEOLMode = iLineEndings[iDefaultEOLMode];
|
||||
int iEOLMode = iLineEndings[g_iDefaultEOLMode];
|
||||
char *cp = (char*)lpData;
|
||||
|
||||
if (!cp)
|
||||
@ -993,7 +993,7 @@ BOOL EditLoadFile(
|
||||
dwLastIOError = GetLastError();
|
||||
|
||||
if (hFile == INVALID_HANDLE_VALUE) {
|
||||
Encoding_Source(CPI_NONE);
|
||||
Encoding_SrcCmdLn(CPI_NONE);
|
||||
Encoding_SrcWeak(CPI_NONE);
|
||||
return FALSE;
|
||||
}
|
||||
@ -1009,7 +1009,7 @@ BOOL EditLoadFile(
|
||||
CloseHandle(hFile);
|
||||
if (pbUnkownExt)
|
||||
*pbUnkownExt = TRUE;
|
||||
Encoding_Source(CPI_NONE);
|
||||
Encoding_SrcCmdLn(CPI_NONE);
|
||||
Encoding_SrcWeak(CPI_NONE);
|
||||
return FALSE;
|
||||
}
|
||||
@ -1022,7 +1022,7 @@ BOOL EditLoadFile(
|
||||
CloseHandle(hFile);
|
||||
if (pbFileTooBig)
|
||||
*pbFileTooBig = TRUE;
|
||||
Encoding_Source(CPI_NONE);
|
||||
Encoding_SrcCmdLn(CPI_NONE);
|
||||
Encoding_SrcWeak(CPI_NONE);
|
||||
return FALSE;
|
||||
}
|
||||
@ -1036,7 +1036,7 @@ BOOL EditLoadFile(
|
||||
CloseHandle(hFile);
|
||||
if (pbFileTooBig)
|
||||
*pbFileTooBig = FALSE;
|
||||
Encoding_Source(CPI_NONE);
|
||||
Encoding_SrcCmdLn(CPI_NONE);
|
||||
Encoding_SrcWeak(CPI_NONE);
|
||||
return FALSE;
|
||||
}
|
||||
@ -1048,7 +1048,7 @@ BOOL EditLoadFile(
|
||||
|
||||
if (!bReadSuccess) {
|
||||
GlobalFree(lpData);
|
||||
Encoding_Source(CPI_NONE);
|
||||
Encoding_SrcCmdLn(CPI_NONE);
|
||||
Encoding_SrcWeak(CPI_NONE);
|
||||
return FALSE;
|
||||
}
|
||||
@ -1060,50 +1060,47 @@ BOOL EditLoadFile(
|
||||
bPreferOEM = TRUE;
|
||||
}
|
||||
|
||||
int _iPrefEncoding = (bPreferOEM) ? g_DOSEncoding : iDefaultEncoding;
|
||||
const int iFileEncoding = Encoding_SrcCmdLn(CPI_GET);
|
||||
const int iPreferedEncoding = (bPreferOEM) ? g_DOSEncoding :
|
||||
(Encoding_IsValid(Encoding_SrcWeak(CPI_GET)) ? Encoding_SrcWeak(CPI_GET) : g_iDefaultEncoding);
|
||||
|
||||
if (Encoding_IsValid(Encoding_SrcWeak(CPI_GET))) {
|
||||
_iPrefEncoding = Encoding_SrcWeak(CPI_GET);
|
||||
}
|
||||
|
||||
BOOL bBOM = FALSE;
|
||||
BOOL bReverse = FALSE;
|
||||
|
||||
const int iSrcEnc = Encoding_Source(CPI_GET);
|
||||
|
||||
if (cbData == 0) {
|
||||
FileVars_Init(NULL,0,&fvCurFile);
|
||||
*iEOLMode = iLineEndings[iDefaultEOLMode];
|
||||
if (iSrcEnc == CPI_NONE) {
|
||||
*iEOLMode = iLineEndings[g_iDefaultEOLMode];
|
||||
if (iFileEncoding == CPI_NONE) {
|
||||
if (bLoadASCIIasUTF8 && !bPreferOEM)
|
||||
*iEncoding = CPI_UTF8;
|
||||
else
|
||||
*iEncoding = _iPrefEncoding;
|
||||
*iEncoding = iPreferedEncoding;
|
||||
}
|
||||
else
|
||||
*iEncoding = iSrcEnc;
|
||||
*iEncoding = iFileEncoding;
|
||||
|
||||
Encoding_SciSetCodePage(hwnd,*iEncoding);
|
||||
EditSetNewText(hwnd,"",0);
|
||||
SendMessage(hwnd,SCI_SETEOLMODE,iLineEndings[iDefaultEOLMode],0);
|
||||
SendMessage(hwnd,SCI_SETEOLMODE,iLineEndings[g_iDefaultEOLMode],0);
|
||||
GlobalFree(lpData);
|
||||
}
|
||||
|
||||
else if (!bSkipEncodingDetection &&
|
||||
(iSrcEnc == CPI_NONE || iSrcEnc == CPI_UNICODE || iSrcEnc == CPI_UNICODEBE) &&
|
||||
(iSrcEnc == CPI_UNICODE || iSrcEnc == CPI_UNICODEBE || IsUnicode(lpData,cbData,&bBOM,&bReverse)) &&
|
||||
(iSrcEnc == CPI_UNICODE || iSrcEnc == CPI_UNICODEBE || !IsUTF8Signature(lpData))) // check for UTF-8 signature
|
||||
(iFileEncoding == CPI_NONE || iFileEncoding == CPI_UNICODE || iFileEncoding == CPI_UNICODEBE) &&
|
||||
(iFileEncoding == CPI_UNICODE || iFileEncoding == CPI_UNICODEBE || IsUnicode(lpData,cbData,&bBOM,&bReverse)) &&
|
||||
(iFileEncoding == CPI_UNICODE || iFileEncoding == CPI_UNICODEBE || !IsUTF8Signature(lpData))) // check for UTF-8 signature
|
||||
{
|
||||
char* lpDataUTF8;
|
||||
|
||||
if (iSrcEnc == CPI_UNICODE) {
|
||||
if (iFileEncoding == CPI_UNICODE) {
|
||||
bBOM = (*((UNALIGNED PWCHAR)lpData) == 0xFEFF);
|
||||
bReverse = FALSE;
|
||||
}
|
||||
else if (iSrcEnc == CPI_UNICODEBE)
|
||||
else if (iFileEncoding == CPI_UNICODEBE)
|
||||
bBOM = (*((UNALIGNED PWCHAR)lpData) == 0xFFFE);
|
||||
|
||||
if (iSrcEnc == CPI_UNICODEBE || bReverse) {
|
||||
if (iFileEncoding == CPI_UNICODEBE || bReverse) {
|
||||
_swab(lpData,lpData,cbData);
|
||||
if (bBOM)
|
||||
*iEncoding = CPI_UNICODEBEBOM;
|
||||
@ -1142,7 +1139,7 @@ BOOL EditLoadFile(
|
||||
else {
|
||||
GlobalFree(lpDataUTF8);
|
||||
GlobalFree(lpData);
|
||||
Encoding_Source(CPI_NONE);
|
||||
Encoding_SrcCmdLn(CPI_NONE);
|
||||
Encoding_SrcWeak(CPI_NONE);
|
||||
return FALSE;
|
||||
}
|
||||
@ -1150,18 +1147,18 @@ BOOL EditLoadFile(
|
||||
|
||||
else {
|
||||
FileVars_Init(lpData,cbData,&fvCurFile);
|
||||
if (!bSkipEncodingDetection && (iSrcEnc == CPI_NONE || iSrcEnc == CPI_UTF8 || iSrcEnc == CPI_UTF8SIGN) &&
|
||||
if (!bSkipEncodingDetection && (iFileEncoding == CPI_NONE || iFileEncoding == CPI_UTF8 || iFileEncoding == CPI_UTF8SIGN) &&
|
||||
((IsUTF8Signature(lpData) ||
|
||||
FileVars_IsUTF8(&fvCurFile) ||
|
||||
(iSrcEnc == CPI_UTF8 || iSrcEnc == CPI_UTF8SIGN) ||
|
||||
(iFileEncoding == CPI_UTF8 || iFileEncoding == CPI_UTF8SIGN) ||
|
||||
(!bPreferOEM && bLoadASCIIasUTF8) || // from menu "Reload As UTF-8"
|
||||
(IsUTF8(lpData,cbData) &&
|
||||
(((UTF8_mbslen_bytes(UTF8StringStart(lpData)) - 1 !=
|
||||
UTF8_mbslen(UTF8StringStart(lpData),IsUTF8Signature(lpData) ? cbData-3 : cbData)) ||
|
||||
(!bPreferOEM && (
|
||||
g_Encodings[_iPrefEncoding].uFlags & NCP_UTF8 ||
|
||||
g_Encodings[iPreferedEncoding].uFlags & NCP_UTF8 ||
|
||||
bLoadASCIIasUTF8))))))) && !(FileVars_IsNonUTF8(&fvCurFile) &&
|
||||
(iSrcEnc != CPI_UTF8 && iSrcEnc != CPI_UTF8SIGN)))
|
||||
(iFileEncoding != CPI_UTF8 && iFileEncoding != CPI_UTF8SIGN)))
|
||||
{
|
||||
Encoding_SciSetCodePage(hwnd,CPI_UTF8);
|
||||
EditSetNewText(hwnd,"",0);
|
||||
@ -1179,25 +1176,29 @@ BOOL EditLoadFile(
|
||||
}
|
||||
|
||||
else {
|
||||
if (iSrcEnc != CPI_NONE)
|
||||
*iEncoding = iSrcEnc;
|
||||
if (iFileEncoding != CPI_NONE)
|
||||
*iEncoding = iFileEncoding;
|
||||
else {
|
||||
*iEncoding = FileVars_GetEncoding(&fvCurFile);
|
||||
if (*iEncoding == CPI_NONE) {
|
||||
if (fvCurFile.mask & FV_ENCODING)
|
||||
*iEncoding = CPI_ANSI_DEFAULT;
|
||||
else {
|
||||
if (Encoding_SrcWeak(CPI_GET) == CPI_NONE)
|
||||
*iEncoding = _iPrefEncoding;
|
||||
else if (g_Encodings[Encoding_SrcWeak(CPI_GET)].uFlags & NCP_INTERNAL)
|
||||
*iEncoding = iDefaultEncoding;
|
||||
else
|
||||
*iEncoding = _iPrefEncoding;
|
||||
int iEncWeak = Encoding_SrcWeak(CPI_GET);
|
||||
switch (iEncWeak) {
|
||||
case CPI_NONE:
|
||||
*iEncoding = iPreferedEncoding;
|
||||
break;
|
||||
default:
|
||||
*iEncoding = (g_Encodings[iEncWeak].uFlags & NCP_INTERNAL) ? g_iDefaultEncoding :
|
||||
(Encoding_IsValid(iEncWeak) ? iEncWeak : iPreferedEncoding);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (((g_Encodings[*iEncoding].uCodePage != CP_UTF7) && (g_Encodings[*iEncoding].uFlags & NCP_8BIT)) ||
|
||||
if (((g_Encodings[*iEncoding].uCodePage != CP_UTF7) && (g_Encodings[*iEncoding].uFlags & NCP_EXTERNAL_8BIT)) ||
|
||||
((g_Encodings[*iEncoding].uCodePage == CP_UTF7) && IsUTF7(lpData,cbData))) {
|
||||
|
||||
UINT uCodePage = g_Encodings[*iEncoding].uCodePage;
|
||||
@ -1221,7 +1222,7 @@ BOOL EditLoadFile(
|
||||
else {
|
||||
GlobalFree(lpDataWide);
|
||||
GlobalFree(lpData);
|
||||
Encoding_Source(CPI_NONE);
|
||||
Encoding_SrcCmdLn(CPI_NONE);
|
||||
Encoding_SrcWeak(CPI_NONE);
|
||||
return FALSE;
|
||||
}
|
||||
@ -1229,13 +1230,13 @@ BOOL EditLoadFile(
|
||||
else {
|
||||
GlobalFree(lpDataWide);
|
||||
GlobalFree(lpData);
|
||||
Encoding_Source(CPI_NONE);
|
||||
Encoding_SrcCmdLn(CPI_NONE);
|
||||
Encoding_SrcWeak(CPI_NONE);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
else {
|
||||
*iEncoding = Encoding_IsValid(iSrcEnc) ? iSrcEnc : iDefaultEncoding;
|
||||
*iEncoding = Encoding_IsValid(iFileEncoding) ? iFileEncoding : g_iDefaultEncoding;
|
||||
Encoding_SciSetCodePage(hwnd,*iEncoding);
|
||||
EditSetNewText(hwnd,"",0);
|
||||
EditSetNewText(hwnd,lpData,cbData);
|
||||
@ -1245,7 +1246,7 @@ BOOL EditLoadFile(
|
||||
}
|
||||
}
|
||||
|
||||
Encoding_Source(CPI_NONE);
|
||||
Encoding_SrcCmdLn(CPI_NONE);
|
||||
Encoding_SrcWeak(CPI_NONE);
|
||||
return TRUE;
|
||||
|
||||
@ -1389,7 +1390,7 @@ BOOL EditSaveFile(
|
||||
GlobalFree(lpData);
|
||||
}
|
||||
|
||||
else if (g_Encodings[iEncoding].uFlags & NCP_8BIT) {
|
||||
else if (g_Encodings[iEncoding].uFlags & NCP_EXTERNAL_8BIT) {
|
||||
|
||||
BOOL bCancelDataLoss = FALSE;
|
||||
UINT uCodePage = g_Encodings[iEncoding].uCodePage;
|
||||
@ -1793,7 +1794,7 @@ void EditEscapeCChars(HWND hwnd) {
|
||||
return;
|
||||
}
|
||||
|
||||
EDITFINDREPLACE efr = { "", "", "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL };
|
||||
EDITFINDREPLACE efr = EFR_INIT_DATA;
|
||||
efr.hwnd = hwnd;
|
||||
|
||||
StringCchCopyA(efr.szFind,FNDRPL_BUFFER,"\\");
|
||||
@ -1825,7 +1826,7 @@ void EditUnescapeCChars(HWND hwnd) {
|
||||
return;
|
||||
}
|
||||
|
||||
EDITFINDREPLACE efr = { "", "", "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL };
|
||||
EDITFINDREPLACE efr = EFR_INIT_DATA;
|
||||
efr.hwnd = hwnd;
|
||||
|
||||
StringCchCopyA(efr.szFind,FNDRPL_BUFFER,"\\\\");
|
||||
@ -7069,7 +7070,7 @@ void EditSetBookmarkList(HWND hwnd, LPCWSTR pszBookMarks)
|
||||
|
||||
//=============================================================================
|
||||
//
|
||||
// FileVars_Init()
|
||||
// SetFileVars()
|
||||
//
|
||||
extern BOOL bNoEncodingTags;
|
||||
extern int flagNoFileVariables;
|
||||
@ -7134,6 +7135,11 @@ void __fastcall SetFileVars(char* lpData, char* tch, LPFILEVARS lpfv)
|
||||
}
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
//
|
||||
// FileVars_Init()
|
||||
//
|
||||
|
||||
BOOL FileVars_Init(char *lpData, DWORD cbData, LPFILEVARS lpfv) {
|
||||
|
||||
char tch[LARGE_BUFFER];
|
||||
|
||||
@ -42,6 +42,8 @@ typedef struct _editfindreplace
|
||||
|
||||
} EDITFINDREPLACE, *LPEDITFINDREPLACE, *LPCEDITFINDREPLACE;
|
||||
|
||||
#define EFR_INIT_DATA { "", "", "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
|
||||
|
||||
|
||||
#define IDMSG_SWITCHTOFIND 300
|
||||
#define IDMSG_SWITCHTOREPLACE 301
|
||||
|
||||
307
src/Helpers.c
307
src/Helpers.c
@ -2768,144 +2768,144 @@ WCHAR wchANSI[16] = { L'\0' };
|
||||
WCHAR wchOEM[16] = { L'\0' };
|
||||
|
||||
NP2ENCODING g_Encodings[] = {
|
||||
{ NCP_ANSI | NCP_RECODE, CP_ACP, "ansi,system,ascii,", 61000, L"" },
|
||||
{ NCP_OEM | NCP_RECODE, CP_OEMCP, "oem,oem,", 61001, L"" },
|
||||
{ NCP_UNICODE | NCP_UNICODE_BOM, CP_UTF8, "", 61002, L"" },
|
||||
{ NCP_UNICODE | NCP_UNICODE_REVERSE | NCP_UNICODE_BOM, CP_UTF8, "", 61003, L"" },
|
||||
{ NCP_UNICODE | NCP_RECODE, CP_UTF8, "utf-16,utf16,unicode,", 61004, L"" },
|
||||
{ NCP_UNICODE | NCP_UNICODE_REVERSE | NCP_RECODE, CP_UTF8, "utf-16be,utf16be,unicodebe,", 61005, L"" },
|
||||
{ NCP_UTF8 | NCP_RECODE, CP_UTF8, "utf-8,utf8,", 61006, L"" },
|
||||
{ NCP_UTF8 | NCP_UTF8_SIGN, CP_UTF8, "utf-8,utf8,", 61007, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, CP_UTF7, "utf-7,utf7,", 61008, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 720, "DOS-720,dos720,", 61009, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 28596, "iso-8859-6,iso88596,arabic,csisolatinarabic,ecma114,isoir127,", 61010, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 10004, "x-mac-arabic,xmacarabic,", 61011, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 1256, "windows-1256,windows1256,cp1256", 61012, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 775, "ibm775,ibm775,cp500,", 61013, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 28594, "iso-8859-4,iso88594,csisolatin4,isoir110,l4,latin4,", 61014, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 1257, "windows-1257,windows1257,", 61015, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 852, "ibm852,ibm852,cp852,", 61016, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 28592, "iso-8859-2,iso88592,csisolatin2,isoir101,latin2,l2,", 61017, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 10029, "x-mac-ce,xmacce,", 61018, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 1250, "windows-1250,windows1250,xcp1250,", 61019, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 936, "gb2312,gb2312,chinese,cngb,csgb2312,csgb231280,gb231280,gbk,", 61020, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 10008, "x-mac-chinesesimp,xmacchinesesimp,", 61021, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 950, "big5,big5,cnbig5,csbig5,xxbig5,", 61022, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 10002, "x-mac-chinesetrad,xmacchinesetrad,", 61023, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 10082, "x-mac-croatian,xmaccroatian,", 61024, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 866, "cp866,cp866,ibm866,", 61025, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 28595, "iso-8859-5,iso88595,csisolatin5,csisolatincyrillic,cyrillic,isoir144,", 61026, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 20866, "koi8-r,koi8r,cskoi8r,koi,koi8,", 61027, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 21866, "koi8-u,koi8u,koi8ru,", 61028, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 10007, "x-mac-cyrillic,xmaccyrillic,", 61029, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 1251, "windows-1251,windows1251,xcp1251,", 61030, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 28603, "iso-8859-13,iso885913,", 61031, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 863, "ibm863,ibm863,", 61032, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 737, "ibm737,ibm737,", 61033, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 28597, "iso-8859-7,iso88597,csisolatingreek,ecma118,elot928,greek,greek8,isoir126,", 61034, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 10006, "x-mac-greek,xmacgreek,", 61035, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 1253, "windows-1253,windows1253,", 61036, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 869, "ibm869,ibm869,", 61037, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 862, "DOS-862,dos862,", 61038, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 38598, "iso-8859-8-i,iso88598i,logical,", 61039, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 28598, "iso-8859-8,iso88598,csisolatinhebrew,hebrew,isoir138,visual,", 61040, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 10005, "x-mac-hebrew,xmachebrew,", 61041, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 1255, "windows-1255,windows1255,", 61042, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 861, "ibm861,ibm861,", 61043, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 10079, "x-mac-icelandic,xmacicelandic,", 61044, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 10001, "x-mac-japanese,xmacjapanese,", 61045, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 932, "shift_jis,shiftjis,shiftjs,csshiftjis,cswindows31j,mskanji,xmscp932,xsjis,", 61046, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 10003, "x-mac-korean,xmackorean,", 61047, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 949, "windows-949,windows949,ksc56011987,csksc5601,euckr,isoir149,korean,ksc56011989", 61048, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 28593, "iso-8859-3,iso88593,latin3,isoir109,l3,", 61049, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 28605, "iso-8859-15,iso885915,latin9,l9,", 61050, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 865, "ibm865,ibm865,", 61051, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 437, "ibm437,ibm437,437,cp437,cspc8,codepage437,", 61052, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 858, "ibm858,ibm858,ibm00858,", 61053, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 860, "ibm860,ibm860,", 61054, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 10010, "x-mac-romanian,xmacromanian,", 61055, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 10021, "x-mac-thai,xmacthai,", 61056, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 874, "windows-874,windows874,dos874,iso885911,tis620,", 61057, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 857, "ibm857,ibm857,", 61058, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 28599, "iso-8859-9,iso88599,latin5,isoir148,l5,", 61059, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 10081, "x-mac-turkish,xmacturkish,", 61060, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 1254, "windows-1254,windows1254,", 61061, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 10017, "x-mac-ukrainian,xmacukrainian,", 61062, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 1258, "windows-1258,windows-258,", 61063, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 850, "ibm850,ibm850,", 61064, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 28591, "iso-8859-1,iso88591,cp819,latin1,ibm819,isoir100,latin1,l1,", 61065, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 10000, "macintosh,macintosh,", 61066, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 1252, "windows-1252,windows1252,cp367,cp819,ibm367,us,xansi,", 61067, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 37, "ebcdic-cp-us,ebcdiccpus,ebcdiccpca,ebcdiccpwt,ebcdiccpnl,ibm037,cp037,", 61068, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 500, "x-ebcdic-international,xebcdicinternational,", 61069, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 875, "x-EBCDIC-GreekModern,xebcdicgreekmodern,", 61070, L"" },
|
||||
{ NCP_8BIT | NCP_RECODE, 1026, "CP1026,cp1026,csibm1026,ibm1026,", 61071, L"" },
|
||||
//{ NCP_8BIT|NCP_RECODE, 870, "CP870,cp870,ebcdiccproece,ebcdiccpyu,csibm870,ibm870,", 00000, L"" }, // IBM EBCDIC (Multilingual Latin-2)
|
||||
//{ NCP_8BIT|NCP_RECODE, 1047, "IBM01047,ibm01047,", 00000, L"" }, // IBM EBCDIC (Open System Latin-1)
|
||||
//{ NCP_8BIT|NCP_RECODE, 1140, "x-ebcdic-cp-us-euro,xebcdiccpuseuro,", 00000, L"" }, // IBM EBCDIC (US-Canada-Euro)
|
||||
//{ NCP_8BIT|NCP_RECODE, 1141, "x-ebcdic-germany-euro,xebcdicgermanyeuro,", 00000, L"" }, // IBM EBCDIC (Germany-Euro)
|
||||
//{ NCP_8BIT|NCP_RECODE, 1142, "x-ebcdic-denmarknorway-euro,xebcdicdenmarknorwayeuro,", 00000, L"" }, // IBM EBCDIC (Denmark-Norway-Euro)
|
||||
//{ NCP_8BIT|NCP_RECODE, 1143, "x-ebcdic-finlandsweden-euro,xebcdicfinlandswedeneuro,", 00000, L"" }, // IBM EBCDIC (Finland-Sweden-Euro)
|
||||
//{ NCP_8BIT|NCP_RECODE, 1144, "x-ebcdic-italy-euro,xebcdicitalyeuro,", 00000, L"" }, // IBM EBCDIC (Italy-Euro)
|
||||
//{ NCP_8BIT|NCP_RECODE, 1145, "x-ebcdic-spain-euro,xebcdicspaineuro,", 00000, L"" }, // IBM EBCDIC (Spain-Latin America-Euro)
|
||||
//{ NCP_8BIT|NCP_RECODE, 1146, "x-ebcdic-uk-euro,xebcdicukeuro,", 00000, L"" }, // IBM EBCDIC (UK-Euro)
|
||||
//{ NCP_8BIT|NCP_RECODE, 1147, "x-ebcdic-france-euro,xebcdicfranceeuro,", 00000, L"" }, // IBM EBCDIC (France-Euro)
|
||||
//{ NCP_8BIT|NCP_RECODE, 1148, "x-ebcdic-international-euro,xebcdicinternationaleuro,", 00000, L"" }, // IBM EBCDIC (International-Euro)
|
||||
//{ NCP_8BIT|NCP_RECODE, 1149, "x-ebcdic-icelandic-euro,xebcdicicelandiceuro,", 00000, L"" }, // IBM EBCDIC (Icelandic-Euro)
|
||||
//{ NCP_8BIT|NCP_RECODE, 1361, "johab,johab,", 00000, L"" }, // Korean (Johab)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20273, "x-EBCDIC-Germany,xebcdicgermany,", 00000, L"" }, // IBM EBCDIC (Germany)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20277, "x-EBCDIC-DenmarkNorway,xebcdicdenmarknorway,ebcdiccpdk,ebcdiccpno,", 00000, L"" }, // IBM EBCDIC (Denmark-Norway)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20278, "x-EBCDIC-FinlandSweden,xebcdicfinlandsweden,ebcdicpfi,ebcdiccpse,", 00000, L"" }, // IBM EBCDIC (Finland-Sweden)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20280, "x-EBCDIC-Italy,xebcdicitaly,", 00000, L"" }, // IBM EBCDIC (Italy)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20284, "x-EBCDIC-Spain,xebcdicspain,ebcdiccpes,", 00000, L"" }, // IBM EBCDIC (Spain-Latin America)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20285, "x-EBCDIC-UK,xebcdicuk,ebcdiccpgb,", 00000, L"" }, // IBM EBCDIC (UK)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20290, "x-EBCDIC-JapaneseKatakana,xebcdicjapanesekatakana,", 00000, L"" }, // IBM EBCDIC (Japanese Katakana)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20297, "x-EBCDIC-France,xebcdicfrance,ebcdiccpfr,", 00000, L"" }, // IBM EBCDIC (France)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20420, "x-EBCDIC-Arabic,xebcdicarabic,ebcdiccpar1,", 00000, L"" }, // IBM EBCDIC (Arabic)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20423, "x-EBCDIC-Greek,xebcdicgreek,ebcdiccpgr,", 00000, L"" }, // IBM EBCDIC (Greek)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20424, "x-EBCDIC-Hebrew,xebcdichebrew,ebcdiccphe,", 00000, L"" }, // IBM EBCDIC (Hebrew)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20833, "x-EBCDIC-KoreanExtended,xebcdickoreanextended,", 00000, L"" }, // IBM EBCDIC (Korean Extended)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20838, "x-EBCDIC-Thai,xebcdicthai,ibmthai,csibmthai,", 00000, L"" }, // IBM EBCDIC (Thai)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20871, "x-EBCDIC-Icelandic,xebcdicicelandic,ebcdiccpis,", 00000, L"" }, // IBM EBCDIC (Icelandic)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20880, "x-EBCDIC-CyrillicRussian,xebcdiccyrillicrussian,ebcdiccyrillic,", 00000, L"" }, // IBM EBCDIC (Cyrillic Russian)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20905, "x-EBCDIC-Turkish,xebcdicturkish,ebcdiccptr,", 00000, L"" }, // IBM EBCDIC (Turkish)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20924, "IBM00924,ibm00924,ebcdiclatin9euro,", 00000, L"" }, // IBM EBCDIC (Open System-Euro Latin-1)
|
||||
//{ NCP_8BIT|NCP_RECODE, 21025, "x-EBCDIC-CyrillicSerbianBulgarian,xebcdiccyrillicserbianbulgarian,", 00000, L"" }, // IBM EBCDIC (Cyrillic Serbian-Bulgarian)
|
||||
//{ NCP_8BIT|NCP_RECODE, 50930, "x-EBCDIC-JapaneseAndKana,xebcdicjapaneseandkana,", 00000, L"" }, // IBM EBCDIC (Japanese and Japanese Katakana)
|
||||
//{ NCP_8BIT|NCP_RECODE, 50931, "x-EBCDIC-JapaneseAndUSCanada,xebcdicjapaneseanduscanada,", 00000, L"" }, // IBM EBCDIC (Japanese and US-Canada)
|
||||
//{ NCP_8BIT|NCP_RECODE, 50933, "x-EBCDIC-KoreanAndKoreanExtended,xebcdickoreanandkoreanextended,", 00000, L"" }, // IBM EBCDIC (Korean and Korean Extended)
|
||||
//{ NCP_8BIT|NCP_RECODE, 50935, "x-EBCDIC-SimplifiedChinese,xebcdicsimplifiedchinese,", 00000, L"" }, // IBM EBCDIC (Chinese Simplified)
|
||||
//{ NCP_8BIT|NCP_RECODE, 50937, "x-EBCDIC-TraditionalChinese,xebcdictraditionalchinese,", 00000, L"" }, // IBM EBCDIC (Chinese Traditional)
|
||||
//{ NCP_8BIT|NCP_RECODE, 50939, "x-EBCDIC-JapaneseAndJapaneseLatin,xebcdicjapaneseandjapaneselatin,", 00000, L"" }, // IBM EBCDIC (Japanese and Japanese-Latin)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20105, "x-IA5,xia5,", 00000, L"" }, // Western European (IA5)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20106, "x-IA5-German,xia5german,", 00000, L"" }, // German (IA5)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20107, "x-IA5-Swedish,xia5swedish,", 00000, L"" }, // Swedish (IA5)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20108, "x-IA5-Norwegian,xia5norwegian,", 00000, L"" }, // Norwegian (IA5)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20936, "x-cp20936,xcp20936,", 00000, L"" }, // Chinese Simplified (GB2312)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20932, "euc-jp,,", 00000, L"" }, // Japanese (JIS X 0208-1990 & 0212-1990)
|
||||
//{ NCP_8BIT|NCP_RECODE, 50220, "iso-2022-jp,iso2022jp,", 00000, L"" }, // Japanese (JIS)
|
||||
//{ NCP_8BIT|NCP_RECODE, 50221, "csISO2022JP,csiso2022jp,", 00000, L"" }, // Japanese (JIS-Allow 1 byte Kana)
|
||||
//{ NCP_8BIT|NCP_RECODE, 50222, "_iso-2022-jp$SIO,iso2022jpSIO,", 00000, L"" }, // Japanese (JIS-Allow 1 byte Kana - SO/SI)
|
||||
//{ NCP_8BIT|NCP_RECODE, 50225, "iso-2022-kr,iso2022kr,csiso2022kr,", 00000, L"" }, // Korean (ISO-2022-KR)
|
||||
//{ NCP_8BIT|NCP_RECODE, 50227, "x-cp50227,xcp50227,", 00000, L"" }, // Chinese Simplified (ISO-2022)
|
||||
//{ NCP_8BIT|NCP_RECODE, 50229, "iso-2022-cn,iso2022cn,", 00000, L"" }, // Chinese Traditional (ISO-2022)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20000, "x-Chinese-CNS,xchinesecns,", 00000, L"" }, // Chinese Traditional (CNS)
|
||||
//{ NCP_8BIT|NCP_RECODE, 20002, "x-Chinese-Eten,xchineseeten,", 00000, L"" }, // Chinese Traditional (Eten)
|
||||
//{ NCP_8BIT|NCP_RECODE, 51932, "euc-jp,eucjp,xeuc,xeucjp,", 00000, L"" }, // Japanese (EUC)
|
||||
//{ NCP_8BIT|NCP_RECODE, 51936, "euc-cn,euccn,xeuccn,", 00000, L"" }, // Chinese Simplified (EUC)
|
||||
//{ NCP_8BIT|NCP_RECODE, 51949, "euc-kr,euckr,cseuckr,", 00000, L"" }, // Korean (EUC)
|
||||
//{ NCP_8BIT|NCP_RECODE, 52936, "hz-gb-2312,hzgb2312,hz,", 00000, L"" }, // Chinese Simplified (HZ-GB2312)
|
||||
{ NCP_8BIT | NCP_RECODE, 54936, "gb18030,gb18030,", 61072, L"" } // Chinese Simplified (GB18030)
|
||||
//{ NCP_8BIT|NCP_RECODE, 57002, "x-iscii-de,xisciide,", 00000, L"" }, // ISCII Devanagari
|
||||
//{ NCP_8BIT|NCP_RECODE, 57003, "x-iscii-be,xisciibe,", 00000, L"" }, // ISCII Bengali
|
||||
//{ NCP_8BIT|NCP_RECODE, 57004, "x-iscii-ta,xisciita,", 00000, L"" }, // ISCII Tamil
|
||||
//{ NCP_8BIT|NCP_RECODE, 57005, "x-iscii-te,xisciite,", 00000, L"" }, // ISCII Telugu
|
||||
//{ NCP_8BIT|NCP_RECODE, 57006, "x-iscii-as,xisciias,", 00000, L"" }, // ISCII Assamese
|
||||
//{ NCP_8BIT|NCP_RECODE, 57007, "x-iscii-or,xisciior,", 00000, L"" }, // ISCII Oriya
|
||||
//{ NCP_8BIT|NCP_RECODE, 57008, "x-iscii-ka,xisciika,", 00000, L"" }, // ISCII Kannada
|
||||
//{ NCP_8BIT|NCP_RECODE, 57009, "x-iscii-ma,xisciima,", 00000, L"" }, // ISCII Malayalam
|
||||
//{ NCP_8BIT|NCP_RECODE, 57010, "x-iscii-gu,xisciigu,", 00000, L"" }, // ISCII Gujarathi
|
||||
//{ NCP_8BIT|NCP_RECODE, 57011, "x-iscii-pa,xisciipa,", 00000, L"" }, // ISCII Panjabi
|
||||
{ NCP_ANSI | NCP_RECODE, CP_ACP, "ansi,system,ascii,", 61000, L"" },
|
||||
{ NCP_OEM | NCP_RECODE, CP_OEMCP, "oem,oem,", 61001, L"" },
|
||||
{ NCP_UNICODE | NCP_UNICODE_BOM, CP_UTF8, "", 61002, L"" },
|
||||
{ NCP_UNICODE | NCP_UNICODE_REVERSE | NCP_UNICODE_BOM, CP_UTF8, "", 61003, L"" },
|
||||
{ NCP_UNICODE | NCP_RECODE, CP_UTF8, "utf-16,utf16,unicode,", 61004, L"" },
|
||||
{ NCP_UNICODE | NCP_UNICODE_REVERSE | NCP_RECODE, CP_UTF8, "utf-16be,utf16be,unicodebe,", 61005, L"" },
|
||||
{ NCP_UTF8 | NCP_RECODE, CP_UTF8, "utf-8,utf8,", 61006, L"" },
|
||||
{ NCP_UTF8 | NCP_UTF8_SIGN, CP_UTF8, "utf-8,utf8,", 61007, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, CP_UTF7, "utf-7,utf7,", 61008, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 720, "DOS-720,dos720,", 61009, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 28596, "iso-8859-6,iso88596,arabic,csisolatinarabic,ecma114,isoir127,", 61010, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 10004, "x-mac-arabic,xmacarabic,", 61011, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 1256, "windows-1256,windows1256,cp1256", 61012, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 775, "ibm775,ibm775,cp500,", 61013, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 28594, "iso-8859-4,iso88594,csisolatin4,isoir110,l4,latin4,", 61014, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 1257, "windows-1257,windows1257,", 61015, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 852, "ibm852,ibm852,cp852,", 61016, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 28592, "iso-8859-2,iso88592,csisolatin2,isoir101,latin2,l2,", 61017, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 10029, "x-mac-ce,xmacce,", 61018, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 1250, "windows-1250,windows1250,xcp1250,", 61019, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 936, "gb2312,gb2312,chinese,cngb,csgb2312,csgb231280,gb231280,gbk,", 61020, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 10008, "x-mac-chinesesimp,xmacchinesesimp,", 61021, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 950, "big5,big5,cnbig5,csbig5,xxbig5,", 61022, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 10002, "x-mac-chinesetrad,xmacchinesetrad,", 61023, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 10082, "x-mac-croatian,xmaccroatian,", 61024, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 866, "cp866,cp866,ibm866,", 61025, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 28595, "iso-8859-5,iso88595,csisolatin5,csisolatincyrillic,cyrillic,isoir144,", 61026, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 20866, "koi8-r,koi8r,cskoi8r,koi,koi8,", 61027, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 21866, "koi8-u,koi8u,koi8ru,", 61028, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 10007, "x-mac-cyrillic,xmaccyrillic,", 61029, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 1251, "windows-1251,windows1251,xcp1251,", 61030, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 28603, "iso-8859-13,iso885913,", 61031, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 863, "ibm863,ibm863,", 61032, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 737, "ibm737,ibm737,", 61033, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 28597, "iso-8859-7,iso88597,csisolatingreek,ecma118,elot928,greek,greek8,isoir126,", 61034, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 10006, "x-mac-greek,xmacgreek,", 61035, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 1253, "windows-1253,windows1253,", 61036, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 869, "ibm869,ibm869,", 61037, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 862, "DOS-862,dos862,", 61038, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 38598, "iso-8859-8-i,iso88598i,logical,", 61039, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 28598, "iso-8859-8,iso88598,csisolatinhebrew,hebrew,isoir138,visual,", 61040, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 10005, "x-mac-hebrew,xmachebrew,", 61041, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 1255, "windows-1255,windows1255,", 61042, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 861, "ibm861,ibm861,", 61043, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 10079, "x-mac-icelandic,xmacicelandic,", 61044, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 10001, "x-mac-japanese,xmacjapanese,", 61045, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 932, "shift_jis,shiftjis,shiftjs,csshiftjis,cswindows31j,mskanji,xmscp932,xsjis,", 61046, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 10003, "x-mac-korean,xmackorean,", 61047, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 949, "windows-949,windows949,ksc56011987,csksc5601,euckr,isoir149,korean,ksc56011989", 61048, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 28593, "iso-8859-3,iso88593,latin3,isoir109,l3,", 61049, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 28605, "iso-8859-15,iso885915,latin9,l9,", 61050, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 865, "ibm865,ibm865,", 61051, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 437, "ibm437,ibm437,437,cp437,cspc8,codepage437,", 61052, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 858, "ibm858,ibm858,ibm00858,", 61053, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 860, "ibm860,ibm860,", 61054, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 10010, "x-mac-romanian,xmacromanian,", 61055, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 10021, "x-mac-thai,xmacthai,", 61056, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 874, "windows-874,windows874,dos874,iso885911,tis620,", 61057, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 857, "ibm857,ibm857,", 61058, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 28599, "iso-8859-9,iso88599,latin5,isoir148,l5,", 61059, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 10081, "x-mac-turkish,xmacturkish,", 61060, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 1254, "windows-1254,windows1254,", 61061, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 10017, "x-mac-ukrainian,xmacukrainian,", 61062, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 1258, "windows-1258,windows-258,", 61063, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 850, "ibm850,ibm850,", 61064, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 28591, "iso-8859-1,iso88591,cp819,latin1,ibm819,isoir100,latin1,l1,", 61065, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 10000, "macintosh,macintosh,", 61066, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 1252, "windows-1252,windows1252,cp367,cp819,ibm367,us,xansi,", 61067, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 37, "ebcdic-cp-us,ebcdiccpus,ebcdiccpca,ebcdiccpwt,ebcdiccpnl,ibm037,cp037,", 61068, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 500, "x-ebcdic-international,xebcdicinternational,", 61069, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 875, "x-EBCDIC-GreekModern,xebcdicgreekmodern,", 61070, L"" },
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 1026, "CP1026,cp1026,csibm1026,ibm1026,", 61071, L"" },
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 870, "CP870,cp870,ebcdiccproece,ebcdiccpyu,csibm870,ibm870,", 00000, L"" }, // IBM EBCDIC (Multilingual Latin-2)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 1047, "IBM01047,ibm01047,", 00000, L"" }, // IBM EBCDIC (Open System Latin-1)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 1140, "x-ebcdic-cp-us-euro,xebcdiccpuseuro,", 00000, L"" }, // IBM EBCDIC (US-Canada-Euro)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 1141, "x-ebcdic-germany-euro,xebcdicgermanyeuro,", 00000, L"" }, // IBM EBCDIC (Germany-Euro)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 1142, "x-ebcdic-denmarknorway-euro,xebcdicdenmarknorwayeuro,", 00000, L"" }, // IBM EBCDIC (Denmark-Norway-Euro)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 1143, "x-ebcdic-finlandsweden-euro,xebcdicfinlandswedeneuro,", 00000, L"" }, // IBM EBCDIC (Finland-Sweden-Euro)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 1144, "x-ebcdic-italy-euro,xebcdicitalyeuro,", 00000, L"" }, // IBM EBCDIC (Italy-Euro)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 1145, "x-ebcdic-spain-euro,xebcdicspaineuro,", 00000, L"" }, // IBM EBCDIC (Spain-Latin America-Euro)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 1146, "x-ebcdic-uk-euro,xebcdicukeuro,", 00000, L"" }, // IBM EBCDIC (UK-Euro)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 1147, "x-ebcdic-france-euro,xebcdicfranceeuro,", 00000, L"" }, // IBM EBCDIC (France-Euro)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 1148, "x-ebcdic-international-euro,xebcdicinternationaleuro,", 00000, L"" }, // IBM EBCDIC (International-Euro)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 1149, "x-ebcdic-icelandic-euro,xebcdicicelandiceuro,", 00000, L"" }, // IBM EBCDIC (Icelandic-Euro)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 1361, "johab,johab,", 00000, L"" }, // Korean (Johab)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20273, "x-EBCDIC-Germany,xebcdicgermany,", 00000, L"" }, // IBM EBCDIC (Germany)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20277, "x-EBCDIC-DenmarkNorway,xebcdicdenmarknorway,ebcdiccpdk,ebcdiccpno,", 00000, L"" }, // IBM EBCDIC (Denmark-Norway)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20278, "x-EBCDIC-FinlandSweden,xebcdicfinlandsweden,ebcdicpfi,ebcdiccpse,", 00000, L"" }, // IBM EBCDIC (Finland-Sweden)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20280, "x-EBCDIC-Italy,xebcdicitaly,", 00000, L"" }, // IBM EBCDIC (Italy)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20284, "x-EBCDIC-Spain,xebcdicspain,ebcdiccpes,", 00000, L"" }, // IBM EBCDIC (Spain-Latin America)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20285, "x-EBCDIC-UK,xebcdicuk,ebcdiccpgb,", 00000, L"" }, // IBM EBCDIC (UK)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20290, "x-EBCDIC-JapaneseKatakana,xebcdicjapanesekatakana,", 00000, L"" }, // IBM EBCDIC (Japanese Katakana)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20297, "x-EBCDIC-France,xebcdicfrance,ebcdiccpfr,", 00000, L"" }, // IBM EBCDIC (France)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20420, "x-EBCDIC-Arabic,xebcdicarabic,ebcdiccpar1,", 00000, L"" }, // IBM EBCDIC (Arabic)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20423, "x-EBCDIC-Greek,xebcdicgreek,ebcdiccpgr,", 00000, L"" }, // IBM EBCDIC (Greek)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20424, "x-EBCDIC-Hebrew,xebcdichebrew,ebcdiccphe,", 00000, L"" }, // IBM EBCDIC (Hebrew)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20833, "x-EBCDIC-KoreanExtended,xebcdickoreanextended,", 00000, L"" }, // IBM EBCDIC (Korean Extended)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20838, "x-EBCDIC-Thai,xebcdicthai,ibmthai,csibmthai,", 00000, L"" }, // IBM EBCDIC (Thai)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20871, "x-EBCDIC-Icelandic,xebcdicicelandic,ebcdiccpis,", 00000, L"" }, // IBM EBCDIC (Icelandic)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20880, "x-EBCDIC-CyrillicRussian,xebcdiccyrillicrussian,ebcdiccyrillic,", 00000, L"" }, // IBM EBCDIC (Cyrillic Russian)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20905, "x-EBCDIC-Turkish,xebcdicturkish,ebcdiccptr,", 00000, L"" }, // IBM EBCDIC (Turkish)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20924, "IBM00924,ibm00924,ebcdiclatin9euro,", 00000, L"" }, // IBM EBCDIC (Open System-Euro Latin-1)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 21025, "x-EBCDIC-CyrillicSerbianBulgarian,xebcdiccyrillicserbianbulgarian,", 00000, L"" }, // IBM EBCDIC (Cyrillic Serbian-Bulgarian)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 50930, "x-EBCDIC-JapaneseAndKana,xebcdicjapaneseandkana,", 00000, L"" }, // IBM EBCDIC (Japanese and Japanese Katakana)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 50931, "x-EBCDIC-JapaneseAndUSCanada,xebcdicjapaneseanduscanada,", 00000, L"" }, // IBM EBCDIC (Japanese and US-Canada)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 50933, "x-EBCDIC-KoreanAndKoreanExtended,xebcdickoreanandkoreanextended,", 00000, L"" }, // IBM EBCDIC (Korean and Korean Extended)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 50935, "x-EBCDIC-SimplifiedChinese,xebcdicsimplifiedchinese,", 00000, L"" }, // IBM EBCDIC (Chinese Simplified)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 50937, "x-EBCDIC-TraditionalChinese,xebcdictraditionalchinese,", 00000, L"" }, // IBM EBCDIC (Chinese Traditional)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 50939, "x-EBCDIC-JapaneseAndJapaneseLatin,xebcdicjapaneseandjapaneselatin,", 00000, L"" }, // IBM EBCDIC (Japanese and Japanese-Latin)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20105, "x-IA5,xia5,", 00000, L"" }, // Western European (IA5)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20106, "x-IA5-German,xia5german,", 00000, L"" }, // German (IA5)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20107, "x-IA5-Swedish,xia5swedish,", 00000, L"" }, // Swedish (IA5)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20108, "x-IA5-Norwegian,xia5norwegian,", 00000, L"" }, // Norwegian (IA5)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20936, "x-cp20936,xcp20936,", 00000, L"" }, // Chinese Simplified (GB2312)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20932, "euc-jp,,", 00000, L"" }, // Japanese (JIS X 0208-1990 & 0212-1990)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 50220, "iso-2022-jp,iso2022jp,", 00000, L"" }, // Japanese (JIS)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 50221, "csISO2022JP,csiso2022jp,", 00000, L"" }, // Japanese (JIS-Allow 1 byte Kana)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 50222, "_iso-2022-jp$SIO,iso2022jpSIO,", 00000, L"" }, // Japanese (JIS-Allow 1 byte Kana - SO/SI)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 50225, "iso-2022-kr,iso2022kr,csiso2022kr,", 00000, L"" }, // Korean (ISO-2022-KR)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 50227, "x-cp50227,xcp50227,", 00000, L"" }, // Chinese Simplified (ISO-2022)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 50229, "iso-2022-cn,iso2022cn,", 00000, L"" }, // Chinese Traditional (ISO-2022)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20000, "x-Chinese-CNS,xchinesecns,", 00000, L"" }, // Chinese Traditional (CNS)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 20002, "x-Chinese-Eten,xchineseeten,", 00000, L"" }, // Chinese Traditional (Eten)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 51932, "euc-jp,eucjp,xeuc,xeucjp,", 00000, L"" }, // Japanese (EUC)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 51936, "euc-cn,euccn,xeuccn,", 00000, L"" }, // Chinese Simplified (EUC)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 51949, "euc-kr,euckr,cseuckr,", 00000, L"" }, // Korean (EUC)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 52936, "hz-gb-2312,hzgb2312,hz,", 00000, L"" }, // Chinese Simplified (HZ-GB2312)
|
||||
{ NCP_EXTERNAL_8BIT | NCP_RECODE, 54936, "gb18030,gb18030,", 61072, L"" } // Chinese Simplified (GB18030)
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 57002, "x-iscii-de,xisciide,", 00000, L"" }, // ISCII Devanagari
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 57003, "x-iscii-be,xisciibe,", 00000, L"" }, // ISCII Bengali
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 57004, "x-iscii-ta,xisciita,", 00000, L"" }, // ISCII Tamil
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 57005, "x-iscii-te,xisciite,", 00000, L"" }, // ISCII Telugu
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 57006, "x-iscii-as,xisciias,", 00000, L"" }, // ISCII Assamese
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 57007, "x-iscii-or,xisciior,", 00000, L"" }, // ISCII Oriya
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 57008, "x-iscii-ka,xisciika,", 00000, L"" }, // ISCII Kannada
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 57009, "x-iscii-ma,xisciima,", 00000, L"" }, // ISCII Malayalam
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 57010, "x-iscii-gu,xisciigu,", 00000, L"" }, // ISCII Gujarathi
|
||||
//{ NCP_EXTERNAL_8BIT|NCP_RECODE, 57011, "x-iscii-pa,xisciipa,", 00000, L"" }, // ISCII Panjabi
|
||||
};
|
||||
|
||||
int Encoding_CountOf() {
|
||||
@ -2925,7 +2925,7 @@ int Encoding_Current(int iEncoding) {
|
||||
}
|
||||
|
||||
|
||||
int Encoding_Source(int iSrcEncoding) {
|
||||
int Encoding_SrcCmdLn(int iSrcEncoding) {
|
||||
static int SourceEncoding = CPI_NONE;
|
||||
|
||||
if (iSrcEncoding >= 0) {
|
||||
@ -2983,8 +2983,8 @@ void Encoding_InitDefaults() {
|
||||
for (int i = CPI_UTF7 + 1; i < COUNTOF(g_Encodings); ++i) {
|
||||
if (Encoding_IsValid(i) && (g_Encodings[i].uCodePage == g_Encodings[CPI_ANSI_DEFAULT].uCodePage)) {
|
||||
g_Encodings[i].uFlags |= NCP_ANSI;
|
||||
if (g_Encodings[i].uFlags & NCP_8BIT)
|
||||
g_Encodings[CPI_ANSI_DEFAULT].uFlags |= NCP_8BIT;
|
||||
if (g_Encodings[i].uFlags & NCP_EXTERNAL_8BIT)
|
||||
g_Encodings[CPI_ANSI_DEFAULT].uFlags |= NCP_EXTERNAL_8BIT;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -2995,8 +2995,8 @@ void Encoding_InitDefaults() {
|
||||
for (int i = CPI_UTF7 + 1; i < COUNTOF(g_Encodings); ++i) {
|
||||
if (Encoding_IsValid(i) && (g_Encodings[i].uCodePage == g_Encodings[CPI_OEM].uCodePage)) {
|
||||
g_Encodings[i].uFlags |= NCP_OEM;
|
||||
if (g_Encodings[i].uFlags & NCP_8BIT)
|
||||
g_Encodings[CPI_OEM].uFlags |= NCP_8BIT;
|
||||
if (g_Encodings[i].uFlags & NCP_EXTERNAL_8BIT)
|
||||
g_Encodings[CPI_OEM].uFlags |= NCP_EXTERNAL_8BIT;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -3282,8 +3282,6 @@ void Encoding_AddToComboboxEx(HWND hwnd,int idSel,BOOL bRecodeOnly) {
|
||||
int id = pEE[i].id;
|
||||
if (!bRecodeOnly || (g_Encodings[id].uFlags & NCP_RECODE)) {
|
||||
|
||||
CPINFO cpi;
|
||||
|
||||
cbei.iItem = SendMessage(hwnd,CB_GETCOUNT,0,0);
|
||||
|
||||
WCHAR *pwsz = StrChr(pEE[i].wch,L';');
|
||||
@ -3301,12 +3299,7 @@ void Encoding_AddToComboboxEx(HWND hwnd,int idSel,BOOL bRecodeOnly) {
|
||||
else if (id == CPI_OEM)
|
||||
StringCchCatN(wchBuf,COUNTOF(wchBuf),wchOEM,COUNTOF(wchOEM));
|
||||
|
||||
if ((g_Encodings[id].uFlags & NCP_INTERNAL) ||
|
||||
(IsValidCodePage(g_Encodings[id].uCodePage) &&
|
||||
GetCPInfo(g_Encodings[id].uCodePage,&cpi)))
|
||||
cbei.iImage = 0;
|
||||
else
|
||||
cbei.iImage = 1;
|
||||
cbei.iImage = (Encoding_IsValid(id) ? 0 : 1);
|
||||
|
||||
cbei.lParam = (LPARAM)id;
|
||||
SendMessage(hwnd,CBEM_INSERTITEM,0,(LPARAM)&cbei);
|
||||
@ -3341,6 +3334,8 @@ BOOL Encoding_GetFromComboboxEx(HWND hwnd,int *pidEncoding) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
BOOL Encoding_IsDefault(int iEncoding) {
|
||||
return (g_Encodings[iEncoding].uFlags & NCP_DEFAULT);
|
||||
}
|
||||
@ -3354,6 +3349,8 @@ BOOL Encoding_IsOEM(int iEncoding) {
|
||||
}
|
||||
|
||||
UINT Encoding_SciGetCodePage(HWND hwnd) {
|
||||
UNUSED(hwnd);
|
||||
return CP_UTF8;
|
||||
// remove internal support for Chinese, Japan, Korean DBCS use UTF-8 instead
|
||||
/*
|
||||
int cp = (UINT)SendMessage(hwnd,SCI_GETCODEPAGE,0,0);
|
||||
@ -3362,12 +3359,12 @@ UINT Encoding_SciGetCodePage(HWND hwnd) {
|
||||
}
|
||||
return (cp == 0) ? CP_ACP : CP_UTF8;
|
||||
*/
|
||||
UNUSED(hwnd);
|
||||
return CP_UTF8;
|
||||
}
|
||||
|
||||
|
||||
int Encoding_SciMappedCodePage(int iEncoding) {
|
||||
UNUSED(iEncoding);
|
||||
return SC_CP_UTF8;
|
||||
// remove internal support for Chinese, Japan, Korean DBCS use UTF-8 instead
|
||||
/*
|
||||
if (Encoding_IsValid(iEncoding)) {
|
||||
@ -3378,8 +3375,6 @@ int Encoding_SciMappedCodePage(int iEncoding) {
|
||||
}
|
||||
}
|
||||
*/
|
||||
UNUSED(iEncoding);
|
||||
return SC_CP_UTF8;
|
||||
}
|
||||
|
||||
|
||||
@ -3403,7 +3398,7 @@ void Encoding_SciSetCodePage(HWND hwnd,int iEncoding) {
|
||||
charset = SC_CHARSET_CHINESEBIG5;
|
||||
break;
|
||||
default:
|
||||
charset = iDefaultCharSet;
|
||||
charset = g_iDefaultCharSet;
|
||||
break;
|
||||
}
|
||||
SendMessage(hwnd,SCI_STYLESETCHARACTERSET,(WPARAM)STYLE_DEFAULT,(LPARAM)charset);
|
||||
|
||||
@ -357,12 +357,12 @@ extern int g_DOSEncoding;
|
||||
#define NCP_UNICODE 8
|
||||
#define NCP_UNICODE_REVERSE 16
|
||||
#define NCP_UNICODE_BOM 32
|
||||
#define NCP_8BIT 64
|
||||
#define NCP_ANSI 128
|
||||
#define NCP_OEM 256
|
||||
#define NCP_MBCS 512
|
||||
#define NCP_INTERNAL (NCP_DEFAULT|NCP_UTF8|NCP_UTF8_SIGN|NCP_UNICODE|NCP_UNICODE_REVERSE|NCP_UNICODE_BOM|NCP_ANSI|NCP_OEM|NCP_MBCS)
|
||||
#define NCP_RECODE 1024
|
||||
#define NCP_ANSI 64
|
||||
#define NCP_OEM 128
|
||||
#define NCP_MBCS 256
|
||||
#define NCP_INTERNAL (NCP_DEFAULT|NCP_UTF8|NCP_UTF8_SIGN|NCP_UNICODE|NCP_UNICODE_REVERSE|NCP_UNICODE_BOM|NCP_ANSI|NCP_OEM|NCP_MBCS)
|
||||
#define NCP_EXTERNAL_8BIT 512
|
||||
#define NCP_RECODE 1024
|
||||
|
||||
#define CPI_GET -2
|
||||
#define CPI_NONE -1
|
||||
@ -389,7 +389,7 @@ typedef struct _np2encoding {
|
||||
|
||||
int Encoding_CountOf();
|
||||
int Encoding_Current(int); // getter/setter
|
||||
int Encoding_Source(int); // getter/setter
|
||||
int Encoding_SrcCmdLn(int); // getter/setter
|
||||
int Encoding_SrcWeak(int); // getter/setter
|
||||
BOOL Encoding_HasChanged(int); // query/setter
|
||||
|
||||
|
||||
123
src/Notepad3.c
123
src/Notepad3.c
@ -254,11 +254,11 @@ LPMRULIST mruReplace;
|
||||
|
||||
DWORD dwLastIOError;
|
||||
|
||||
int iDefaultEncoding;
|
||||
int iDefaultCharSet;
|
||||
int g_iDefaultEncoding;
|
||||
int g_iDefaultCharSet;
|
||||
|
||||
int iEOLMode;
|
||||
int iDefaultEOLMode;
|
||||
int g_iEOLMode;
|
||||
int g_iDefaultEOLMode;
|
||||
|
||||
int iInitialLine;
|
||||
int iInitialColumn;
|
||||
@ -282,7 +282,8 @@ UINT msgTaskbarCreated = 0;
|
||||
HMODULE hModUxTheme = NULL;
|
||||
HMODULE hRichEdit = NULL;
|
||||
|
||||
EDITFINDREPLACE g_efrData = { "", "", "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL };
|
||||
|
||||
EDITFINDREPLACE g_efrData = EFR_INIT_DATA;
|
||||
UINT cpLastFind = 0;
|
||||
BOOL bReplaceInitialized = FALSE;
|
||||
|
||||
@ -734,7 +735,7 @@ HWND InitInstance(HINSTANCE hInstance,LPSTR pszCmdLine,int nCmdShow)
|
||||
|
||||
// Source Encoding
|
||||
if (lpEncodingArg)
|
||||
Encoding_Source(Encoding_MatchW(lpEncodingArg));
|
||||
Encoding_SrcCmdLn(Encoding_MatchW(lpEncodingArg));
|
||||
|
||||
// Pathname parameter
|
||||
if (flagBufferFile || (lpFileArg /*&& !flagNewFromClipboard*/))
|
||||
@ -792,15 +793,15 @@ HWND InitInstance(HINSTANCE hInstance,LPSTR pszCmdLine,int nCmdShow)
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (Encoding_Source(CPI_GET) != CPI_NONE) {
|
||||
Encoding_Current(Encoding_Source(CPI_GET));
|
||||
Encoding_HasChanged(Encoding_Source(CPI_GET));
|
||||
if (Encoding_SrcCmdLn(CPI_GET) != CPI_NONE) {
|
||||
Encoding_Current(Encoding_SrcCmdLn(CPI_GET));
|
||||
Encoding_HasChanged(Encoding_SrcCmdLn(CPI_GET));
|
||||
Encoding_SciSetCodePage(g_hwndEdit,Encoding_Current(CPI_GET));
|
||||
}
|
||||
}
|
||||
|
||||
// reset
|
||||
Encoding_Source(CPI_NONE);
|
||||
Encoding_SrcCmdLn(CPI_NONE);
|
||||
flagQuietCreate = 0;
|
||||
fKeepTitleExcerpt = 0;
|
||||
|
||||
@ -1840,7 +1841,7 @@ LRESULT MsgCopyData(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
if (params->flagFileSpecified) {
|
||||
|
||||
BOOL bOpened = FALSE;
|
||||
Encoding_Source(params->iSrcEncoding);
|
||||
Encoding_SrcCmdLn(params->iSrcEncoding);
|
||||
|
||||
if (PathIsDirectory(¶ms->wchData)) {
|
||||
WCHAR tchFile[MAX_PATH] = { L'\0' };
|
||||
@ -1876,11 +1877,7 @@ LRESULT MsgCopyData(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
|
||||
if (0 != params->flagSetEOLMode) {
|
||||
flagSetEOLMode = params->flagSetEOLMode;
|
||||
SendMessage(
|
||||
g_hwndMain,
|
||||
WM_COMMAND,
|
||||
MAKELONG(IDM_LINEENDINGS_CRLF + flagSetEOLMode - 1, 1),
|
||||
0);
|
||||
SendMessage(g_hwndMain, WM_COMMAND, MAKELONG(IDM_LINEENDINGS_CRLF + flagSetEOLMode - 1, 1), 0);
|
||||
flagSetEOLMode = 0;
|
||||
}
|
||||
|
||||
@ -1899,7 +1896,7 @@ LRESULT MsgCopyData(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
}
|
||||
}
|
||||
// reset
|
||||
Encoding_Source(CPI_NONE);
|
||||
Encoding_SrcCmdLn(CPI_NONE);
|
||||
}
|
||||
|
||||
if (params->flagJumpTo) {
|
||||
@ -2127,9 +2124,9 @@ void MsgInitMenu(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
i = -1;
|
||||
CheckMenuRadioItem(hmenu,IDM_ENCODING_ANSI,IDM_ENCODING_UTF8SIGN,i,MF_BYCOMMAND);
|
||||
|
||||
if (iEOLMode == SC_EOL_CRLF)
|
||||
if (g_iEOLMode == SC_EOL_CRLF)
|
||||
i = IDM_LINEENDINGS_CRLF;
|
||||
else if (iEOLMode == SC_EOL_LF)
|
||||
else if (g_iEOLMode == SC_EOL_LF)
|
||||
i = IDM_LINEENDINGS_LF;
|
||||
else
|
||||
i = IDM_LINEENDINGS_CR;
|
||||
@ -2725,7 +2722,7 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
if (RecodeDlg(hwnd,&iNewEncoding))
|
||||
{
|
||||
StringCchCopy(tchCurFile2,COUNTOF(tchCurFile2),g_wchCurFile);
|
||||
Encoding_Source(iNewEncoding);
|
||||
Encoding_SrcCmdLn(iNewEncoding);
|
||||
FileLoad(TRUE,FALSE,TRUE,FALSE,tchCurFile2);
|
||||
}
|
||||
}
|
||||
@ -2734,7 +2731,7 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
|
||||
|
||||
case IDM_ENCODING_SETDEFAULT:
|
||||
SelectDefEncodingDlg(hwnd,&iDefaultEncoding);
|
||||
SelectDefEncodingDlg(hwnd,&g_iDefaultEncoding);
|
||||
break;
|
||||
|
||||
|
||||
@ -2744,9 +2741,9 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
BeginWaitCursor(NULL)
|
||||
int iNewEOLMode = iLineEndings[LOWORD(wParam)-IDM_LINEENDINGS_CRLF];
|
||||
iEOLMode = iNewEOLMode;
|
||||
SendMessage(g_hwndEdit,SCI_SETEOLMODE,iEOLMode,0);
|
||||
SendMessage(g_hwndEdit,SCI_CONVERTEOLS,iEOLMode,0);
|
||||
g_iEOLMode = iNewEOLMode;
|
||||
SendMessage(g_hwndEdit,SCI_SETEOLMODE,g_iEOLMode,0);
|
||||
SendMessage(g_hwndEdit,SCI_CONVERTEOLS,g_iEOLMode,0);
|
||||
EditFixPositions(g_hwndEdit);
|
||||
EndWaitCursor()
|
||||
UpdateToolbar();
|
||||
@ -2756,7 +2753,7 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
|
||||
|
||||
case IDM_LINEENDINGS_SETDEFAULT:
|
||||
SelectDefLineEndingDlg(hwnd,&iDefaultEOLMode);
|
||||
SelectDefLineEndingDlg(hwnd,&g_iDefaultEOLMode);
|
||||
break;
|
||||
|
||||
|
||||
@ -4469,7 +4466,7 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
WCHAR tchCurFile2[MAX_PATH] = { L'\0' };
|
||||
if (StringCchLenW(g_wchCurFile,COUNTOF(g_wchCurFile))) {
|
||||
Encoding_Source(Encoding_MapUnicode(iDefaultEncoding));
|
||||
Encoding_SrcCmdLn(Encoding_MapUnicode(g_iDefaultEncoding));
|
||||
StringCchCopy(tchCurFile2,COUNTOF(tchCurFile2),g_wchCurFile);
|
||||
FileLoad(FALSE,FALSE,TRUE,TRUE,tchCurFile2);
|
||||
}
|
||||
@ -4481,7 +4478,7 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
WCHAR tchCurFile2[MAX_PATH] = { L'\0' };
|
||||
if (StringCchLenW(g_wchCurFile,COUNTOF(g_wchCurFile))) {
|
||||
Encoding_Source(CPI_ANSI_DEFAULT);
|
||||
Encoding_SrcCmdLn(CPI_ANSI_DEFAULT);
|
||||
StringCchCopy(tchCurFile2,COUNTOF(tchCurFile2),g_wchCurFile);
|
||||
FileLoad(FALSE,FALSE,TRUE,TRUE,tchCurFile2);
|
||||
}
|
||||
@ -4493,7 +4490,7 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
WCHAR tchCurFile2[MAX_PATH] = { L'\0' };
|
||||
if (StringCchLenW(g_wchCurFile,COUNTOF(g_wchCurFile))) {
|
||||
Encoding_Source(CPI_OEM);
|
||||
Encoding_SrcCmdLn(CPI_OEM);
|
||||
StringCchCopy(tchCurFile2,COUNTOF(tchCurFile2),g_wchCurFile);
|
||||
FileLoad(FALSE,FALSE,TRUE,TRUE,tchCurFile2);
|
||||
}
|
||||
@ -4566,8 +4563,9 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
struct tm sst;
|
||||
|
||||
UINT cp;
|
||||
EDITFINDREPLACE efrTS = { "", "", "", "", SCFIND_REGEXP, 0, 0, 0, 0, 0, 0, 0, 0, NULL };
|
||||
EDITFINDREPLACE efrTS = EFR_INIT_DATA;
|
||||
efrTS.hwnd = g_hwndEdit;
|
||||
efrTS.fuFlags = SCFIND_REGEXP;
|
||||
|
||||
IniGetString(L"Settings2",L"TimeStamp",L"\\$Date:[^\\$]+\\$ | $Date: %Y/%m/%d %H:%M:%S $",wchFind,COUNTOF(wchFind));
|
||||
|
||||
@ -5372,7 +5370,7 @@ LRESULT MsgNotify(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
if (bAutoIndent && (scn->ch == '\x0D' || scn->ch == '\x0A'))
|
||||
{
|
||||
// in CRLF mode handle LF only...
|
||||
if ((SC_EOL_CRLF == iEOLMode && scn->ch != '\x0A') || SC_EOL_CRLF != iEOLMode)
|
||||
if ((SC_EOL_CRLF == g_iEOLMode && scn->ch != '\x0A') || SC_EOL_CRLF != g_iEOLMode)
|
||||
{
|
||||
DocPos iCurPos = SciCall_GetCurrentPos();
|
||||
DocLn iCurLine = SciCall_LineFromPosition(iCurPos);
|
||||
@ -5608,9 +5606,9 @@ LRESULT MsgNotify(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
return TRUE;
|
||||
|
||||
case STATUS_EOLMODE:
|
||||
if (iEOLMode == SC_EOL_CRLF)
|
||||
if (g_iEOLMode == SC_EOL_CRLF)
|
||||
i = IDM_LINEENDINGS_CRLF;
|
||||
else if (iEOLMode == SC_EOL_LF)
|
||||
else if (g_iEOLMode == SC_EOL_LF)
|
||||
i = IDM_LINEENDINGS_LF;
|
||||
else
|
||||
i = IDM_LINEENDINGS_CR;
|
||||
@ -5798,10 +5796,10 @@ void LoadSettings()
|
||||
|
||||
bViewEOLs = IniSectionGetBool(pIniSection,L"ViewEOLs", FALSE);
|
||||
|
||||
iDefaultEncoding = IniSectionGetInt(pIniSection,L"DefaultEncoding", CPI_NONE);
|
||||
g_iDefaultEncoding = IniSectionGetInt(pIniSection,L"DefaultEncoding", CPI_NONE);
|
||||
// if DefaultEncoding is not defined set to system's current code-page
|
||||
iDefaultEncoding = (iDefaultEncoding == CPI_NONE) ?
|
||||
Encoding_MapIniSetting(TRUE,(int)GetACP()) : Encoding_MapIniSetting(TRUE,iDefaultEncoding);
|
||||
g_iDefaultEncoding = (g_iDefaultEncoding == CPI_NONE) ?
|
||||
Encoding_MapIniSetting(TRUE,(int)GetACP()) : Encoding_MapIniSetting(TRUE,g_iDefaultEncoding);
|
||||
|
||||
bSkipUnicodeDetection = IniSectionGetBool(pIniSection, L"SkipUnicodeDetection", FALSE);
|
||||
|
||||
@ -5811,8 +5809,8 @@ void LoadSettings()
|
||||
|
||||
bNoEncodingTags = IniSectionGetBool(pIniSection,L"NoEncodingTags", FALSE);
|
||||
|
||||
iDefaultEOLMode = IniSectionGetInt(pIniSection,L"DefaultEOLMode",0);
|
||||
iDefaultEOLMode = max(min(iDefaultEOLMode,2),0);
|
||||
g_iDefaultEOLMode = IniSectionGetInt(pIniSection,L"DefaultEOLMode",0);
|
||||
g_iDefaultEOLMode = max(min(g_iDefaultEOLMode,2),0);
|
||||
|
||||
bFixLineEndings = IniSectionGetBool(pIniSection,L"FixLineEndings",TRUE);
|
||||
|
||||
@ -6005,22 +6003,22 @@ void LoadSettings()
|
||||
|
||||
// remove internal support for Chinese, Japan, Korean DBCS use UTF-8 instead
|
||||
/*
|
||||
if (iDefaultEncoding == CPI_ANSI_DEFAULT)
|
||||
if (g_iDefaultEncoding == CPI_ANSI_DEFAULT)
|
||||
{
|
||||
// check for Chinese, Japan, Korean DBCS code pages and switch accordingly
|
||||
int acp = (int)GetACP();
|
||||
if (acp == 932 || acp == 936 || acp == 949 || acp == 950) {
|
||||
iSciDefaultCodePage = acp;
|
||||
}
|
||||
iDefaultEncoding = Encoding_GetByCodePage(iSciDefaultCodePage);
|
||||
g_iDefaultEncoding = Encoding_GetByCodePage(iSciDefaultCodePage);
|
||||
}
|
||||
*/
|
||||
|
||||
// set flag for encoding default
|
||||
g_Encodings[iDefaultEncoding].uFlags |= NCP_DEFAULT;
|
||||
g_Encodings[g_iDefaultEncoding].uFlags |= NCP_DEFAULT;
|
||||
|
||||
// define default charset
|
||||
iDefaultCharSet = (int)CharSetFromCodePage((UINT)iSciDefaultCodePage);
|
||||
g_iDefaultCharSet = (int)CharSetFromCodePage((UINT)iSciDefaultCodePage);
|
||||
|
||||
// Scintilla Styles
|
||||
Style_Load();
|
||||
@ -6103,12 +6101,12 @@ void SaveSettings(BOOL bSaveSettingsNow) {
|
||||
IniSectionSetBool(pIniSection, L"MarkOccurrencesCurrentWord", bMarkOccurrencesCurrentWord);
|
||||
IniSectionSetBool(pIniSection, L"ViewWhiteSpace", bViewWhiteSpace);
|
||||
IniSectionSetBool(pIniSection, L"ViewEOLs", bViewEOLs);
|
||||
IniSectionSetInt(pIniSection, L"DefaultEncoding", Encoding_MapIniSetting(FALSE, iDefaultEncoding));
|
||||
IniSectionSetInt(pIniSection, L"DefaultEncoding", Encoding_MapIniSetting(FALSE, g_iDefaultEncoding));
|
||||
IniSectionSetBool(pIniSection, L"SkipUnicodeDetection", bSkipUnicodeDetection);
|
||||
IniSectionSetInt(pIniSection, L"LoadASCIIasUTF8", bLoadASCIIasUTF8);
|
||||
IniSectionSetBool(pIniSection, L"LoadNFOasOEM", bLoadNFOasOEM);
|
||||
IniSectionSetBool(pIniSection, L"NoEncodingTags", bNoEncodingTags);
|
||||
IniSectionSetInt(pIniSection, L"DefaultEOLMode", iDefaultEOLMode);
|
||||
IniSectionSetInt(pIniSection, L"DefaultEOLMode", g_iDefaultEOLMode);
|
||||
IniSectionSetBool(pIniSection, L"FixLineEndings", bFixLineEndings);
|
||||
IniSectionSetBool(pIniSection, L"FixTrailingBlanks", bAutoStripBlanks);
|
||||
IniSectionSetInt(pIniSection, L"PrintHeader", iPrintHeader);
|
||||
@ -7057,11 +7055,11 @@ void UpdateStatusbar()
|
||||
Encoding_SetLabel(iEncoding);
|
||||
StringCchPrintf(tchEncoding, COUNTOF(tchEncoding), L" %s ", g_Encodings[iEncoding].wchLabel);
|
||||
|
||||
if (iEOLMode == SC_EOL_CR)
|
||||
if (g_iEOLMode == SC_EOL_CR)
|
||||
{
|
||||
StringCchCopy(tchEOLMode, COUNTOF(tchEOLMode), L" CR ");
|
||||
}
|
||||
else if (iEOLMode == SC_EOL_LF)
|
||||
else if (g_iEOLMode == SC_EOL_LF)
|
||||
{
|
||||
StringCchCopy(tchEOLMode, COUNTOF(tchEOLMode), L" LF ");
|
||||
}
|
||||
@ -7435,11 +7433,11 @@ BOOL FileLoad(BOOL bDontSave,BOOL bNew,BOOL bReload,BOOL bNoEncDetect,LPCWSTR lp
|
||||
EditSetNewText(g_hwndEdit,"",0);
|
||||
Style_SetLexer(g_hwndEdit,NULL);
|
||||
|
||||
iEOLMode = iLineEndings[iDefaultEOLMode];
|
||||
SendMessage(g_hwndEdit,SCI_SETEOLMODE,iLineEndings[iDefaultEOLMode],0);
|
||||
Encoding_Current(iDefaultEncoding);
|
||||
Encoding_HasChanged(iDefaultEncoding);
|
||||
Encoding_SciSetCodePage(g_hwndEdit,iDefaultEncoding);
|
||||
g_iEOLMode = iLineEndings[g_iDefaultEOLMode];
|
||||
SendMessage(g_hwndEdit,SCI_SETEOLMODE,iLineEndings[g_iDefaultEOLMode],0);
|
||||
Encoding_Current(g_iDefaultEncoding);
|
||||
Encoding_HasChanged(g_iDefaultEncoding);
|
||||
Encoding_SciSetCodePage(g_hwndEdit,g_iDefaultEncoding);
|
||||
EditSetNewText(g_hwndEdit,"",0);
|
||||
|
||||
bReadOnly = FALSE;
|
||||
@ -7505,16 +7503,16 @@ BOOL FileLoad(BOOL bDontSave,BOOL bNew,BOOL bReload,BOOL bNoEncDetect,LPCWSTR lp
|
||||
FileVars_Init(NULL,0,&fvCurFile);
|
||||
EditSetNewText(g_hwndEdit,"",0);
|
||||
Style_SetLexer(g_hwndEdit,NULL);
|
||||
iEOLMode = iLineEndings[iDefaultEOLMode];
|
||||
SendMessage(g_hwndEdit,SCI_SETEOLMODE,iLineEndings[iDefaultEOLMode],0);
|
||||
if (Encoding_Source(CPI_GET) != CPI_NONE) {
|
||||
fileEncoding = Encoding_Source(CPI_GET);
|
||||
g_iEOLMode = iLineEndings[g_iDefaultEOLMode];
|
||||
SendMessage(g_hwndEdit,SCI_SETEOLMODE,iLineEndings[g_iDefaultEOLMode],0);
|
||||
if (Encoding_SrcCmdLn(CPI_GET) != CPI_NONE) {
|
||||
fileEncoding = Encoding_SrcCmdLn(CPI_GET);
|
||||
Encoding_Current(fileEncoding);
|
||||
Encoding_HasChanged(fileEncoding);
|
||||
}
|
||||
else {
|
||||
Encoding_Current(iDefaultEncoding);
|
||||
Encoding_HasChanged(iDefaultEncoding);
|
||||
Encoding_Current(g_iDefaultEncoding);
|
||||
Encoding_HasChanged(g_iDefaultEncoding);
|
||||
}
|
||||
Encoding_SciSetCodePage(g_hwndEdit,Encoding_Current(CPI_GET));
|
||||
bReadOnly = FALSE;
|
||||
@ -7532,12 +7530,12 @@ BOOL FileLoad(BOOL bDontSave,BOOL bNew,BOOL bReload,BOOL bNoEncDetect,LPCWSTR lp
|
||||
if (!bReload && MRU_FindFile(pFileMRU,szFileName,&idx)) {
|
||||
fileEncoding = pFileMRU->iEncoding[idx];
|
||||
if (fileEncoding > 0)
|
||||
Encoding_Source(Encoding_MapUnicode(fileEncoding));
|
||||
Encoding_SrcCmdLn(Encoding_MapUnicode(fileEncoding));
|
||||
}
|
||||
else
|
||||
fileEncoding = Encoding_Current(CPI_GET);
|
||||
|
||||
fSuccess = FileIO(TRUE,szFileName,bNoEncDetect,&fileEncoding,&iEOLMode,&bUnicodeErr,&bFileTooBig,&bUnknownExt,NULL,FALSE);
|
||||
fSuccess = FileIO(TRUE,szFileName,bNoEncDetect,&fileEncoding,&g_iEOLMode,&bUnicodeErr,&bFileTooBig,&bUnknownExt,NULL,FALSE);
|
||||
if (fSuccess)
|
||||
Encoding_Current(fileEncoding); // load may change encoding
|
||||
}
|
||||
@ -7552,7 +7550,7 @@ BOOL FileLoad(BOOL bDontSave,BOOL bNew,BOOL bReload,BOOL bNoEncDetect,LPCWSTR lp
|
||||
if (!flagLexerSpecified) // flag will be cleared
|
||||
Style_SetLexerFromFile(g_hwndEdit,g_wchCurFile);
|
||||
|
||||
SendMessage(g_hwndEdit,SCI_SETEOLMODE,iEOLMode,0);
|
||||
SendMessage(g_hwndEdit,SCI_SETEOLMODE,g_iEOLMode,0);
|
||||
fileEncoding = Encoding_Current(CPI_GET);
|
||||
Encoding_HasChanged(fileEncoding);
|
||||
int idx, iCaretPos = 0;
|
||||
@ -7642,6 +7640,7 @@ BOOL FileRevert(LPCWSTR szFileName)
|
||||
//BOOL bIsTail = (iCurPos == iAnchorPos) && (iCurPos == SendMessage(g_hwndEdit, SCI_GETLENGTH, 0, 0));
|
||||
BOOL bIsTail = (iCurPos == iAnchorPos) && (iCurrLine >= (SciCall_GetLineCount() - 1));
|
||||
|
||||
|
||||
Encoding_SrcWeak(Encoding_Current(CPI_GET));
|
||||
|
||||
WCHAR tchFileName2[MAX_PATH] = { L'\0' };
|
||||
@ -7759,7 +7758,7 @@ BOOL FileSave(BOOL bSaveAlways,BOOL bAsk,BOOL bSaveAs,BOOL bSaveCopy)
|
||||
if (SaveFileDlg(g_hwndMain,tchFile,COUNTOF(tchFile),tchInitialDir))
|
||||
{
|
||||
int fileEncoding = Encoding_Current(CPI_GET);
|
||||
fSuccess = FileIO(FALSE, tchFile, FALSE, &fileEncoding, &iEOLMode, NULL, NULL, NULL, &bCancelDataLoss, bSaveCopy);
|
||||
fSuccess = FileIO(FALSE, tchFile, FALSE, &fileEncoding, &g_iEOLMode, NULL, NULL, NULL, &bCancelDataLoss, bSaveCopy);
|
||||
//~if (fSuccess) Encoding_Current(fileEncoding); // save should not change encoding
|
||||
if (fSuccess)
|
||||
{
|
||||
@ -7786,7 +7785,7 @@ BOOL FileSave(BOOL bSaveAlways,BOOL bAsk,BOOL bSaveAs,BOOL bSaveCopy)
|
||||
}
|
||||
else {
|
||||
int fileEncoding = Encoding_Current(CPI_GET);
|
||||
fSuccess = FileIO(FALSE,g_wchCurFile,FALSE,&fileEncoding,&iEOLMode,NULL,NULL,NULL,&bCancelDataLoss,FALSE);
|
||||
fSuccess = FileIO(FALSE,g_wchCurFile,FALSE,&fileEncoding,&g_iEOLMode,NULL,NULL,NULL,&bCancelDataLoss,FALSE);
|
||||
//~if (fSuccess) Encoding_Current(fileEncoding); // save should not change encoding
|
||||
}
|
||||
|
||||
@ -7825,7 +7824,7 @@ BOOL FileSave(BOOL bSaveAlways,BOOL bAsk,BOOL bSaveAs,BOOL bSaveCopy)
|
||||
if (GetTempPath(MAX_PATH,lpTempPathBuffer) &&
|
||||
GetTempFileName(lpTempPathBuffer,TEXT("NP3"),0,szTempFileName)) {
|
||||
int fileEncoding = Encoding_Current(CPI_GET);
|
||||
if (FileIO(FALSE,szTempFileName,FALSE,&fileEncoding,&iEOLMode,NULL,NULL,NULL,&bCancelDataLoss,TRUE)) {
|
||||
if (FileIO(FALSE,szTempFileName,FALSE,&fileEncoding,&g_iEOLMode,NULL,NULL,NULL,&bCancelDataLoss,TRUE)) {
|
||||
//~Encoding_Current(fileEncoding); // save should not change encoding
|
||||
WCHAR szArguments[2048] = { L'\0' };
|
||||
LPWSTR lpCmdLine = GetCommandLine();
|
||||
|
||||
@ -2987,7 +2987,7 @@ static int g_cxStyleSelectDlg;
|
||||
static int g_cyStyleSelectDlg;
|
||||
|
||||
|
||||
extern int iDefaultCharSet;
|
||||
extern int g_iDefaultCharSet;
|
||||
extern BOOL bHiliteCurrentLine;
|
||||
extern BOOL bHyperlinkHotspot;
|
||||
|
||||
@ -5112,9 +5112,9 @@ BOOL Style_SelectFont(HWND hwnd,LPWSTR lpszStyle,int cchStyle, LPCWSTR sLexerNam
|
||||
}
|
||||
}
|
||||
|
||||
int iCharSet = iDefaultCharSet;
|
||||
int iCharSet = g_iDefaultCharSet;
|
||||
if (!Style_StrGetCharSet(lpszStyle, &iCharSet)) {
|
||||
iCharSet = iDefaultCharSet;
|
||||
iCharSet = g_iDefaultCharSet;
|
||||
}
|
||||
|
||||
// is "size:" definition relative ?
|
||||
@ -5261,7 +5261,7 @@ BOOL Style_SelectFont(HWND hwnd,LPWSTR lpszStyle,int cchStyle, LPCWSTR sLexerNam
|
||||
if (bGlobalDefaultStyle &&
|
||||
(lf.lfCharSet != DEFAULT_CHARSET) &&
|
||||
(lf.lfCharSet != ANSI_CHARSET) &&
|
||||
(lf.lfCharSet != iDefaultCharSet)) {
|
||||
(lf.lfCharSet != g_iDefaultCharSet)) {
|
||||
if (lf.lfCharSet == iCharSet) {
|
||||
if (StrStrI(lpszStyle, L"charset:"))
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user