mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-17 21:03:19 +08:00
Merge pull request #1002 from RaiKoHoff/Dev_UCHARDET
Make international language menu (language independent)
This commit is contained in:
commit
4f9af7f974
@ -212,6 +212,9 @@ EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "language", "language", "{8FD783D5-8709-432D-A88E-6E3073AFF220}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "language", "language", "{8C28F8E6-5B4E-4233-B5C7-5A903596AEB2}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
language\language_menus.hpp = language\language_menus.hpp
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
||||
@ -1 +1 @@
|
||||
1648
|
||||
1650
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
@ -149,8 +149,8 @@ static const EncodingInfo kEncodingInfoTable[] = {
|
||||
{ "ISO-2022-KR", "ISO-2022-KR", KOREAN_EUC_KR},
|
||||
// due to potential confusion with HTML syntax chars
|
||||
{ "GBK", "GBK", GBK},
|
||||
{ "GB18030", "GB18030", GBK},
|
||||
// because gb18030 is not widely supported
|
||||
{ "GB18030", "GB18030", GB18030},
|
||||
// { "GB18030", "GB18030", GBK}, // because gb18030 is not widely supported
|
||||
{ "BIG5_HKSCS", "BIG5-HKSCS", CHINESE_BIG5},
|
||||
// because Big5-HKSCS is not widely supported
|
||||
{ "ISO_2022_CN", "ISO-2022-CN", CHINESE_GB},
|
||||
|
||||
23
language/language_menus.hpp
Normal file
23
language/language_menus.hpp
Normal file
@ -0,0 +1,23 @@
|
||||
#ifndef _LANGUAGE_MENUS_H_
|
||||
#define _LANGUAGE_MENUS_H_
|
||||
|
||||
static LNG_MENU_T s_LanguageMenu[] =
|
||||
{
|
||||
{ MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), L"English (United States)\t\t\t[%s]" },
|
||||
{ MAKELANGID(LANG_AFRIKAANS, SUBLANG_AFRIKAANS_SOUTH_AFRICA), L"Afrikaans (Suid-Afrika)\t\t\t[%s]" },
|
||||
{ MAKELANGID(LANG_BELARUSIAN, SUBLANG_BELARUSIAN_BELARUS), L"Беларускі (Беларусь)\t\t\t[%s]" },
|
||||
{ MAKELANGID(LANG_GERMAN, SUBLANG_GERMAN), L"Deutsch (Deutschland)\t\t\t[%s]" },
|
||||
{ MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_UK), L"English (United Kingdom)\t\t\t[%s]" },
|
||||
{ MAKELANGID(LANG_SPANISH, SUBLANG_SPANISH_MODERN), L"Español (España)\t\t\t[%s]" },
|
||||
{ MAKELANGID(LANG_FRENCH, SUBLANG_FRENCH), L"Français (France)\t\t\t[%s]" },
|
||||
{ MAKELANGID(LANG_HUNGARIAN, SUBLANG_HUNGARIAN_HUNGARY), L"Magyar (Magyarország)\t\t\t[%s]" },
|
||||
{ MAKELANGID(LANG_ITALIAN, SUBLANG_ITALIAN), L"Italiano (Italia)\t\t\t[%s]" },
|
||||
{ MAKELANGID(LANG_JAPANESE, SUBLANG_JAPANESE_JAPAN), L"日本語(日本)\t\t\t[%s]" },
|
||||
{ MAKELANGID(LANG_KOREAN, SUBLANG_KOREAN), L"한국어 (대한민국)\t\t\t[%s]" },
|
||||
{ MAKELANGID(LANG_DUTCH, SUBLANG_DUTCH), L"Nederlands (Nederland)\t\t\t[%s]" },
|
||||
{ MAKELANGID(LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN), L"Português (Brasil)\t\t\t[%s]" },
|
||||
{ MAKELANGID(LANG_RUSSIAN, SUBLANG_RUSSIAN_RUSSIA), L"Русский (Pоссия)\t\t\t[%s]" },
|
||||
{ MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED), L"中文(汉斯)\t\t\t[%s]" }
|
||||
};
|
||||
|
||||
#endif //_LANGUAGE_MENUS_H_
|
||||
@ -200,21 +200,6 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MUI_MENU_LANGUAGE "Taal"
|
||||
IDS_MUI_LANG_EN_US "Engels (Verenigde State)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_AF_ZA "Afrikaans (Suid-Afrika)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_BE_BY "Wit-Russies (Wit-Rusland)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_DE_DE "Duits (Duitsland)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_EN_GB "Engels (Verenigde Koninkryk)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ES_ES "Spaans (Spanje)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_FR_FR "Frans (Frankryk)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_HU_HU "Hongaars (Hongarye)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_IT_IT "Italiaans (Italië)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_JP_JP "Japannese (Japan)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_KO_KR "Koreaanse (Korea)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_NL_NL "Afrikaans (Nederland)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_PT_BR "Portugees (Brasilië)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_RU_RU "Russies (Rusland)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ZH_CN "Sjinees (Hans)\t\t\t[%s]"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -201,21 +201,6 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MUI_MENU_LANGUAGE "Ìîâû"
|
||||
IDS_MUI_LANG_EN_US "Àíãë³éñêàÿ (ÇØÀ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_AF_ZA "Àôðûêààíñ (Ïà¢äí¸âàÿ Àôðûêà)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_BE_BY "Áåëàðóñê³ (Áåëàðóñü)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_DE_DE "Íÿìåöêàÿ (Ãåðìàí³ÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_EN_GB "Àíãë³éñêàÿ (Âÿë³êàáðûòàí³ÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ES_ES "²ñïàíñê³ (²ñïàí³ÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_FR_FR "Ôðàíöóçñêàÿ (Ôðàíöûÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_HU_HU "Âåíãåðñêàÿ (Âåíãðûÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_IT_IT "²òàëüÿíñê³ (³òàë³ÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_JP_JP "ßïîíñê³ (ßïîí³ÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_KO_KR "Êàðýéñêàÿ (Êàðýÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_NL_NL "Ãàëàíäñê³ (ͳäýðëàíäû)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_PT_BR "Ïàðòóãàëüñêàÿ (Áðàç³ë³ÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_RU_RU "Ðàñ³³ (Ðàñ³ÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ZH_CN "ʳòàéñê³ (Hans)\t\t\t[%s]"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
@ -120,7 +120,7 @@
|
||||
<Message>MUI Split</Message>
|
||||
</PostBuildEvent>
|
||||
<ResourceCompile>
|
||||
<Culture>0x0423</Culture>
|
||||
<Culture>0x0407</Culture>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir)..\..\res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
@ -146,7 +146,7 @@
|
||||
<Message>MUI Split</Message>
|
||||
</PostBuildEvent>
|
||||
<ResourceCompile>
|
||||
<Culture>0x0423</Culture>
|
||||
<Culture>0x0407</Culture>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir)..\..\res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
@ -178,7 +178,7 @@
|
||||
<Message>MUI Split</Message>
|
||||
</PostBuildEvent>
|
||||
<ResourceCompile>
|
||||
<Culture>0x0423</Culture>
|
||||
<Culture>0x0407</Culture>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir)..\..\res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
@ -210,7 +210,7 @@
|
||||
<Message>MUI Split</Message>
|
||||
</PostBuildEvent>
|
||||
<ResourceCompile>
|
||||
<Culture>0x0423</Culture>
|
||||
<Culture>0x0407</Culture>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir)..\..\res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
@ -201,21 +201,6 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MUI_MENU_LANGUAGE "Sprache"
|
||||
IDS_MUI_LANG_EN_US "Englisch (Vereinigte Staaten)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_AF_ZA "Afrikaans (Südafrika)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_BE_BY "Weißrussisch (Weißrussland)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_DE_DE "Deutsch (Deutschland)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_EN_GB "Englisch (Vereinigtes Königreich)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ES_ES "Spanisch (Spanien)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_FR_FR "Französisch (Frankreich)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_HU_HU "Ungarisch (Ungarn)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_IT_IT "Italienisch (Italien)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_JP_JP "Japanisch (Japan)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_KO_KR "Koreanisch (Korea)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_NL_NL "Niederländisch (Niederlande)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_PT_BR "Portugiesisch (Brasilien)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_RU_RU "Russisch (Russland)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ZH_CN "Chinesisch (Hans)\t\t\t[%s]"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -229,21 +229,6 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MUI_MENU_LANGUAGE "Language"
|
||||
IDS_MUI_LANG_EN_US "English (United States)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_AF_ZA "Afrikaans (South Africa)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_BE_BY "Belarusian (Belarus)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_DE_DE "German (Germany)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_EN_GB "English (United Kingdom)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ES_ES "Spanish (Spain)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_FR_FR "French (France)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_HU_HU "Hungarian (Hungary)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_IT_IT "Italian (Italy)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_JP_JP "Japanese (Japan)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_KO_KR "Korean (Korea)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_NL_NL "Dutch (Netherlands)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_PT_BR "Portuguese (Brazil)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_RU_RU "Russian (Russia)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ZH_CN "Chinese (Hans)\t\t\t[%s]"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -229,21 +229,6 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MUI_MENU_LANGUAGE "Language"
|
||||
IDS_MUI_LANG_EN_US "English (United States)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_AF_ZA "Afrikaans (South Africa)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_BE_BY "Belarusian (Belarus)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_DE_DE "German (Germany)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_EN_GB "English (United Kingdom)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ES_ES "Spanish (Spain)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_FR_FR "French (France)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_HU_HU "Hungarian (Hungary)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_IT_IT "Italian (Italy)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_JP_JP "Japanese (Japan)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_KO_KR "Korean (Korea)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_NL_NL "Dutch (Netherlands)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_PT_BR "Portuguese (Brazil)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_RU_RU "Russian (Russia)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ZH_CN "Chinese (Hans)\t\t\t[%s]"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -201,21 +201,6 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MUI_MENU_LANGUAGE "Idioma"
|
||||
IDS_MUI_LANG_EN_US "Inglés (Estados Unidos)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_AF_ZA "Afrikáans (Sudáfrica)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_BE_BY "Bielorruso (Belarús)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_DE_DE "Alemán (Alemania)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_EN_GB "Inglés (Reino Unido)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ES_ES "Español (España)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_FR_FR "Francés (Francia)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_HU_HU "Húngaro (Hungría)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_IT_IT "Italiano (Italia)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_JP_JP "Japonés (Japón)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_KO_KR "Coreano (Corea)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_NL_NL "Holandés (Países Bajos)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_PT_BR "Portugués (Brasil)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_RU_RU "Ruso (Rusia)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ZH_CN "Chino (Hans)\t\t\t[%s]"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -199,21 +199,6 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MUI_MENU_LANGUAGE "Langue"
|
||||
IDS_MUI_LANG_EN_US "Anglais (États-Unis)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_AF_ZA "Afrikaans (Afrique du Sud)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_BE_BY "Biélorusse (Biélorussie)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_DE_DE "Allemand (Allemagne)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_EN_GB "Anglais (Royaume Uni)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ES_ES "Espagnol (Espagne)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_FR_FR "Français (France)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_HU_HU "Hongrois (Hongrie)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_IT_IT "Italien (Italie)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_JP_JP "Japonais (Japon)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_KO_KR "Coréen (Corée)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_NL_NL "Néerlandais (Pays-Bas)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_PT_BR "Portugais (Brésil)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_RU_RU "Russe (Russie)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ZH_CN "Chinois (Hans)\t\t\t[%s]"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -229,21 +229,6 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MUI_MENU_LANGUAGE "Nyelv"
|
||||
IDS_MUI_LANG_EN_US "Angol (Egyesült Államok)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_AF_ZA "Afrikaans (Dél-Afrika)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_BE_BY "Fehéroroszország (Fehéroroszország)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_DE_DE "Német (Németország)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_EN_GB "Angol Egyesült Királyság)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ES_ES "Spanyol (Spanyolország)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_FR_FR "Francia (Franciaország)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_HU_HU "Magyar (Magyarország)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_IT_IT "Olasz (Olaszország)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_JP_JP "Japán (Japán)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_KO_KR "Koreai (koreai)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_NL_NL "Holland (Hollandia)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_PT_BR "Portugál (Brazília)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_RU_RU "Orosz (Oroszország)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ZH_CN "Kínai (Hans)\t\t\t[%s]"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -229,21 +229,6 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MUI_MENU_LANGUAGE "Lingua"
|
||||
IDS_MUI_LANG_EN_US "Inglese (Stati Uniti)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_AF_ZA "Afrikaans (Sudafrica)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_BE_BY "Bielorusso (Bielorussia)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_DE_DE "Tedesco (Germania)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_EN_GB "Inglese (Regno Unito)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ES_ES "Spagnolo (Spagna)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_FR_FR "Francese (Francia)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_HU_HU "Ungherese (Ungheria)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_IT_IT "Italiano (Italia)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_JP_JP "Giapponese (Giappone)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_KO_KR "Coreano (coreana\t\t\t[%s]"
|
||||
IDS_MUI_LANG_NL_NL "Olandese (Paesi Bassi)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_PT_BR "Portoghese (Brasile)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_RU_RU "Russo (Russia)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ZH_CN "Cinese (Hans)\t\t\t[%s]"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -201,21 +201,6 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MUI_MENU_LANGUAGE "Œ¾Œê"
|
||||
IDS_MUI_LANG_EN_US "英語(アメリカ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_AF_ZA "アフリカーンス語(南アフリカ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_BE_BY "ベラルーシ語(ベラルーシ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_DE_DE "ドイツ語(ドイツ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_EN_GB "英語(イギリス)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ES_ES "スペイン語(スペイン)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_FR_FR "フランス語(フランス)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_HU_HU "ハンガリー語(ハンガリー)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_IT_IT "イタリア語(イタリア)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_JP_JP "日本語(日本)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_KO_KR "韓国語(韓国)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_NL_NL "オランダ語(オランダ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_PT_BR "ポルトガル語(ブラジル)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_RU_RU "ロシア語(ロシア)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ZH_CN "中国語(ハンス)\t\t\t[%s]"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -221,21 +221,6 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MUI_MENU_LANGUAGE "나라말"
|
||||
IDS_MUI_LANG_EN_US "영어 (미국)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_AF_ZA "아프리칸스 (남아프리카 공화국)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_BE_BY "벨로루시어 (벨로루시)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_DE_DE "독일어 (독일)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_EN_GB "영어 (영국)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ES_ES "스페인어 (스페인)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_FR_FR "프랑스어 (프랑스)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_HU_HU "헝가리어 (헝가리)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_IT_IT "이탈리아어 (이탈리아)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_JP_JP "일본어 (일본)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_KO_KR "한국어 (대한민국)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_NL_NL "네덜란드어 (네덜란드)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_PT_BR "포르투갈어 (브라질)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_RU_RU "러시아어 (러시아)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ZH_CN "중국어 (한어)\t\t\t[%s]"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -201,21 +201,6 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MUI_MENU_LANGUAGE "Taal"
|
||||
IDS_MUI_LANG_EN_US "Engels (Verenigde Staten)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_AF_ZA "Afrikaans (Zuid-Afrika)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_BE_BY "Wit-Russisch (Wit-Rusland)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_DE_DE "Duits (Duitsland)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_EN_GB "Engels (Verenigd Koninkrijk)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ES_ES "Spaans (Spanje)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_FR_FR "Frans (Frankrijk)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_HU_HU "Hongaars (Hongarije)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_IT_IT "Italiaans (Italië)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_JP_JP "Japans (Japan)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_KO_KR "Koreaans (Korea)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_NL_NL "Nederlands (Nederland)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_PT_BR "Portugees (Brazilië)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_RU_RU "Russisch (Rusland)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ZH_CN "Chinees (Hans)\t\t\t[%s]"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -229,21 +229,6 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MUI_MENU_LANGUAGE "Língua"
|
||||
IDS_MUI_LANG_EN_US "Inglês (Estados Unidos)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_AF_ZA "Afrikaans (África do Sul)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_BE_BY "Bielorrusso (Bielorrússia)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_DE_DE "Alemanha (Alemã)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_EN_GB "Inglês (Reino Unido)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ES_ES "Espanhol (Espanha)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_FR_FR "Francês França)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_HU_HU "Húngaro (Hungria)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_IT_IT "Italiano (Itália)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_JP_JP "Japonês (Japão)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_KO_KR "Coreano (Coréia)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_NL_NL "Holandês (Holanda)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_PT_BR "Português (Brasil)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_RU_RU "Russo (Rússia)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ZH_CN "Chinês (Hans)\t\t\t[%s]"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -201,21 +201,6 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MUI_MENU_LANGUAGE "ßçûê"
|
||||
IDS_MUI_LANG_EN_US "Àíãëèéñêèé Ñîåäèíåííûå Øòàòû)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_AF_ZA "Àôðèêààíñ (Þæíàÿ Àôðèêà)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_BE_BY "Áåëîðóññêèé (Áåëàðóñü)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_DE_DE "Íåìåöêèé (ãåðìàíèÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_EN_GB "Àíãëèéñêèé (Âåëèêîáðèòàíèÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ES_ES "Èñïàíñêèé (Èñïàíèÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_FR_FR "Ôðàíöóçñêèé (ôðàíöèÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_HU_HU "Âåíãåðñêèé (Âåíãðèÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_IT_IT "Èòàëüÿíñêèé (èòàëèÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_JP_JP "ßïîíñêèé (ÿïîíèÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_KO_KR "Êîðåéñêèé (Kîðåÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_NL_NL "Ãîëëàíäñêèé (Íèäåðëàíäû)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_PT_BR "Ïîðòóãàëüñêèé (Áðàçèëèÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_RU_RU "Ðóññêèé (Pîññèÿ)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ZH_CN "Êèòàéñêèé (Ãàíñ)\t\t\t[%s]"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -201,21 +201,6 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MUI_MENU_LANGUAGE "ÓïÑÔ"
|
||||
IDS_MUI_LANG_EN_US "英语(美国)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_AF_ZA "南非荷兰语(南非)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_BE_BY "B白俄罗斯(白俄罗斯)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_DE_DE "德语(德国)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_EN_GB "英语(英国)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ES_ES "西班牙语(西班牙\t\t\t[%s]"
|
||||
IDS_MUI_LANG_FR_FR "法国(法国)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_HU_HU "匈牙利语(匈牙利)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_IT_IT "意大利(意大利)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_JP_JP "日本(日本)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_KO_KR "韩国(韩国)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_NL_NL "荷兰(荷兰)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_PT_BR "葡萄牙语(巴西)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_RU_RU "俄罗斯(俄罗斯)\t\t\t[%s]"
|
||||
IDS_MUI_LANG_ZH_CN "中文(汉斯)\t\t\t[%s]"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<assemblyIdentity
|
||||
name="Notepad3"
|
||||
processorArchitecture="*"
|
||||
version="5.19.307.1648"
|
||||
version="5.19.308.1650"
|
||||
type="win32"
|
||||
/>
|
||||
<description>Notepad3 XpErImEnTaL</description>
|
||||
|
||||
@ -50,8 +50,8 @@
|
||||
The source code package contains all of the source code for Scintilla but no binary
|
||||
executable code and is available in
|
||||
<ul>
|
||||
<li><a href="https://www.scintilla.org/scintilla414.zip">zip format</a> (1600K) commonly used on Windows</li>
|
||||
<li><a href="https://www.scintilla.org/scintilla414.tgz">tgz format</a> (1400K) commonly used on Linux and compatible operating systems</li>
|
||||
<li><a href="https://www.scintilla.org/scintilla414.zip">zip format</a> (1700K) commonly used on Windows</li>
|
||||
<li><a href="https://www.scintilla.org/scintilla414.tgz">tgz format</a> (1500K) commonly used on Linux and compatible operating systems</li>
|
||||
</ul>
|
||||
Instructions for building on both Windows and Linux are included in the readme file.
|
||||
<h4>
|
||||
|
||||
@ -835,7 +835,6 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam,
|
||||
#define CARETSTYLE_BLOCK 2
|
||||
#define CARETSTYLE_OVERSTRIKE_BAR 0
|
||||
#define CARETSTYLE_OVERSTRIKE_BLOCK 16
|
||||
#define CARETSTYLE_INS_MASK 0xF
|
||||
#define SCI_SETCARETSTYLE 2512
|
||||
#define SCI_GETCARETSTYLE 2513
|
||||
#define SCI_SETINDICATORCURRENT 2500
|
||||
|
||||
@ -2187,7 +2187,6 @@ val CARETSTYLE_LINE=1
|
||||
val CARETSTYLE_BLOCK=2
|
||||
val CARETSTYLE_OVERSTRIKE_BAR=0
|
||||
val CARETSTYLE_OVERSTRIKE_BLOCK=16
|
||||
val CARETSTYLE_INS_MASK=0xF
|
||||
|
||||
# Set the style of the caret to be drawn.
|
||||
set void SetCaretStyle=2512(int caretStyle,)
|
||||
|
||||
@ -27,6 +27,8 @@
|
||||
#include "Style.h"
|
||||
#include "ViewStyle.h"
|
||||
|
||||
#define CARETSTYLE_INS_MASK 0xF
|
||||
|
||||
using namespace Scintilla;
|
||||
|
||||
MarginStyle::MarginStyle(int style_, int width_, int mask_) :
|
||||
|
||||
@ -8174,9 +8174,7 @@ bool FileVars_IsUTF8(LPFILEVARS lpfv) {
|
||||
//
|
||||
bool FileVars_IsValidEncoding(LPFILEVARS lpfv) {
|
||||
CPINFO cpi;
|
||||
if (lpfv->mask & FV_ENCODING &&
|
||||
lpfv->iEncoding >= 0 &&
|
||||
lpfv->iEncoding < Encoding_CountOf()) {
|
||||
if (lpfv->mask & FV_ENCODING && Encoding_IsValidIdx(lpfv->iEncoding)) {
|
||||
if ((Encoding_IsINTERNAL(lpfv->iEncoding)) ||
|
||||
(IsValidCodePage(Encoding_GetCodePage(lpfv->iEncoding)) &&
|
||||
GetCPInfo(Encoding_GetCodePage(lpfv->iEncoding),&cpi))) {
|
||||
|
||||
@ -48,9 +48,9 @@ WCHAR wchOEM[16] = { L'\0' };
|
||||
|
||||
// ============================================================================
|
||||
|
||||
int Encoding_Current(int iEncoding)
|
||||
cpi_enc_t Encoding_Current(cpi_enc_t iEncoding)
|
||||
{
|
||||
static int CurrentEncoding = CPI_NONE;
|
||||
static cpi_enc_t CurrentEncoding = CPI_NONE;
|
||||
|
||||
if (iEncoding >= 0) {
|
||||
if (Encoding_IsValid(iEncoding))
|
||||
@ -63,9 +63,9 @@ int Encoding_Current(int iEncoding)
|
||||
// ============================================================================
|
||||
|
||||
|
||||
int Encoding_SrcCmdLn(int iSrcEncoding)
|
||||
cpi_enc_t Encoding_SrcCmdLn(cpi_enc_t iSrcEncoding)
|
||||
{
|
||||
static int SourceEncoding = CPI_NONE;
|
||||
static cpi_enc_t SourceEncoding = CPI_NONE;
|
||||
|
||||
if (iSrcEncoding >= 0) {
|
||||
if (Encoding_IsValid(iSrcEncoding))
|
||||
@ -81,9 +81,9 @@ int Encoding_SrcCmdLn(int iSrcEncoding)
|
||||
// ============================================================================
|
||||
|
||||
|
||||
int Encoding_SrcWeak(int iSrcWeakEnc)
|
||||
cpi_enc_t Encoding_SrcWeak(cpi_enc_t iSrcWeakEnc)
|
||||
{
|
||||
static int SourceWeakEncoding = CPI_NONE;
|
||||
static cpi_enc_t SourceWeakEncoding = CPI_NONE;
|
||||
|
||||
if (iSrcWeakEnc >= 0) {
|
||||
if (Encoding_IsValid(iSrcWeakEnc))
|
||||
@ -99,9 +99,9 @@ int Encoding_SrcWeak(int iSrcWeakEnc)
|
||||
// ============================================================================
|
||||
|
||||
|
||||
bool Encoding_HasChanged(int iOriginalEncoding)
|
||||
bool Encoding_HasChanged(cpi_enc_t iOriginalEncoding)
|
||||
{
|
||||
static int OriginalEncoding = CPI_NONE;
|
||||
static cpi_enc_t OriginalEncoding = CPI_NONE;
|
||||
|
||||
if (iOriginalEncoding >= CPI_NONE) {
|
||||
OriginalEncoding = iOriginalEncoding;
|
||||
@ -128,7 +128,7 @@ void Encoding_InitDefaults()
|
||||
|
||||
Globals.bIsCJKInputCodePage = IsDBCSCodePage(Scintilla_InputCodePage());
|
||||
|
||||
for (int i = CPI_UTF7 + 1; i < Encoding_CountOf(); ++i) {
|
||||
for (cpi_enc_t i = CPI_UTF7 + 1; i < Encoding_CountOf(); ++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_EXTERNAL_8BIT)
|
||||
@ -140,7 +140,7 @@ void Encoding_InitDefaults()
|
||||
ChangeEncodingCodePage(CPI_OEM, GetOEMCP()); // set OEM system CP
|
||||
StringCchPrintf(wchOEM, COUNTOF(wchOEM), L" (CP-%u)", g_Encodings[CPI_OEM].uCodePage);
|
||||
|
||||
for (int i = CPI_UTF7 + 1; i < Encoding_CountOf(); ++i) {
|
||||
for (cpi_enc_t i = CPI_UTF7 + 1; i < Encoding_CountOf(); ++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_EXTERNAL_8BIT)
|
||||
@ -150,7 +150,7 @@ void Encoding_InitDefaults()
|
||||
}
|
||||
|
||||
// multi byte character sets
|
||||
for (int i = 0; i < Encoding_CountOf(); ++i) {
|
||||
for (cpi_enc_t i = 0; i < Encoding_CountOf(); ++i) {
|
||||
for (int k = 0; k < COUNTOF(uCodePageMBCS); k++) {
|
||||
if (g_Encodings[i].uCodePage == uCodePageMBCS[k]) {
|
||||
g_Encodings[i].uFlags |= NCP_MBCS;
|
||||
@ -161,7 +161,7 @@ void Encoding_InitDefaults()
|
||||
g_DOSEncoding = CPI_OEM;
|
||||
// Try to set the DOS encoding to DOS-437 if the default OEMCP is not DOS-437
|
||||
if (g_Encodings[g_DOSEncoding].uCodePage != 437) {
|
||||
for (int i = CPI_UTF7 + 1; i < Encoding_CountOf(); ++i) {
|
||||
for (cpi_enc_t i = CPI_UTF7 + 1; i < Encoding_CountOf(); ++i) {
|
||||
if (Encoding_IsValid(i) && (g_Encodings[i].uCodePage == 437)) {
|
||||
g_DOSEncoding = i;
|
||||
break;
|
||||
@ -173,7 +173,8 @@ void Encoding_InitDefaults()
|
||||
// ============================================================================
|
||||
|
||||
|
||||
int Encoding_MapIniSetting(bool bLoad, int iSetting) {
|
||||
cpi_enc_t Encoding_MapIniSetting(bool bLoad, cpi_enc_t iSetting)
|
||||
{
|
||||
if (bLoad) {
|
||||
switch (iSetting) {
|
||||
case -1: return CPI_NONE;
|
||||
@ -187,7 +188,7 @@ int Encoding_MapIniSetting(bool bLoad, int iSetting) {
|
||||
case 7: return CPI_UNICODEBE;
|
||||
case 8: return CPI_UTF7;
|
||||
default: {
|
||||
for (int i = CPI_UTF7 + 1; i < Encoding_CountOf(); i++) {
|
||||
for (cpi_enc_t i = CPI_UTF7 + 1; i < Encoding_CountOf(); i++) {
|
||||
if ((g_Encodings[i].uCodePage == (UINT)iSetting) && Encoding_IsValid(i))
|
||||
return(i);
|
||||
}
|
||||
@ -218,7 +219,7 @@ int Encoding_MapIniSetting(bool bLoad, int iSetting) {
|
||||
// ============================================================================
|
||||
|
||||
|
||||
int Encoding_MapUnicode(int iUni)
|
||||
int Encoding_MapUnicode(cpi_enc_t iUni)
|
||||
{
|
||||
if (iUni == CPI_UNICODEBOM) {
|
||||
return CPI_UNICODE;
|
||||
@ -234,7 +235,7 @@ int Encoding_MapUnicode(int iUni)
|
||||
// ============================================================================
|
||||
|
||||
|
||||
void Encoding_SetLabel(int iEncoding)
|
||||
void Encoding_SetLabel(cpi_enc_t iEncoding)
|
||||
{
|
||||
WCHAR wch1[128] = { L'\0' };
|
||||
GetLngString(g_Encodings[iEncoding].idsName, wch1, COUNTOF(wch1));
|
||||
@ -265,16 +266,16 @@ void Encoding_SetLabel(int iEncoding)
|
||||
// ============================================================================
|
||||
|
||||
|
||||
int Encoding_MatchW(LPCWSTR pwszTest)
|
||||
cpi_enc_t Encoding_MatchW(LPCWSTR pwszTest)
|
||||
{
|
||||
char tchTest[256] = { '\0' };
|
||||
WideCharToMultiByte(CP_ACP, 0, pwszTest, -1, tchTest, COUNTOF(tchTest), NULL, NULL);
|
||||
return(Encoding_MatchA(tchTest));
|
||||
return Encoding_MatchA(tchTest);
|
||||
}
|
||||
// ============================================================================
|
||||
|
||||
|
||||
int Encoding_MatchA(const char *pchTest)
|
||||
cpi_enc_t Encoding_MatchA(const char *pchTest)
|
||||
{
|
||||
char chTestLC[256];
|
||||
chTestLC[0] = ',';
|
||||
@ -282,7 +283,7 @@ int Encoding_MatchA(const char *pchTest)
|
||||
StringCchCatA(chTestLC, 256, pchTest);
|
||||
CharLowerA(chTestLC);
|
||||
StringCchCatA(chTestLC, 256, ","); // parsing incl. comma
|
||||
for (int cpiEncId = 0; cpiEncId < Encoding_CountOf(); cpiEncId++) {
|
||||
for (cpi_enc_t cpiEncId = 0; cpiEncId < Encoding_CountOf(); cpiEncId++) {
|
||||
if (StrStrIA(g_Encodings[cpiEncId].pszParseNames, chTestLC)) {
|
||||
CPINFO cpi;
|
||||
if ((g_Encodings[cpiEncId].uFlags & NCP_INTERNAL) ||
|
||||
@ -298,7 +299,9 @@ int Encoding_MatchA(const char *pchTest)
|
||||
// ============================================================================
|
||||
|
||||
|
||||
int Encoding_GetByCodePage(UINT cp) {
|
||||
|
||||
|
||||
cpi_enc_t Encoding_GetByCodePage(UINT cp) {
|
||||
for (int i = 0; i < Encoding_CountOf(); i++) {
|
||||
if (cp == g_Encodings[i].uCodePage) {
|
||||
return i;
|
||||
@ -309,9 +312,9 @@ int Encoding_GetByCodePage(UINT cp) {
|
||||
// ============================================================================
|
||||
|
||||
|
||||
bool Encoding_IsValid(int iTestEncoding) {
|
||||
bool Encoding_IsValid(cpi_enc_t iTestEncoding) {
|
||||
CPINFO cpi;
|
||||
if ((iTestEncoding >= 0) && (iTestEncoding < Encoding_CountOf())) {
|
||||
if (Encoding_IsValidIdx(iTestEncoding)) {
|
||||
if ((g_Encodings[iTestEncoding].uFlags & NCP_INTERNAL) ||
|
||||
(IsValidCodePage(g_Encodings[iTestEncoding].uCodePage) &&
|
||||
GetCPInfo(g_Encodings[iTestEncoding].uCodePage, &cpi))) {
|
||||
@ -497,92 +500,92 @@ bool Encoding_GetFromComboboxEx(HWND hwnd, int *pidEncoding) {
|
||||
// ============================================================================
|
||||
|
||||
|
||||
UINT Encoding_GetCodePage(const int iEncoding) {
|
||||
UINT Encoding_GetCodePage(const cpi_enc_t iEncoding) {
|
||||
return (iEncoding >= 0) ? g_Encodings[iEncoding].uCodePage : CP_ACP;
|
||||
}
|
||||
// ============================================================================
|
||||
|
||||
bool Encoding_IsDefault(const int iEncoding) {
|
||||
bool Encoding_IsDefault(const cpi_enc_t iEncoding) {
|
||||
return (iEncoding >= 0) ? (g_Encodings[iEncoding].uFlags & NCP_DEFAULT) : false;
|
||||
}
|
||||
// ============================================================================
|
||||
|
||||
bool Encoding_IsANSI(const int iEncoding) {
|
||||
bool Encoding_IsANSI(const cpi_enc_t iEncoding) {
|
||||
return (iEncoding >= 0) ? (g_Encodings[iEncoding].uFlags & NCP_ANSI) : false;
|
||||
}
|
||||
// ============================================================================
|
||||
|
||||
bool Encoding_IsOEM(const int iEncoding) {
|
||||
bool Encoding_IsOEM(const cpi_enc_t iEncoding) {
|
||||
return (iEncoding >= 0) ? (g_Encodings[iEncoding].uFlags & NCP_OEM) : false;
|
||||
}
|
||||
// ============================================================================
|
||||
|
||||
bool Encoding_IsUTF8(const int iEncoding) {
|
||||
bool Encoding_IsUTF8(const cpi_enc_t iEncoding) {
|
||||
return (iEncoding >= 0) ? (g_Encodings[iEncoding].uFlags & NCP_UTF8) : false;
|
||||
}
|
||||
// ============================================================================
|
||||
|
||||
bool Encoding_IsUTF8_SIGN(const int iEncoding) {
|
||||
bool Encoding_IsUTF8_SIGN(const cpi_enc_t iEncoding) {
|
||||
return (iEncoding >= 0) ? (g_Encodings[iEncoding].uFlags & NCP_UTF8_SIGN) : false;
|
||||
}
|
||||
// ============================================================================
|
||||
|
||||
bool Encoding_IsMBCS(const int iEncoding) {
|
||||
bool Encoding_IsMBCS(const cpi_enc_t iEncoding) {
|
||||
return (iEncoding >= 0) ? (g_Encodings[iEncoding].uFlags & NCP_MBCS) : false;
|
||||
}
|
||||
// ============================================================================
|
||||
|
||||
bool Encoding_IsASCII(const int iEncoding) {
|
||||
bool Encoding_IsASCII(const cpi_enc_t iEncoding) {
|
||||
return (iEncoding >= 0) ? (g_Encodings[iEncoding].uFlags & NCP_ASCII_7BIT) : false;
|
||||
}
|
||||
// ============================================================================
|
||||
|
||||
|
||||
bool Encoding_IsUNICODE(const int iEncoding) {
|
||||
bool Encoding_IsUNICODE(const cpi_enc_t iEncoding) {
|
||||
return (iEncoding >= 0) ? (g_Encodings[iEncoding].uFlags & NCP_UNICODE) : false;
|
||||
}
|
||||
// ============================================================================
|
||||
|
||||
bool Encoding_IsUNICODE_BOM(const int iEncoding) {
|
||||
bool Encoding_IsUNICODE_BOM(const cpi_enc_t iEncoding) {
|
||||
return (iEncoding >= 0) ? (g_Encodings[iEncoding].uFlags & NCP_UNICODE_BOM) : false;
|
||||
}
|
||||
// ============================================================================
|
||||
|
||||
bool Encoding_IsUNICODE_REVERSE(const int iEncoding) {
|
||||
bool Encoding_IsUNICODE_REVERSE(const cpi_enc_t iEncoding) {
|
||||
return (iEncoding >= 0) ? (g_Encodings[iEncoding].uFlags & NCP_UNICODE_REVERSE) : false;
|
||||
}
|
||||
// ============================================================================
|
||||
|
||||
|
||||
bool Encoding_IsINTERNAL(const int iEncoding) {
|
||||
bool Encoding_IsINTERNAL(const cpi_enc_t iEncoding) {
|
||||
return (iEncoding >= 0) ? (g_Encodings[iEncoding].uFlags & NCP_INTERNAL) : false;
|
||||
}
|
||||
// ============================================================================
|
||||
|
||||
bool Encoding_IsEXTERNAL_8BIT(const int iEncoding) {
|
||||
bool Encoding_IsEXTERNAL_8BIT(const cpi_enc_t iEncoding) {
|
||||
return (iEncoding >= 0) ? (g_Encodings[iEncoding].uFlags & NCP_EXTERNAL_8BIT) : false;
|
||||
}
|
||||
// ============================================================================
|
||||
|
||||
bool Encoding_IsRECODE(const int iEncoding) {
|
||||
bool Encoding_IsRECODE(const cpi_enc_t iEncoding) {
|
||||
return (iEncoding >= 0) ? (g_Encodings[iEncoding].uFlags & NCP_RECODE) : false;
|
||||
}
|
||||
// ============================================================================
|
||||
|
||||
|
||||
void Encoding_SetDefaultFlag(const int iEncoding) {
|
||||
void Encoding_SetDefaultFlag(const cpi_enc_t iEncoding) {
|
||||
if (iEncoding >= 0)
|
||||
g_Encodings[iEncoding].uFlags |= NCP_DEFAULT;
|
||||
}
|
||||
// ============================================================================
|
||||
|
||||
|
||||
const WCHAR* Encoding_GetLabel(const int iEncoding) {
|
||||
const WCHAR* Encoding_GetLabel(const cpi_enc_t iEncoding) {
|
||||
return (iEncoding >= 0) ? g_Encodings[iEncoding].wchLabel : NULL;
|
||||
}
|
||||
// ============================================================================
|
||||
|
||||
const char* Encoding_GetParseNames(const int iEncoding) {
|
||||
const char* Encoding_GetParseNames(const cpi_enc_t iEncoding) {
|
||||
return (iEncoding >= 0) ? g_Encodings[iEncoding].pszParseNames : NULL;
|
||||
}
|
||||
// ============================================================================
|
||||
|
||||
@ -57,17 +57,18 @@ extern bool g_bForceCompEncDetection;
|
||||
|
||||
#define Encoding_IsNONE(enc) ((enc) == CPI_NONE)
|
||||
|
||||
//typedef intptr_t cpi_enc_t;
|
||||
typedef int cpi_enc_t;
|
||||
|
||||
typedef struct _np2encoding {
|
||||
UINT uFlags;
|
||||
UINT uCodePage;
|
||||
const char* pszParseNames;
|
||||
int idsName;
|
||||
int iCEDEncoding;
|
||||
WCHAR wchLabel[64];
|
||||
|
||||
} NP2ENCODING;
|
||||
|
||||
int Encoding_CountOf();
|
||||
int Encoding_Current(int iEncoding); // getter/setter
|
||||
int Encoding_SrcCmdLn(int iSrcEncoding); // getter/setter
|
||||
int Encoding_SrcWeak(int iSrcWeakEnc); // getter/setter
|
||||
@ -121,20 +122,36 @@ bool IsValidUnicode(const char* pBuffer, size_t cb, bool*, bool*);
|
||||
bool IsValidUTF7(const char* pTest, size_t nLength);
|
||||
bool IsValidUTF8(const char* pTest, size_t nLength);
|
||||
|
||||
// Google's "Compact Encoding Detection"
|
||||
//////////////////////////////////////////////////////
|
||||
// Google's CED "Compact Encoding Detection"
|
||||
// Mozilla's UCHARDET "Universal Charset Detection"
|
||||
//////////////////////////////////////////////////////
|
||||
|
||||
extern NP2ENCODING g_Encodings[];
|
||||
void ChangeEncodingCodePage(int cpi, UINT newCP);
|
||||
|
||||
cpi_enc_t Encoding_CountOf();
|
||||
|
||||
inline bool Encoding_IsValidIdx(const cpi_enc_t cpi)
|
||||
{
|
||||
return ((cpi >= 0) && (cpi < Encoding_CountOf()));
|
||||
}
|
||||
|
||||
|
||||
// 932 Shift-JIS, 936 GBK, 949 UHC, 950 Big5, 951 Big5-hkscs, 1361 Johab
|
||||
inline bool IsDBCSCodePage(UINT cp) {
|
||||
return ((cp == 932) || (cp == 936) || (cp == 949) || (cp == 950) || (cp == 951) || (cp == 1361));
|
||||
}
|
||||
|
||||
inline void ChangeEncodingCodePage(const cpi_enc_t cpi, UINT newCP)
|
||||
{
|
||||
if (Encoding_IsValidIdx(cpi)) { g_Encodings[cpi].uCodePage = newCP; }
|
||||
}
|
||||
|
||||
int Encoding_AnalyzeText(const char* const text, const size_t len, float* confidence_io, const int encodingHint);
|
||||
|
||||
const char* Encoding_GetTitleInfoA();
|
||||
const char* Encoding_GetTitleInfoA();
|
||||
const WCHAR* Encoding_GetTitleInfoW();
|
||||
|
||||
// 932 Shift-JIS, 936 GBK, 949 UHC, 950 Big5, 1361 Johab
|
||||
inline bool IsDBCSCodePage(UINT cp) {
|
||||
return ((cp == 932) || (cp == 936) || (cp == 949) || (cp == 950) || (cp == 1361));
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
#endif //_NP3_ENCODING_H_
|
||||
|
||||
@ -59,13 +59,11 @@ extern "C" const WCHAR* Encoding_GetTitleInfoW() { return wchEncodingInfo; }
|
||||
|
||||
//=============================================================================
|
||||
|
||||
#define ENC_PARSE_INTERCEPT_GB18030 ",GB-18030,gb18030,"
|
||||
// -------------------------------------------------------------
|
||||
#define ENC_PARSE_NAM_ASCII ",ASCII,ascii,"
|
||||
#define ENC_PARSE_NAM_ANSI ",ANSI,ansi,SYSTEM,system" ENC_PARSE_NAM_ASCII
|
||||
#define ENC_PARSE_NAM_OEM ",OEM,oem,"
|
||||
#define ENC_PARSE_NAM_UTF16LEBOM ",,"
|
||||
#define ENC_PARSE_NAM_UTF16BEBOM ",,"
|
||||
#define ENC_PARSE_NAM_UTF16LEBOM ""
|
||||
#define ENC_PARSE_NAM_UTF16BEBOM ""
|
||||
#define ENC_PARSE_NAM_UTF16LE ",UTF-16,utf16,UTF-16LE,utf16le,unicode,"
|
||||
#define ENC_PARSE_NAM_UTF16BE ",UTF-16BE,utf16be,unicodebe,"
|
||||
#define ENC_PARSE_NAM_UTF8 ",UTF-8,utf8,"
|
||||
@ -82,9 +80,9 @@ extern "C" const WCHAR* Encoding_GetTitleInfoW() { return wchEncodingInfo; }
|
||||
#define ENC_PARSE_NAM_ISO_8859_2 ",ISO-8859-2,iso88592,csisolatin2,isoir101,latin2,l2,"
|
||||
#define ENC_PARSE_NAM_MAC_CENTRAL_EUROP ",x-mac-ce,xmacce,mac-ce,xmaccentraleurope,maccentraleurope,"
|
||||
#define ENC_PARSE_NAM_WIN_1250 ",Windows-1250,windows1250,CP-1250,cp1250,xcp1250,"
|
||||
#define ENC_PARSE_NAM_GBK_2312 ",gbk,gb2312,chinese,cngb,csgb2312,csgb231280,gb231280" ENC_PARSE_INTERCEPT_GB18030
|
||||
#define ENC_PARSE_NAM_GBK_2312 ",gbk,gb2312,chinese,cngb,csgb2312,csgb231280,gb231280,chinese_gb,gb,"
|
||||
#define ENC_PARSE_NAM_MAC_ZH_CN ",x-mac-chinesesimp,xmacchinesesimp,mac-chinesesimp,macchinesesimp,"
|
||||
#define ENC_PARSE_NAM_BIG5 ",big5,cnbig5,csbig5,xxbig5,"
|
||||
#define ENC_PARSE_NAM_BIG5 ",big5,cnbig5,csbig5,xxbig5,chinese_big5,"
|
||||
#define ENC_PARSE_NAM_MAC_ZH_TW ",x-mac-chinesetrad,xmacchinesetrad,mac-chinesetrad,macchinesetrad,"
|
||||
#define ENC_PARSE_NAM_MAC_CROATIAN ",x-mac-croatian,xmaccroatian,mac-croatian,maccroatian,"
|
||||
#define ENC_PARSE_NAM_DOS_866 ",CP-866,cp866,ibm866,"
|
||||
@ -134,7 +132,7 @@ extern "C" const WCHAR* Encoding_GetTitleInfoW() { return wchEncodingInfo; }
|
||||
#define ENC_PARSE_NAM_IBM_EBCDIC_INT ",x-ebcdic-International,xebcdicinternational,"
|
||||
#define ENC_PARSE_NAM_IBM_EBCDIC_GR ",x-ebcdic-GreekModern,xebcdicgreekmodern,"
|
||||
#define ENC_PARSE_NAM_IBM_EBCDIC_LAT_5 ",CP-1026,cp1026,ibm1026,csibm1026,"
|
||||
#define ENC_PARSE_NAM_GB18030 ENC_PARSE_INTERCEPT_GB18030
|
||||
#define ENC_PARSE_NAM_GB18030 ",GB-18030,gb18030,"
|
||||
#define ENC_PARSE_NAM_EUC_JAPANESE ",euc-jp,euc_jp,eucjp,xeuc,xeucjp,"
|
||||
#define ENC_PARSE_NAM_EUC_KOREAN ",euc-kr,euckr,cseuckr,"
|
||||
#define ENC_PARSE_NAM_ISO_2022_CN ",ISO-2022-CN,iso2022cn,"
|
||||
@ -143,8 +141,8 @@ extern "C" const WCHAR* Encoding_GetTitleInfoW() { return wchEncodingInfo; }
|
||||
#define ENC_PARSE_NAM_ISO_2022_KR ",ISO-2022-KR,iso2022kr,csiso2022kr,"
|
||||
#define ENC_PARSE_NAM_X_CHINESE_CNS ",X-CHINESE-CNS,xchinesecns,"
|
||||
#define ENC_PARSE_NAM_JOHAB ",johab,"
|
||||
#define ENC_PARSE_NAM_BIG5_HKSCS ",big5hkscs,cnbig5hkscs,xxbig5hkscs,"
|
||||
//#define ENC_PARSE_NAM_ISO_8859_10 "ISO-8859-10,iso885910,windows-28600,windows28600,CP-28600,cp28600,"
|
||||
//#define ENC_PARSE_NAM_BIG5_HKSCS "big5hkscs,cnbig5hkscs,xxbig5hkscs,"
|
||||
//=============================================================================
|
||||
|
||||
// Missing ICONV Strings:
|
||||
@ -160,9 +158,13 @@ extern "C" const WCHAR* Encoding_GetTitleInfoW() { return wchEncodingInfo; }
|
||||
// "VISCII"
|
||||
|
||||
|
||||
///////////// CED encoding names
|
||||
///////////// [ EncodingName() , MimeEncodingName(), Encoding(_CED_intern) ]
|
||||
///////////// Todo: find mapping below and set string above, if missing
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
///////////// /////////////
|
||||
///////////// CED encoding names /////////////
|
||||
///////////// [ EncodingName() , MimeEncodingName(), Encoding(_CED_intern) ] /////////////
|
||||
///////////// TODO: find mapping below and set string above, if missing /////////////
|
||||
///////////// /////////////
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//static const EncodingInfo kEncodingInfoTable[] = {
|
||||
// { "ASCII", "ISO-8859-1", ISO_8859_1},
|
||||
@ -328,91 +330,92 @@ extern "C" const WCHAR* Encoding_GetTitleInfoW() { return wchEncodingInfo; }
|
||||
//
|
||||
|
||||
|
||||
|
||||
extern "C" NP2ENCODING g_Encodings[] = {
|
||||
/* 000 */{ NCP_ASCII_7BIT | NCP_ANSI | NCP_RECODE, CP_ACP, ENC_PARSE_NAM_ANSI, IDS_ENC_ANSI, UNKNOWN_ENCODING, L"" }, // CPI_ANSI_DEFAULT 0
|
||||
/* 001 */{ NCP_ASCII_7BIT | NCP_OEM | NCP_RECODE, CP_OEMCP, ENC_PARSE_NAM_OEM, IDS_ENC_OEM, UNKNOWN_ENCODING, L"" }, // CPI_OEM 1
|
||||
/* 002 */{ NCP_UNICODE | NCP_UNICODE_BOM, CP_UTF8, ENC_PARSE_NAM_UTF16LEBOM, IDS_ENC_UTF16LEBOM, UTF16LE, L"" }, // CPI_UNICODEBOM 2
|
||||
/* 003 */{ NCP_UNICODE | NCP_UNICODE_REVERSE | NCP_UNICODE_BOM, CP_UTF8, ENC_PARSE_NAM_UTF16BEBOM, IDS_ENC_UTF16BEBOM, UTF16BE, L"" }, // CPI_UNICODEBEBOM 3
|
||||
/* 004 */{ NCP_UNICODE | NCP_RECODE, CP_UTF8, ENC_PARSE_NAM_UTF16LE, IDS_ENC_UTF16LE, UTF16LE, L"" }, // CPI_UNICODE 4
|
||||
/* 005 */{ NCP_UNICODE | NCP_UNICODE_REVERSE | NCP_RECODE, CP_UTF8, ENC_PARSE_NAM_UTF16BE, IDS_ENC_UTF16BE, UTF16BE, L"" }, // CPI_UNICODEBE 5
|
||||
/* 006 */{ NCP_ASCII_7BIT | NCP_UTF8 | NCP_RECODE, CP_UTF8, ENC_PARSE_NAM_UTF8, IDS_ENC_UTF8, UTF8, L"" }, // CPI_UTF8 6
|
||||
/* 007 */{ NCP_UTF8 | NCP_UTF8_SIGN, CP_UTF8, ENC_PARSE_NAM_UTF8SIG, IDS_ENC_UTF8SIG, UNKNOWN_ENCODING, L"" }, // CPI_UTF8SIGN 7
|
||||
/* 008 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, CP_UTF7, ENC_PARSE_NAM_UTF7, IDS_ENC_UTF7, UTF7, L"" }, // CPI_UTF7 8
|
||||
/* 009 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 720, ENC_PARSE_NAM_DOS_720, IDS_ENC_DOS_720, UNKNOWN_ENCODING, L"" },
|
||||
/* 010 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28596, ENC_PARSE_NAM_ISO_8859_6, IDS_ENC_ISO_8859_6, ISO_8859_6, L"" },
|
||||
/* 011 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10004, ENC_PARSE_NAM_MAC_ARABIC, IDS_ENC_MAC_ARABIC, UNKNOWN_ENCODING, L"" },
|
||||
/* 012 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1256, ENC_PARSE_NAM_WIN_1256, IDS_ENC_WIN_1256, MSFT_CP1256, L"" },
|
||||
/* 013 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 775, ENC_PARSE_NAM_DOS_775, IDS_ENC_DOS_775, UNKNOWN_ENCODING, L"" },
|
||||
/* 014 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28594, ENC_PARSE_NAM_ISO_8859_4, IDS_ENC_ISO_8859_4, ISO_8859_4, L"" },
|
||||
/* 015 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1257, ENC_PARSE_NAM_WIN_1257, IDS_ENC_WIN_1257, MSFT_CP1257, L"" },
|
||||
/* 016 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 852, ENC_PARSE_NAM_DOS_852, IDS_ENC_DOS_852, CZECH_CP852, L"" },
|
||||
/* 017 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28592, ENC_PARSE_NAM_ISO_8859_2, IDS_ENC_ISO_8859_2, ISO_8859_2, L"" },
|
||||
/* 018 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10029, ENC_PARSE_NAM_MAC_CENTRAL_EUROP, IDS_ENC_MAC_CENTRAL_EUROP, UNKNOWN_ENCODING, L"" },
|
||||
/* 019 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1250, ENC_PARSE_NAM_WIN_1250, IDS_ENC_WIN_1250, MSFT_CP1250, L"" },
|
||||
/* 020 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 936, ENC_PARSE_NAM_GBK_2312, IDS_ENC_GBK_2312, GBK, L"" },
|
||||
/* 021 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10008, ENC_PARSE_NAM_MAC_ZH_CN, IDS_ENC_MAC_ZH_CN, UNKNOWN_ENCODING, L"" },
|
||||
/* 022 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 950, ENC_PARSE_NAM_BIG5, IDS_ENC_BIG5, CHINESE_BIG5_CP950, L"" },
|
||||
/* 023 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10002, ENC_PARSE_NAM_MAC_ZH_TW, IDS_ENC_MAC_ZH_TW, UNKNOWN_ENCODING, L"" },
|
||||
/* 024 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10082, ENC_PARSE_NAM_MAC_CROATIAN, IDS_ENC_MAC_CROATIAN, UNKNOWN_ENCODING, L"" },
|
||||
/* 025 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 866, ENC_PARSE_NAM_DOS_866, IDS_ENC_DOS_866, RUSSIAN_CP866, L"" },
|
||||
/* 026 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28595, ENC_PARSE_NAM_ISO_8859_5, IDS_ENC_ISO_8859_5, ISO_8859_5, L"" },
|
||||
/* 027 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 20866, ENC_PARSE_NAM_KOI8_R, IDS_ENC_KOI8_R, RUSSIAN_KOI8_R, L"" },
|
||||
/* 028 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 21866, ENC_PARSE_NAM_KOI8_U, IDS_ENC_KOI8_U, RUSSIAN_KOI8_RU, L"" },
|
||||
/* 029 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10007, ENC_PARSE_NAM_MAC_CYRILLIC, IDS_ENC_MAC_CYRILLIC, UNKNOWN_ENCODING, L"" },
|
||||
/* 030 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1251, ENC_PARSE_NAM_WIN_1251, IDS_ENC_WIN_1251, RUSSIAN_CP1251, L"" },
|
||||
/* 031 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28603, ENC_PARSE_NAM_ISO_8859_13, IDS_ENC_ISO_8859_13, ISO_8859_13, L"" },
|
||||
/* 032 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 863, ENC_PARSE_NAM_DOS_863, IDS_ENC_DOS_863, UNKNOWN_ENCODING, L"" },
|
||||
/* 033 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 737, ENC_PARSE_NAM_DOS_737, IDS_ENC_DOS_737, UNKNOWN_ENCODING, L"" },
|
||||
/* 034 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28597, ENC_PARSE_NAM_ISO_8859_7, IDS_ENC_ISO_8859_7, ISO_8859_7, L"" },
|
||||
/* 035 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10006, ENC_PARSE_NAM_MAC_GREEK, IDS_ENC_MAC_GREEK, UNKNOWN_ENCODING, L"" },
|
||||
/* 036 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1253, ENC_PARSE_NAM_WIN_1253, IDS_ENC_WIN_1253, MSFT_CP1253, L"" },
|
||||
/* 037 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 869, ENC_PARSE_NAM_DOS_869, IDS_ENC_DOS_869, UNKNOWN_ENCODING, L"" },
|
||||
/* 038 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 862, ENC_PARSE_NAM_DOS_862, IDS_ENC_DOS_862, UNKNOWN_ENCODING, L"" },
|
||||
/* 039 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 38598, ENC_PARSE_NAM_ISO_8859_8_I, IDS_ENC_ISO_8859_8_I, ISO_8859_8_I, L"" },
|
||||
/* 040 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28598, ENC_PARSE_NAM_ISO_8859_8, IDS_ENC_ISO_8859_8, ISO_8859_8, L"" },
|
||||
/* 041 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10005, ENC_PARSE_NAM_MAC_HEBREW, IDS_ENC_MAC_HEBREW, HEBREW_VISUAL, L"" },
|
||||
/* 042 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1255, ENC_PARSE_NAM_WIN_1255, IDS_ENC_WIN_1255, MSFT_CP1255, L"" },
|
||||
/* 043 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 861, ENC_PARSE_NAM_DOS_861, IDS_ENC_DOS_861, UNKNOWN_ENCODING, L"" },
|
||||
/* 044 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10079, ENC_PARSE_NAM_MAC_ICELANDIC, IDS_ENC_MAC_ICELANDIC, UNKNOWN_ENCODING, L"" },
|
||||
/* 045 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10001, ENC_PARSE_NAM_MAC_JAPANESE, IDS_ENC_MAC_JAPANESE, UNKNOWN_ENCODING, L"" },
|
||||
/* 046 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 932, ENC_PARSE_NAM_SHIFT_JIS, IDS_ENC_SHIFT_JIS, JAPANESE_SHIFT_JIS, L"" },
|
||||
/* 047 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10003, ENC_PARSE_NAM_MAC_KOREAN, IDS_ENC_MAC_KOREAN, UNKNOWN_ENCODING, L"" },
|
||||
/* 048 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 949, ENC_PARSE_NAM_WIN_949, IDS_ENC_WIN_949, KOREAN_EUC_KR, L"" },
|
||||
/* 049 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28593, ENC_PARSE_NAM_ISO_8859_3, IDS_ENC_ISO_8859_3, ISO_8859_3, L"" },
|
||||
/* 050 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28605, ENC_PARSE_NAM_ISO_8859_15, IDS_ENC_ISO_8859_15, ISO_8859_15, L"" },
|
||||
/* 051 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 865, ENC_PARSE_NAM_DOS_865, IDS_ENC_DOS_865, UNKNOWN_ENCODING, L"" },
|
||||
/* 052 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 437, ENC_PARSE_NAM_DOS_437, IDS_ENC_DOS_437, UNKNOWN_ENCODING, L"" },
|
||||
/* 053 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 858, ENC_PARSE_NAM_DOS_858, IDS_ENC_DOS_858, UNKNOWN_ENCODING, L"" },
|
||||
/* 054 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 860, ENC_PARSE_NAM_DOS_860, IDS_ENC_DOS_860, UNKNOWN_ENCODING, L"" },
|
||||
/* 055 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10000, ENC_PARSE_NAM_MAC_WESTERN_EUROP, IDS_ENC_MAC_WESTERN_EUROP, MACINTOSH_ROMAN, L"" },
|
||||
/* 056 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10021, ENC_PARSE_NAM_MAC_THAI, IDS_ENC_MAC_THAI, UNKNOWN_ENCODING, L"" },
|
||||
/* 057 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 874, ENC_PARSE_NAM_WIN_874, IDS_ENC_WIN_874, MSFT_CP874, L"" },
|
||||
/* 058 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 857, ENC_PARSE_NAM_DOS_857, IDS_ENC_DOS_857, UNKNOWN_ENCODING, L"" },
|
||||
/* 059 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28599, ENC_PARSE_NAM_ISO_8859_9, IDS_ENC_ISO_8859_9, ISO_8859_9, L"" },
|
||||
/* 060 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10081, ENC_PARSE_NAM_MAC_TURKISH, IDS_ENC_MAC_TURKISH, UNKNOWN_ENCODING, L"" },
|
||||
/* 061 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1254, ENC_PARSE_NAM_WIN_1254, IDS_ENC_WIN_1254, MSFT_CP1254, L"" },
|
||||
/* 062 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10017, ENC_PARSE_NAM_MAC_UKRAINIAN, IDS_ENC_MAC_UKRAINIAN, UNKNOWN_ENCODING, L"" },
|
||||
/* 063 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1258, ENC_PARSE_NAM_WIN_1258, IDS_ENC_WIN_1258, UNKNOWN_ENCODING, L"" },
|
||||
/* 064 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 850, ENC_PARSE_NAM_DOS_850, IDS_ENC_DOS_850, UNKNOWN_ENCODING, L"" },
|
||||
/* 065 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28591, ENC_PARSE_NAM_ISO_8859_1, IDS_ENC_ISO_8859_1, ISO_8859_1, L"" },
|
||||
/* 066 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10010, ENC_PARSE_NAM_MAC_ROMANIAN, IDS_ENC_MAC_ROMANIAN, MACINTOSH_ROMAN, L"" },
|
||||
/* 067 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1252, ENC_PARSE_NAM_WIN_1252, IDS_ENC_WIN_1252, MSFT_CP1252, L"" },
|
||||
/* 068 */{ NCP_EXTERNAL_8BIT | NCP_RECODE, 37, ENC_PARSE_NAM_IBM_EBCDIC_US, IDS_ENC_IBM_EBCDIC_US, UNKNOWN_ENCODING, L"" },
|
||||
/* 069 */{ NCP_EXTERNAL_8BIT | NCP_RECODE, 500, ENC_PARSE_NAM_IBM_EBCDIC_INT, IDS_ENC_IBM_EBCDIC_INT, UNKNOWN_ENCODING, L"" },
|
||||
/* 070 */{ NCP_EXTERNAL_8BIT | NCP_RECODE, 875, ENC_PARSE_NAM_IBM_EBCDIC_GR, IDS_ENC_IBM_EBCDIC_GR, UNKNOWN_ENCODING, L"" },
|
||||
/* 071 */{ NCP_EXTERNAL_8BIT | NCP_RECODE, 1026, ENC_PARSE_NAM_IBM_EBCDIC_LAT_5, IDS_ENC_IBM_EBCDIC_LAT_5, UNKNOWN_ENCODING, L"" },
|
||||
/* 072 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 54936, ENC_PARSE_NAM_GB18030, IDS_ENC_GB18030, GB18030, L"" }, // Chinese Simplified (GB18030)
|
||||
/* 073 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 20932, ENC_PARSE_NAM_EUC_JAPANESE, IDS_ENC_EUC_JAPANESE, JAPANESE_EUC_JP, L"" }, // Japanese (EUC)
|
||||
/* 074 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 51949, ENC_PARSE_NAM_EUC_KOREAN, IDS_ENC_EUC_KOREAN, KOREAN_EUC_KR, L"" }, // Korean (EUC)
|
||||
/* 075 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 50229, ENC_PARSE_NAM_ISO_2022_CN, IDS_ENC_ISO_2022_CN, ISO_2022_CN, L"" }, // Chinese Traditional (ISO-2022-CN)
|
||||
/* 076 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 52936, ENC_PARSE_NAM_HZ_GB2312, IDS_ENC_HZ_GB2312, HZ_GB_2312, L"" }, // Chinese Simplified (HZ-GB2312)
|
||||
/* 077 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 50220, ENC_PARSE_NAM_ISO_2022_JP, IDS_ENC_ISO_2022_JP, KDDI_ISO_2022_JP, L"" }, // Japanese (JIS)
|
||||
/* 078 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 50225, ENC_PARSE_NAM_ISO_2022_KR, IDS_ENC_ISO_2022_KR, ISO_2022_KR, L"" }, // Korean (ISO-2022-KR)
|
||||
/* 079 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 20000, ENC_PARSE_NAM_X_CHINESE_CNS, IDS_ENC_X_CHINESE_CNS, CHINESE_CNS, L"" }, // Chinese Traditional (CNS)
|
||||
/* 080 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1361, ENC_PARSE_NAM_JOHAB, IDS_ENC_JOHAB, UNKNOWN_ENCODING, L"" } // Korean (Johab)
|
||||
/* 000 */{ NCP_ASCII_7BIT | NCP_ANSI | NCP_RECODE, CP_ACP, ENC_PARSE_NAM_ANSI, IDS_ENC_ANSI, L"" }, // CPI_ANSI_DEFAULT 0
|
||||
/* 001 */{ NCP_ASCII_7BIT | NCP_OEM | NCP_RECODE, CP_OEMCP, ENC_PARSE_NAM_OEM, IDS_ENC_OEM, L"" }, // CPI_OEM 1
|
||||
/* 002 */{ NCP_UNICODE | NCP_UNICODE_BOM, CP_UTF8, ENC_PARSE_NAM_UTF16LEBOM, IDS_ENC_UTF16LEBOM, L"" }, // CPI_UNICODEBOM 2
|
||||
/* 003 */{ NCP_UNICODE | NCP_UNICODE_REVERSE | NCP_UNICODE_BOM, CP_UTF8, ENC_PARSE_NAM_UTF16BEBOM, IDS_ENC_UTF16BEBOM, L"" }, // CPI_UNICODEBEBOM 3
|
||||
/* 004 */{ NCP_UNICODE | NCP_RECODE, CP_UTF8, ENC_PARSE_NAM_UTF16LE, IDS_ENC_UTF16LE, L"" }, // CPI_UNICODE 4
|
||||
/* 005 */{ NCP_UNICODE | NCP_UNICODE_REVERSE | NCP_RECODE, CP_UTF8, ENC_PARSE_NAM_UTF16BE, IDS_ENC_UTF16BE, L"" }, // CPI_UNICODEBE 5
|
||||
/* 006 */{ NCP_ASCII_7BIT | NCP_UTF8 | NCP_RECODE, CP_UTF8, ENC_PARSE_NAM_UTF8, IDS_ENC_UTF8, L"" }, // CPI_UTF8 6
|
||||
/* 007 */{ NCP_UTF8 | NCP_UTF8_SIGN, CP_UTF8, ENC_PARSE_NAM_UTF8SIG, IDS_ENC_UTF8SIG, L"" }, // CPI_UTF8SIGN 7
|
||||
/* 008 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, CP_UTF7, ENC_PARSE_NAM_UTF7, IDS_ENC_UTF7, L"" }, // CPI_UTF7 8
|
||||
/* 009 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 720, ENC_PARSE_NAM_DOS_720, IDS_ENC_DOS_720, L"" },
|
||||
/* 010 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28596, ENC_PARSE_NAM_ISO_8859_6, IDS_ENC_ISO_8859_6, L"" },
|
||||
/* 011 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10004, ENC_PARSE_NAM_MAC_ARABIC, IDS_ENC_MAC_ARABIC, L"" },
|
||||
/* 012 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1256, ENC_PARSE_NAM_WIN_1256, IDS_ENC_WIN_1256, L"" },
|
||||
/* 013 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 775, ENC_PARSE_NAM_DOS_775, IDS_ENC_DOS_775, L"" },
|
||||
/* 014 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28594, ENC_PARSE_NAM_ISO_8859_4, IDS_ENC_ISO_8859_4, L"" },
|
||||
/* 015 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1257, ENC_PARSE_NAM_WIN_1257, IDS_ENC_WIN_1257, L"" },
|
||||
/* 016 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 852, ENC_PARSE_NAM_DOS_852, IDS_ENC_DOS_852, L"" },
|
||||
/* 017 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28592, ENC_PARSE_NAM_ISO_8859_2, IDS_ENC_ISO_8859_2, L"" },
|
||||
/* 018 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10029, ENC_PARSE_NAM_MAC_CENTRAL_EUROP, IDS_ENC_MAC_CENTRAL_EUROP, L"" },
|
||||
/* 019 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1250, ENC_PARSE_NAM_WIN_1250, IDS_ENC_WIN_1250, L"" },
|
||||
/* 020 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 936, ENC_PARSE_NAM_GBK_2312, IDS_ENC_GBK_2312, L"" },
|
||||
/* 021 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10008, ENC_PARSE_NAM_MAC_ZH_CN, IDS_ENC_MAC_ZH_CN, L"" },
|
||||
/* 022 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 950, ENC_PARSE_NAM_BIG5, IDS_ENC_BIG5, L"" },
|
||||
/* 023 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10002, ENC_PARSE_NAM_MAC_ZH_TW, IDS_ENC_MAC_ZH_TW, L"" },
|
||||
/* 024 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10082, ENC_PARSE_NAM_MAC_CROATIAN, IDS_ENC_MAC_CROATIAN, L"" },
|
||||
/* 025 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 866, ENC_PARSE_NAM_DOS_866, IDS_ENC_DOS_866, L"" },
|
||||
/* 026 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28595, ENC_PARSE_NAM_ISO_8859_5, IDS_ENC_ISO_8859_5, L"" },
|
||||
/* 027 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 20866, ENC_PARSE_NAM_KOI8_R, IDS_ENC_KOI8_R, L"" },
|
||||
/* 028 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 21866, ENC_PARSE_NAM_KOI8_U, IDS_ENC_KOI8_U, L"" },
|
||||
/* 029 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10007, ENC_PARSE_NAM_MAC_CYRILLIC, IDS_ENC_MAC_CYRILLIC, L"" },
|
||||
/* 030 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1251, ENC_PARSE_NAM_WIN_1251, IDS_ENC_WIN_1251, L"" },
|
||||
/* 031 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28603, ENC_PARSE_NAM_ISO_8859_13, IDS_ENC_ISO_8859_13, L"" },
|
||||
/* 032 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 863, ENC_PARSE_NAM_DOS_863, IDS_ENC_DOS_863, L"" },
|
||||
/* 033 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 737, ENC_PARSE_NAM_DOS_737, IDS_ENC_DOS_737, L"" },
|
||||
/* 034 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28597, ENC_PARSE_NAM_ISO_8859_7, IDS_ENC_ISO_8859_7, L"" },
|
||||
/* 035 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10006, ENC_PARSE_NAM_MAC_GREEK, IDS_ENC_MAC_GREEK, L"" },
|
||||
/* 036 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1253, ENC_PARSE_NAM_WIN_1253, IDS_ENC_WIN_1253, L"" },
|
||||
/* 037 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 869, ENC_PARSE_NAM_DOS_869, IDS_ENC_DOS_869, L"" },
|
||||
/* 038 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 862, ENC_PARSE_NAM_DOS_862, IDS_ENC_DOS_862, L"" },
|
||||
/* 039 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 38598, ENC_PARSE_NAM_ISO_8859_8_I, IDS_ENC_ISO_8859_8_I, L"" },
|
||||
/* 040 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28598, ENC_PARSE_NAM_ISO_8859_8, IDS_ENC_ISO_8859_8, L"" },
|
||||
/* 041 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10005, ENC_PARSE_NAM_MAC_HEBREW, IDS_ENC_MAC_HEBREW, L"" },
|
||||
/* 042 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1255, ENC_PARSE_NAM_WIN_1255, IDS_ENC_WIN_1255, L"" },
|
||||
/* 043 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 861, ENC_PARSE_NAM_DOS_861, IDS_ENC_DOS_861, L"" },
|
||||
/* 044 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10079, ENC_PARSE_NAM_MAC_ICELANDIC, IDS_ENC_MAC_ICELANDIC, L"" },
|
||||
/* 045 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10001, ENC_PARSE_NAM_MAC_JAPANESE, IDS_ENC_MAC_JAPANESE, L"" },
|
||||
/* 046 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 932, ENC_PARSE_NAM_SHIFT_JIS, IDS_ENC_SHIFT_JIS, L"" },
|
||||
/* 047 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10003, ENC_PARSE_NAM_MAC_KOREAN, IDS_ENC_MAC_KOREAN, L"" },
|
||||
/* 048 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 949, ENC_PARSE_NAM_WIN_949, IDS_ENC_WIN_949, L"" },
|
||||
/* 049 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28593, ENC_PARSE_NAM_ISO_8859_3, IDS_ENC_ISO_8859_3, L"" },
|
||||
/* 050 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28605, ENC_PARSE_NAM_ISO_8859_15, IDS_ENC_ISO_8859_15, L"" },
|
||||
/* 051 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 865, ENC_PARSE_NAM_DOS_865, IDS_ENC_DOS_865, L"" },
|
||||
/* 052 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 437, ENC_PARSE_NAM_DOS_437, IDS_ENC_DOS_437, L"" },
|
||||
/* 053 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 858, ENC_PARSE_NAM_DOS_858, IDS_ENC_DOS_858, L"" },
|
||||
/* 054 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 860, ENC_PARSE_NAM_DOS_860, IDS_ENC_DOS_860, L"" },
|
||||
/* 055 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10000, ENC_PARSE_NAM_MAC_WESTERN_EUROP, IDS_ENC_MAC_WESTERN_EUROP, L"" },
|
||||
/* 056 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10021, ENC_PARSE_NAM_MAC_THAI, IDS_ENC_MAC_THAI, L"" },
|
||||
/* 057 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 874, ENC_PARSE_NAM_WIN_874, IDS_ENC_WIN_874, L"" },
|
||||
/* 058 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 857, ENC_PARSE_NAM_DOS_857, IDS_ENC_DOS_857, L"" },
|
||||
/* 059 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28599, ENC_PARSE_NAM_ISO_8859_9, IDS_ENC_ISO_8859_9, L"" },
|
||||
/* 060 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10081, ENC_PARSE_NAM_MAC_TURKISH, IDS_ENC_MAC_TURKISH, L"" },
|
||||
/* 061 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1254, ENC_PARSE_NAM_WIN_1254, IDS_ENC_WIN_1254, L"" },
|
||||
/* 062 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10017, ENC_PARSE_NAM_MAC_UKRAINIAN, IDS_ENC_MAC_UKRAINIAN, L"" },
|
||||
/* 063 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1258, ENC_PARSE_NAM_WIN_1258, IDS_ENC_WIN_1258, L"" },
|
||||
/* 064 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 850, ENC_PARSE_NAM_DOS_850, IDS_ENC_DOS_850, L"" },
|
||||
/* 065 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 28591, ENC_PARSE_NAM_ISO_8859_1, IDS_ENC_ISO_8859_1, L"" },
|
||||
/* 066 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 10010, ENC_PARSE_NAM_MAC_ROMANIAN, IDS_ENC_MAC_ROMANIAN, L"" },
|
||||
/* 067 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1252, ENC_PARSE_NAM_WIN_1252, IDS_ENC_WIN_1252, L"" },
|
||||
/* 068 */{ NCP_EXTERNAL_8BIT | NCP_RECODE, 37, ENC_PARSE_NAM_IBM_EBCDIC_US, IDS_ENC_IBM_EBCDIC_US, L"" },
|
||||
/* 069 */{ NCP_EXTERNAL_8BIT | NCP_RECODE, 500, ENC_PARSE_NAM_IBM_EBCDIC_INT, IDS_ENC_IBM_EBCDIC_INT, L"" },
|
||||
/* 070 */{ NCP_EXTERNAL_8BIT | NCP_RECODE, 875, ENC_PARSE_NAM_IBM_EBCDIC_GR, IDS_ENC_IBM_EBCDIC_GR, L"" },
|
||||
/* 071 */{ NCP_EXTERNAL_8BIT | NCP_RECODE, 1026, ENC_PARSE_NAM_IBM_EBCDIC_LAT_5, IDS_ENC_IBM_EBCDIC_LAT_5, L"" },
|
||||
/* 072 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 54936, ENC_PARSE_NAM_GB18030, IDS_ENC_GB18030, L"" }, // Chinese Simplified (GB18030)
|
||||
/* 073 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 20932, ENC_PARSE_NAM_EUC_JAPANESE, IDS_ENC_EUC_JAPANESE, L"" }, // Japanese (EUC)
|
||||
/* 074 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 51949, ENC_PARSE_NAM_EUC_KOREAN, IDS_ENC_EUC_KOREAN, L"" }, // Korean (EUC)
|
||||
/* 075 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 50229, ENC_PARSE_NAM_ISO_2022_CN, IDS_ENC_ISO_2022_CN, L"" }, // Chinese Traditional (ISO-2022-CN)
|
||||
/* 076 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 52936, ENC_PARSE_NAM_HZ_GB2312, IDS_ENC_HZ_GB2312, L"" }, // Chinese Simplified (HZ-GB2312)
|
||||
/* 077 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 50220, ENC_PARSE_NAM_ISO_2022_JP, IDS_ENC_ISO_2022_JP, L"" }, // Japanese (JIS)
|
||||
/* 078 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 50225, ENC_PARSE_NAM_ISO_2022_KR, IDS_ENC_ISO_2022_KR, L"" }, // Korean (ISO-2022-KR)
|
||||
/* 079 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 20000, ENC_PARSE_NAM_X_CHINESE_CNS, IDS_ENC_X_CHINESE_CNS, L"" }, // Chinese Traditional (CNS)
|
||||
/* 080 */{ NCP_ASCII_7BIT | NCP_EXTERNAL_8BIT | NCP_RECODE, 1361, ENC_PARSE_NAM_JOHAB, IDS_ENC_JOHAB, L"" }, // Korean (Johab)
|
||||
// may need special codepage installation on some
|
||||
/* 081 */{ NCP_EXTERNAL_8BIT | NCP_RECODE, 951, ENC_PARSE_NAM_BIG5_HKSCS, IDS_ENC_BIG5_HKSCS, L"" } // Chinese (Hong Kong Supplementary Character Set)
|
||||
|
||||
///* 079 */{ NCP_EXTERNAL_8BIT | NCP_RECODE, 28600, ENC_PARSE_NAM_ISO_8859_10, IDS_ENC_ISO_8859_10, ISO_8859_10, L"" }, // Nordic (ISO 8859-10)
|
||||
///* 080 */{ NCP_EXTERNAL_8BIT | NCP_RECODE, 951, ENC_PARSE_NAM_BIG5_HKSCS, IDS_ENC_BIG5_HKSCS, BIG5_HKSCS, L"" } // Chinese (Hong Kong Supplementary Character Set)
|
||||
|
||||
|
||||
#if 0
|
||||
@ -482,9 +485,9 @@ extern "C" NP2ENCODING g_Encodings[] = {
|
||||
/* 137 *///{ NCP_EXTERNAL_8BIT|NCP_RECODE, 57011, "x-iscii-pa,xisciipa,", 00000, L"" }, // ISCII Panjabi
|
||||
};
|
||||
|
||||
constexpr int _CountOfEncodings() { return ARRAYSIZE(g_Encodings); }
|
||||
constexpr cpi_enc_t _CountOfEncodings() { return static_cast<cpi_enc_t>(ARRAYSIZE(g_Encodings)); }
|
||||
|
||||
extern "C" int Encoding_CountOf()
|
||||
extern "C" cpi_enc_t Encoding_CountOf()
|
||||
{
|
||||
return _CountOfEncodings();
|
||||
}
|
||||
@ -492,31 +495,40 @@ extern "C" int Encoding_CountOf()
|
||||
//=============================================================================
|
||||
|
||||
|
||||
constexpr int _MapCPI2CEDEncoding(const int cpiEncoding)
|
||||
constexpr Encoding _MapCPI2CEDEncoding(const cpi_enc_t cpiEncoding)
|
||||
{
|
||||
if ((cpiEncoding < 0) || (cpiEncoding >= _CountOfEncodings())) {
|
||||
return UNKNOWN_ENCODING; // CPI_NONE, CPI_GET
|
||||
if ((cpiEncoding < 0) || (cpiEncoding >= _CountOfEncodings())) { return UNKNOWN_ENCODING; }
|
||||
|
||||
char parseNames[256] = { '\0' };
|
||||
StringCchCopyA(parseNames, 256, g_Encodings[cpiEncoding].pszParseNames);
|
||||
if (parseNames[0] == '\0') { return UNKNOWN_ENCODING; }
|
||||
|
||||
char* p = &(parseNames[1]); // skip 1st null
|
||||
while (*p != '\0') {
|
||||
if (*p == ',') { *p = '\0'; }
|
||||
++p;
|
||||
}
|
||||
return g_Encodings[cpiEncoding].iCEDEncoding;
|
||||
}
|
||||
// ============================================================================
|
||||
*(++p) = '\0'; // ensure double '\0' at the end
|
||||
|
||||
extern "C" void ChangeEncodingCodePage(int cpi, UINT newCP)
|
||||
{
|
||||
int iCED = _MapCPI2CEDEncoding(cpi);
|
||||
g_Encodings[cpi].uCodePage = newCP;
|
||||
g_Encodings[cpi].iCEDEncoding = iCED;
|
||||
Encoding encoding = UNKNOWN_ENCODING;
|
||||
|
||||
p = &(parseNames[1]); // skip 1st null
|
||||
while (*p != '\0') {
|
||||
if (EncodingFromName(p, &encoding)) { break; }
|
||||
for (; *p != '\0'; ++p) {} // next
|
||||
++p; // double null at end
|
||||
}
|
||||
return encoding;
|
||||
}
|
||||
// ============================================================================
|
||||
|
||||
|
||||
|
||||
constexpr int _MapStdEncodingString2CPI(const char* encStrg, float* pConfidence,
|
||||
const char* const text, const size_t len)
|
||||
constexpr cpi_enc_t _MapStdEncodingString2CPI(const char* encStrg, float* pConfidence,
|
||||
const char* const text, const size_t len)
|
||||
{
|
||||
float const confidence = *pConfidence;
|
||||
|
||||
int cpiEncoding = CPI_NONE;
|
||||
cpi_enc_t cpiEncoding = CPI_NONE;
|
||||
|
||||
if (encStrg && (encStrg[0] != '\0')) {
|
||||
// preprocessing: special cases
|
||||
@ -547,7 +559,7 @@ constexpr int _MapStdEncodingString2CPI(const char* encStrg, float* pConfidence,
|
||||
*pConfidence = Encoding_IsNONE(cpiEncoding) ? 0.0f : confidence;
|
||||
return cpiEncoding;
|
||||
}
|
||||
// ----------------------------------------------------------------------------
|
||||
// ============================================================================
|
||||
|
||||
|
||||
// ============================================================================
|
||||
@ -583,19 +595,17 @@ int AnalyzeText_CED
|
||||
StringCchCopyA(encodingStrg, cch, charset); // CED
|
||||
|
||||
confidence = isReliable ? ReliableCEDConfThresh : UnReliableCEDConfThresh;
|
||||
|
||||
cpiEncoding = _MapStdEncodingString2CPI(charset, &confidence, text, len);
|
||||
|
||||
//int cpiEncoding = _MapCEDEncoding2CPI(encoding, text, len);
|
||||
#if 1
|
||||
Encoding const check_enc = _MapCPI2CEDEncoding(cpiEncoding);
|
||||
if (encoding != check_enc) {
|
||||
*pConfidence = 0.0;
|
||||
}
|
||||
#endif
|
||||
|
||||
//if (cpiEncoding == CPI_NONE)
|
||||
//{
|
||||
// // we are not able to find a mapping, so guess any
|
||||
// cpiEncoding = _FindSimilarCPI(encoding);
|
||||
// *pIsReliable = false;
|
||||
//}
|
||||
|
||||
|
||||
* pConfidence = confidence;
|
||||
*pConfidence = confidence;
|
||||
return cpiEncoding;
|
||||
}
|
||||
// ============================================================================
|
||||
@ -658,32 +668,41 @@ inline float max_f(float x, float y) { return (x > y) ? x : y; }
|
||||
|
||||
extern "C" int Encoding_AnalyzeText
|
||||
(
|
||||
const char* const text, const size_t len,
|
||||
const char* const text, const size_t len,
|
||||
float* confidence_io, const int encodingHint)
|
||||
{
|
||||
if (len == 0)
|
||||
{
|
||||
_SetEncodingTitleInfo("", CPI_NONE, 0.0f, "", CPI_NONE, 0.0f);
|
||||
*confidence_io = 0.0f;
|
||||
return CPI_NONE;
|
||||
}
|
||||
|
||||
constexpr int MAX_ENC_STRG_LEN = 128;
|
||||
|
||||
float ucd_cnf = 0.0f;
|
||||
char encodingStrg_UCD[128] = { '\0' };
|
||||
char encodingStrg_UCD[MAX_ENC_STRG_LEN] = { '\0' };
|
||||
int cpiEncoding_UCD = CPI_NONE;
|
||||
|
||||
float ced_cnf = 0.0f;
|
||||
char encodingStrg_CED[128] = { '\0' };
|
||||
char encodingStrg_CED[MAX_ENC_STRG_LEN] = { '\0' };
|
||||
int cpiEncoding_CED = CPI_NONE;
|
||||
|
||||
size_t const largeFile = static_cast<size_t>(Settings2.FileLoadWarningMB) * 1024LL * 1024LL;
|
||||
|
||||
|
||||
if (len < largeFile)
|
||||
{
|
||||
// small file: do SERIAL encoding detection
|
||||
cpiEncoding_UCD = AnalyzeText_UCHARDET(text, len, encodingHint, &ucd_cnf, encodingStrg_UCD, 128);
|
||||
cpiEncoding_CED = AnalyzeText_CED(text, len, encodingHint, &ced_cnf, encodingStrg_CED, 128);
|
||||
cpiEncoding_UCD = AnalyzeText_UCHARDET(text, len, encodingHint, &ucd_cnf, encodingStrg_UCD, MAX_ENC_STRG_LEN);
|
||||
cpiEncoding_CED = AnalyzeText_CED(text, len, encodingHint, &ced_cnf, encodingStrg_CED, MAX_ENC_STRG_LEN);
|
||||
}
|
||||
else { // large file: start ASYNC PARALLEL encoding detection
|
||||
|
||||
std::future<int> cpiUCD = std::async(std::launch::async, AnalyzeText_UCHARDET,
|
||||
text, len, encodingHint, &ucd_cnf, encodingStrg_UCD, 128);
|
||||
text, len, encodingHint, &ucd_cnf, encodingStrg_UCD, MAX_ENC_STRG_LEN);
|
||||
|
||||
std::future<int> cpiCED = std::async(std::launch::async, AnalyzeText_CED,
|
||||
text, len, encodingHint, &ced_cnf, encodingStrg_CED, 128);
|
||||
text, len, encodingHint, &ced_cnf, encodingStrg_CED, MAX_ENC_STRG_LEN);
|
||||
|
||||
cpiEncoding_UCD = cpiUCD.get();
|
||||
cpiEncoding_CED = cpiCED.get();
|
||||
@ -693,6 +712,18 @@ extern "C" int Encoding_AnalyzeText
|
||||
float const ucd_confidence = ucd_cnf;
|
||||
float const ced_confidence = ced_cnf;
|
||||
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// GB18030 (UCD always) to GBK detection adjustment
|
||||
// --------------------------------------------------------------------------
|
||||
if ((Encoding_GetCodePage(cpiEncoding_UCD) == 54936 /*GB-18030*/) &&
|
||||
(Encoding_GetCodePage(cpiEncoding_CED) == 936 /*GBK,GB-2312*/))
|
||||
{
|
||||
// CED (util/encodings/encoding.cc) changed to predict GB18030 if applicable
|
||||
cpiEncoding_UCD = cpiEncoding_CED; // choose widely used encoding
|
||||
}
|
||||
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// vote for encoding prognosis based on confidence levels or reliability
|
||||
// --------------------------------------------------------------------------
|
||||
@ -706,8 +737,8 @@ extern "C" int Encoding_AnalyzeText
|
||||
}
|
||||
else { // --- ambiguous results ---
|
||||
|
||||
if (Encoding_IsNONE(cpiEncoding_UCD))
|
||||
{
|
||||
if (Encoding_IsNONE(cpiEncoding_UCD))
|
||||
{
|
||||
// _NO_ UCHARDET rely on CED
|
||||
iAnalyzedEncoding = cpiEncoding_CED;
|
||||
confidence = ced_confidence;
|
||||
@ -728,10 +759,8 @@ extern "C" int Encoding_AnalyzeText
|
||||
}
|
||||
}
|
||||
|
||||
if (Flags.bDevDebugMode) {
|
||||
_SetEncodingTitleInfo(encodingStrg_UCD, cpiEncoding_UCD, ucd_confidence,
|
||||
encodingStrg_CED, cpiEncoding_CED, ced_confidence);
|
||||
}
|
||||
_SetEncodingTitleInfo(encodingStrg_UCD, cpiEncoding_UCD, ucd_confidence,
|
||||
encodingStrg_CED, cpiEncoding_CED, ced_confidence);
|
||||
|
||||
*confidence_io = confidence;
|
||||
return iAnalyzedEncoding;
|
||||
@ -739,6 +768,7 @@ extern "C" int Encoding_AnalyzeText
|
||||
// ============================================================================
|
||||
|
||||
|
||||
|
||||
//=============================================================================
|
||||
//
|
||||
// _SetEncodingTitleInfo()
|
||||
@ -746,41 +776,43 @@ extern "C" int Encoding_AnalyzeText
|
||||
static void _SetEncodingTitleInfo(const char* encodingUCD, int encUCD, float ucd_confidence,
|
||||
const char* encodingCED, int encCED, float ced_confidence)
|
||||
{
|
||||
char tmpBuf[128] = { '\0' };
|
||||
if (Flags.bDevDebugMode) {
|
||||
|
||||
StringCchCopyA(chEncodingInfo, ARRAYSIZE(chEncodingInfo), "UCD='");
|
||||
if (encUCD >= 0)
|
||||
{
|
||||
StringCchCatA(chEncodingInfo, ARRAYSIZE(chEncodingInfo), encodingUCD);
|
||||
}
|
||||
else {
|
||||
const char* ukn = (!encodingUCD || (encodingUCD[0] == '\0')) ? "<unknown>" : encodingUCD;
|
||||
StringCchCatA(chEncodingInfo, ARRAYSIZE(chEncodingInfo), (encUCD == CPI_ASCII_7BIT) ? "ASCII" : ukn);
|
||||
}
|
||||
StringCchPrintfA(tmpBuf, 128, "' Conf=%.0f%%", ucd_confidence * 100.0f);
|
||||
StringCchCatA(chEncodingInfo, ARRAYSIZE(chEncodingInfo), tmpBuf);
|
||||
char tmpBuf[128] = { '\0' };
|
||||
|
||||
StringCchCatA(chEncodingInfo, ARRAYSIZE(chEncodingInfo), " || CED='");
|
||||
if (encCED >= 0)
|
||||
{
|
||||
//WideCharToMultiByte(CP_UTF7, 0, Encoding_GetLabel(encCED), -1, chEncodingLabel, ARRAYSIZE(chEncodingLabel), 0, 0);
|
||||
StringCchCatA(chEncodingInfo, ARRAYSIZE(chEncodingInfo), encodingCED);
|
||||
}
|
||||
else {
|
||||
StringCchCatA(chEncodingInfo, ARRAYSIZE(chEncodingInfo), (encCED == CPI_ASCII_7BIT) ? "ASCII" : "<unknown>");
|
||||
}
|
||||
if ((encCED >= 0) || (encCED == CPI_ASCII_7BIT)) {
|
||||
bool const ced_reliable = (ced_confidence >= Settings2.ReliableCEDConfidenceMapping);
|
||||
bool const ced_not_reliable = (ced_confidence <= Settings2.UnReliableCEDConfidenceMapping);
|
||||
StringCchPrintfA(tmpBuf, 128, "' Conf=%.0f%% [%s])", ced_confidence * 100.0f,
|
||||
ced_reliable ? "reliable" : (ced_not_reliable ? "NOT reliable" : "???"));
|
||||
StringCchCopyA(chEncodingInfo, ARRAYSIZE(chEncodingInfo), "UCD='");
|
||||
if (encUCD >= 0)
|
||||
{
|
||||
StringCchCatA(chEncodingInfo, ARRAYSIZE(chEncodingInfo), encodingUCD);
|
||||
}
|
||||
else {
|
||||
const char* ukn = (!encodingUCD || (encodingUCD[0] == '\0')) ? "<unknown>" : encodingUCD;
|
||||
StringCchCatA(chEncodingInfo, ARRAYSIZE(chEncodingInfo), (encUCD == CPI_ASCII_7BIT) ? "ASCII" : ukn);
|
||||
}
|
||||
StringCchPrintfA(tmpBuf, 128, "' Conf=%.0f%%", ucd_confidence * 100.0f);
|
||||
StringCchCatA(chEncodingInfo, ARRAYSIZE(chEncodingInfo), tmpBuf);
|
||||
}
|
||||
else {
|
||||
StringCchCatA(chEncodingInfo, ARRAYSIZE(chEncodingInfo), "'");
|
||||
}
|
||||
|
||||
MultiByteToWideChar(CP_UTF7, 0, chEncodingInfo, -1, wchEncodingInfo, ARRAYSIZE(wchEncodingInfo));
|
||||
StringCchCatA(chEncodingInfo, ARRAYSIZE(chEncodingInfo), " || CED='");
|
||||
if (encCED >= 0)
|
||||
{
|
||||
//WideCharToMultiByte(CP_UTF7, 0, Encoding_GetLabel(encCED), -1, chEncodingLabel, ARRAYSIZE(chEncodingLabel), 0, 0);
|
||||
StringCchCatA(chEncodingInfo, ARRAYSIZE(chEncodingInfo), encodingCED);
|
||||
}
|
||||
else {
|
||||
StringCchCatA(chEncodingInfo, ARRAYSIZE(chEncodingInfo), (encCED == CPI_ASCII_7BIT) ? "ASCII" : "<unknown>");
|
||||
}
|
||||
if ((encCED >= 0) || (encCED == CPI_ASCII_7BIT)) {
|
||||
bool const ced_reliable = (ced_confidence >= Settings2.ReliableCEDConfidenceMapping);
|
||||
bool const ced_not_reliable = (ced_confidence <= Settings2.UnReliableCEDConfidenceMapping);
|
||||
StringCchPrintfA(tmpBuf, 128, "' Conf=%.0f%% [%s])", ced_confidence * 100.0f,
|
||||
ced_reliable ? "reliable" : (ced_not_reliable ? "NOT reliable" : "???"));
|
||||
StringCchCatA(chEncodingInfo, ARRAYSIZE(chEncodingInfo), tmpBuf);
|
||||
}
|
||||
else {
|
||||
StringCchCatA(chEncodingInfo, ARRAYSIZE(chEncodingInfo), "'");
|
||||
}
|
||||
|
||||
MultiByteToWideChar(CP_UTF7, 0, chEncodingInfo, -1, wchEncodingInfo, ARRAYSIZE(wchEncodingInfo));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@ typedef struct _muilanguage
|
||||
UINT rid;
|
||||
WCHAR szLocaleName[LOCALE_NAME_MAX_LENGTH];
|
||||
// !!! WARNING: LCID is DEPRECATED
|
||||
LANGID LangId; // just for historic reasons
|
||||
LANGID LangId;
|
||||
bool bHasDLL;
|
||||
bool bIsActive;
|
||||
|
||||
|
||||
@ -42,7 +42,6 @@
|
||||
#include "SciXLexer.h"
|
||||
|
||||
#include "MuiLanguage.h"
|
||||
|
||||
#include "Notepad3.h"
|
||||
|
||||
|
||||
@ -478,6 +477,13 @@ static void _InitGlobals()
|
||||
}
|
||||
|
||||
|
||||
typedef struct _lng_menu_t {
|
||||
LANGID LangID;
|
||||
const WCHAR* MenuItem;
|
||||
} LNG_MENU_T;
|
||||
|
||||
#include "../language/language_menus.hpp"
|
||||
|
||||
static bool _InsertLanguageMenu(HMENU hMenuBar)
|
||||
{
|
||||
// check, if we need a language switching menu
|
||||
@ -493,7 +499,15 @@ static bool _InsertLanguageMenu(HMENU hMenuBar)
|
||||
{
|
||||
if (MUI_LanguageDLLs[lng].bHasDLL)
|
||||
{
|
||||
GetLngString(MUI_LanguageDLLs[lng].rid, wchMenuItemFmt, COUNTOF(wchMenuItemFmt));
|
||||
// GetLngString(MUI_LanguageDLLs[lng].rid, wchMenuItemFmt, COUNTOF(wchMenuItemFmt));
|
||||
for (int i = 0; i < COUNTOF(s_LanguageMenu); ++i) {
|
||||
if (MUI_LanguageDLLs[lng].LangId == s_LanguageMenu[i].LangID)
|
||||
{
|
||||
StringCchCopy(wchMenuItemFmt, COUNTOF(wchMenuItemFmt), s_LanguageMenu[i].MenuItem);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
StringCchPrintfW(wchMenuItemStrg, COUNTOF(wchMenuItemStrg), wchMenuItemFmt, MUI_LanguageDLLs[lng].szLocaleName);
|
||||
AppendMenu(hmenuLanguage, MF_ENABLED | MF_STRING, MUI_LanguageDLLs[lng].rid, wchMenuItemStrg);
|
||||
}
|
||||
@ -1747,7 +1761,6 @@ static HBITMAP _LoadBitmapFile(LPCWSTR path)
|
||||
return hbmp;
|
||||
}
|
||||
|
||||
|
||||
//=============================================================================
|
||||
//
|
||||
// SelectExternalToolBar() - Select and Load an external Bitmal as ToolBarImage
|
||||
|
||||
@ -7,8 +7,8 @@
|
||||
#define SAPPNAME "Notepad3"
|
||||
#define VERSION_MAJOR 5
|
||||
#define VERSION_MINOR 19
|
||||
#define VERSION_REV 307
|
||||
#define VERSION_BUILD 1648
|
||||
#define VERSION_REV 308
|
||||
#define VERSION_BUILD 1650
|
||||
#define SCINTILLA_VER 414
|
||||
#define ONIGMO_REGEX_VER 6.2.0
|
||||
#define VERSION_PATCH XpErImEnTaL
|
||||
|
||||
Loading…
Reference in New Issue
Block a user