[NOTEPAD] Prioritize ASCII over UTF-8 (#2006)

CORE-16467
This commit is contained in:
Katayama Hirofumi MZ
2019-11-01 04:41:48 +09:00
committed by GitHub
parent 1f80221ce5
commit 142d16c8a0

View File

@@ -48,6 +48,19 @@ static BOOL Append(LPWSTR *ppszText, DWORD *pdwTextLen, LPCWSTR pszAppendText, D
return TRUE;
}
BOOL IsTextNonZeroASCII(const void *pText, DWORD dwSize)
{
const signed char *pBytes = pText;
while (dwSize-- > 0)
{
if (*pBytes <= 0)
return FALSE;
++pBytes;
}
return TRUE;
}
ENCODING AnalyzeEncoding(const char *pBytes, DWORD dwSize)
{
INT flags = IS_TEXT_UNICODE_STATISTICS;
@@ -55,6 +68,11 @@ ENCODING AnalyzeEncoding(const char *pBytes, DWORD dwSize)
if (dwSize <= 1)
return ENCODING_ANSI;
if (IsTextNonZeroASCII(pBytes, dwSize))
{
return ENCODING_ANSI;
}
if (IsTextUnicode(pBytes, dwSize, &flags))
{
return ENCODING_UTF16LE;