diff --git a/src/Edit.c b/src/Edit.c index 0157a7ba7..103413937 100644 --- a/src/Edit.c +++ b/src/Edit.c @@ -97,6 +97,7 @@ extern bool bForceLoadASCIIasUTF8; extern bool bLoadNFOasOEM; extern bool bNoEncodingTags; extern bool g_bUseLimitedAutoCCharSet; +extern bool g_bIsCJKInputCodePage; extern bool g_bAutoCompleteWords; extern bool g_bAutoCLexerKeyWords; @@ -364,10 +365,11 @@ void EditInitWordDelimiter(HWND hwnd) IniGetString(L"Settings2", L"AutoCompleteWordCharSet", L"", buffer, COUNTOF(buffer)); if (StringCchLen(buffer, COUNTOF(buffer)) > 0) { - g_bUseLimitedAutoCCharSet = true; WideCharToMultiByteStrg(Encoding_SciCP, buffer, AutoCompleteWordCharSet); + g_bUseLimitedAutoCCharSet = true; } else { WideCharToMultiByteStrg(Encoding_SciCP, W_AUTOC_WORD_ANSI1252, AutoCompleteWordCharSet); + g_bUseLimitedAutoCCharSet = false; } // construct wide char arrays @@ -375,7 +377,6 @@ void EditInitWordDelimiter(HWND hwnd) //MultiByteToWideChar(Encoding_SciCP, 0, DelimCharsAccel, -1, W_DelimCharsAccel, COUNTOF(W_DelimCharsAccel)); //MultiByteToWideChar(Encoding_SciCP, 0, WhiteSpaceCharsDefault, -1, W_WhiteSpaceCharsDefault, COUNTOF(W_WhiteSpaceCharsDefault)); //MultiByteToWideChar(Encoding_SciCP, 0, WhiteSpaceCharsAccelerated, -1, W_WhiteSpaceCharsAccelerated, COUNTOF(W_WhiteSpaceCharsAccelerated)); - } @@ -6570,8 +6571,9 @@ void EditCompleteWord(HWND hwnd, bool autoInsert) { UNUSED(hwnd); - char const* const pchAllowdWordChars = (g_bUseLimitedAutoCCharSet ? AutoCompleteWordCharSet : - (g_bAccelWordNavigation ? WordCharsAccelerated : WordCharsDefault)); + char const* const pchAllowdWordChars = ((g_bIsCJKInputCodePage || g_bUseLimitedAutoCCharSet) ? + AutoCompleteWordCharSet : + (g_bAccelWordNavigation ? WordCharsAccelerated : WordCharsDefault)); DocPos const iCurrentPos = SciCall_GetCurrentPos(); DocLn const iLine = SciCall_LineFromPosition(iCurrentPos); diff --git a/src/Encoding.c b/src/Encoding.c index cc22fbf17..c04274395 100644 --- a/src/Encoding.c +++ b/src/Encoding.c @@ -49,7 +49,7 @@ int g_DOSEncoding = CPI_NONE; bool g_bForceCompEncDetection = false; extern HMODULE g_hLngResContainer; -extern bool g_bUseLimitedAutoCCharSet; +extern bool g_bIsCJKInputCodePage; // ============================================================================ @@ -136,7 +136,7 @@ void Encoding_InitDefaults() assert(g_Encodings[CPI_ANSI_DEFAULT].uCodePage == ansiInputCP); StringCchPrintf(wchANSI, COUNTOF(wchANSI), L" (CP-%u)", ansiInputCP); - g_bUseLimitedAutoCCharSet = IsDBCSCodePage(Scintilla_InputCodePage()); + g_bIsCJKInputCodePage = IsDBCSCodePage(Scintilla_InputCodePage()); for (int i = CPI_UTF7 + 1; i < Encoding_CountOf(); ++i) { if (Encoding_IsValid(i) && (g_Encodings[i].uCodePage == g_Encodings[CPI_ANSI_DEFAULT].uCodePage)) { diff --git a/src/Notepad3.c b/src/Notepad3.c index b529f926f..9e030e49b 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -258,6 +258,7 @@ int iCurrentLineHorizontalSlop = 0; int iCurrentLineVerticalSlop = 0; bool g_bChasingDocTail = false; bool g_bUseLimitedAutoCCharSet = false; +bool g_bIsCJKInputCodePage = false; CALLTIPTYPE g_CallTipType = CT_NONE; @@ -1515,7 +1516,7 @@ LRESULT CALLBACK MainWndProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam) break; case WM_INPUTLANGCHANGE: - g_bUseLimitedAutoCCharSet = IsDBCSCodePage(Scintilla_InputCodePage()); + g_bIsCJKInputCodePage = IsDBCSCodePage(Scintilla_InputCodePage()); break; default: diff --git a/src/StyleLexers/styleLexStandard.c b/src/StyleLexers/styleLexStandard.c index 6a82b0c73..0de96454f 100644 --- a/src/StyleLexers/styleLexStandard.c +++ b/src/StyleLexers/styleLexStandard.c @@ -48,7 +48,7 @@ SCLEX_NULL, IDS_LEX_STR_63266, L"2nd Default Text", L"txt; text; wtx; log; asc; EDITLEXER lexANSI = { SCLEX_NULL, IDS_LEX_ANSI_ART, L"ANSI Art", L"nfo; diz", L"", &KeyWords_NULL,{ - { STYLE_DEFAULT, IDS_LEX_STR_63126, L"Default", L"font:Lucida Console; none; size:10.5", L"" }, + { STYLE_DEFAULT, IDS_LEX_STR_63126, L"Default", L"font:Lucida Console; none; size:11", L"" }, { STYLE_LINENUMBER, IDS_LEX_STD_MARGIN, L"Margins and Line Numbers", L"font:Lucida Console; size:-2", L"" }, { STYLE_BRACELIGHT, IDS_LEX_STD_BRACE, L"Matching Braces", L"size:+0", L"" }, { STYLE_BRACEBAD, IDS_LEX_STD_BRACE_FAIL, L"Matching Braces Error", L"size:+0", L"" },