|
|
#include "private.h"
// Table pre-sorted by charset for binary search !!!
const MIMECHARSET MimeCharSet[] = { // { Charset, CodePage, InternetEncoding, Flags }
{ L"_autodetect", 50932, 50932, MIMECONTF_MIME_LATEST | MIMECONTF_MIME_IE4 }, { L"_autodetect_all", 50001, 50001, MIMECONTF_MIME_LATEST}, { L"_autodetect_kr", 50949, 50949, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"_iso-2022-jp$ESC", 932, 50221, MIMECONTF_MIME_IE4 }, { L"_iso-2022-jp$SIO", 932, 50222, MIMECONTF_MIME_IE4 }, { L"437", 1252, 437, MIMECONTF_MIME_LATEST}, { L"ANSI_X3.4-1968", 1252, 20127, MIMECONTF_MIME_LATEST}, { L"ANSI_X3.4-1968", 1252, 1252, MIMECONTF_MIME_IE4}, { L"ANSI_X3.4-1986", 1252, 20127, MIMECONTF_MIME_LATEST}, { L"ANSI_X3.4-1986", 1252, 1252, MIMECONTF_MIME_IE4}, { L"arabic", 1256, 28596, MIMECONTF_MIME_LATEST}, { L"arabic", 1256, 1256, MIMECONTF_MIME_IE4}, { L"ascii", 1252, 20127, MIMECONTF_MIME_LATEST}, { L"ascii", 1252, 1252, MIMECONTF_MIME_IE4}, { L"ASMO-708", 1256, 708, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"Big5", 950, 950, MIMECONTF_MIME_LATEST | MIMECONTF_MIME_IE4 }, { L"Big5-HKSCS", 950, 950, MIMECONTF_MIME_LATEST}, { L"CCSID00858", 1252, 858, MIMECONTF_MIME_LATEST }, { L"CCSID00924", 1252, 20924, MIMECONTF_MIME_LATEST }, { L"CCSID01140", 1252, 1140, MIMECONTF_MIME_LATEST }, { L"CCSID01141", 1252, 1141, MIMECONTF_MIME_LATEST }, { L"CCSID01142", 1252, 1142, MIMECONTF_MIME_LATEST }, { L"CCSID01143", 1252, 1143, MIMECONTF_MIME_LATEST }, { L"CCSID01144", 1252, 1144, MIMECONTF_MIME_LATEST }, { L"CCSID01145", 1252, 1145, MIMECONTF_MIME_LATEST }, { L"CCSID01146", 1252, 1146, MIMECONTF_MIME_LATEST }, { L"CCSID01147", 1252, 1147, MIMECONTF_MIME_LATEST }, { L"CCSID01148", 1252, 1148, MIMECONTF_MIME_LATEST }, { L"CCSID01149", 1252, 1149, MIMECONTF_MIME_LATEST }, { L"chinese", 936, 936, MIMECONTF_MIME_LATEST | MIMECONTF_MIME_IE4 }, { L"cn-big5", 950, 950, MIMECONTF_MIME_LATEST}, { L"CN-GB", 936, 936, MIMECONTF_MIME_LATEST }, { L"CP00858", 1252, 858, MIMECONTF_MIME_LATEST }, { L"CP00924", 1252, 20924, MIMECONTF_MIME_LATEST }, { L"CP01140", 1252, 1140, MIMECONTF_MIME_LATEST }, { L"CP01141", 1252, 1141, MIMECONTF_MIME_LATEST }, { L"CP01142", 1252, 1142, MIMECONTF_MIME_LATEST }, { L"CP01143", 1252, 1143, MIMECONTF_MIME_LATEST }, { L"CP01144", 1252, 1144, MIMECONTF_MIME_LATEST }, { L"CP01145", 1252, 1145, MIMECONTF_MIME_LATEST }, { L"CP01146", 1252, 1146, MIMECONTF_MIME_LATEST }, { L"CP01147", 1252, 1147, MIMECONTF_MIME_LATEST }, { L"CP01148", 1252, 1148, MIMECONTF_MIME_LATEST }, { L"CP01149", 1252, 1149, MIMECONTF_MIME_LATEST }, { L"cp037", 1252, 37, MIMECONTF_MIME_LATEST }, { L"cp1025", 1251, 21025, MIMECONTF_MIME_LATEST }, { L"CP1026", 1254, 1026, MIMECONTF_MIME_LATEST }, { L"cp1256", 1256, 1256, MIMECONTF_MIME_LATEST }, { L"CP273", 1252, 20273, MIMECONTF_MIME_LATEST }, { L"CP278", 1252, 20278, MIMECONTF_MIME_LATEST }, { L"CP280", 1252, 20280, MIMECONTF_MIME_LATEST }, { L"CP284", 1252, 20284, MIMECONTF_MIME_LATEST }, { L"CP285", 1252, 20285, MIMECONTF_MIME_LATEST }, { L"cp290", 932, 20290, MIMECONTF_MIME_LATEST }, { L"cp297", 1252, 20297, MIMECONTF_MIME_LATEST }, { L"cp367", 1252, 20127, MIMECONTF_MIME_LATEST}, { L"cp367", 1252, 1252, MIMECONTF_MIME_IE4}, { L"cp420", 1256, 20420, MIMECONTF_MIME_LATEST }, { L"cp423", 1253, 20423, MIMECONTF_MIME_LATEST }, { L"cp424", 1255, 20424, MIMECONTF_MIME_LATEST }, { L"cp437", 1252, 437, MIMECONTF_MIME_LATEST}, { L"CP500", 1252, 500, MIMECONTF_MIME_LATEST }, { L"cp819", 1252, 28591, MIMECONTF_MIME_LATEST}, { L"cp819", 1252, 1252, MIMECONTF_MIME_IE4}, { L"cp850", 1252, 850, MIMECONTF_MIME_LATEST }, { L"cp852", 1250, 852, MIMECONTF_MIME_LATEST}, { L"cp852", 852, 852, MIMECONTF_MIME_IE4 }, { L"cp855", 1250, 855, MIMECONTF_MIME_LATEST }, { L"cp857", 1254, 857, MIMECONTF_MIME_LATEST }, { L"cp858", 1252, 858, MIMECONTF_MIME_LATEST }, { L"cp860", 1252, 860, MIMECONTF_MIME_LATEST }, { L"cp861", 1252, 861, MIMECONTF_MIME_LATEST }, { L"cp862", 1255, 862, MIMECONTF_MIME_LATEST }, { L"cp863", 1252, 863, MIMECONTF_MIME_LATEST }, { L"cp864", 1256, 864, MIMECONTF_MIME_LATEST }, { L"cp865", 1252, 865, MIMECONTF_MIME_LATEST }, { L"cp866", 1251, 866, MIMECONTF_MIME_LATEST }, { L"cp866", 866, 866, MIMECONTF_MIME_IE4 }, { L"cp869", 1253, 869, MIMECONTF_MIME_LATEST }, { L"CP870", 1250, 870, MIMECONTF_MIME_LATEST }, { L"CP871", 1252, 20871, MIMECONTF_MIME_LATEST }, { L"cp875", 1253, 875, MIMECONTF_MIME_LATEST }, { L"cp880", 1251, 20880, MIMECONTF_MIME_LATEST }, { L"CP905", 1254, 20905, MIMECONTF_MIME_LATEST }, { L"cp930", 932, 50930, MIMECONTF_MIME_LATEST }, { L"cp933", 949, 50933, MIMECONTF_MIME_LATEST }, { L"cp935", 936, 50935, MIMECONTF_MIME_LATEST }, { L"cp937", 950, 50937, MIMECONTF_MIME_LATEST }, { L"cp939", 932, 50939, MIMECONTF_MIME_LATEST }, { L"csASCII", 1252, 20127, MIMECONTF_MIME_LATEST}, { L"csASCII", 1252, 1252, MIMECONTF_MIME_IE4}, { L"csbig5", 950, 950, MIMECONTF_MIME_LATEST | MIMECONTF_MIME_IE4 }, { L"csEUCKR", 949, 51949, MIMECONTF_MIME_LATEST }, { L"csEUCPkdFmtJapanese", 932, 51932, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"csGB2312", 936, 936, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"csGB231280", 936, 936, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"csIBM037", 1252, 37, MIMECONTF_MIME_LATEST }, { L"csIBM1026", 1254, 1026, MIMECONTF_MIME_LATEST }, { L"csIBM273", 1252, 20273, MIMECONTF_MIME_LATEST }, { L"csIBM277", 1252, 20277, MIMECONTF_MIME_LATEST }, { L"csIBM278", 1252, 20278, MIMECONTF_MIME_LATEST }, { L"csIBM280", 1252, 20280, MIMECONTF_MIME_LATEST }, { L"csIBM284", 1252, 20284, MIMECONTF_MIME_LATEST }, { L"csIBM285", 1252, 20285, MIMECONTF_MIME_LATEST }, { L"csIBM290", 932, 20290, MIMECONTF_MIME_LATEST }, { L"csIBM297", 1252, 20297, MIMECONTF_MIME_LATEST }, { L"csIBM420", 1256, 20420, MIMECONTF_MIME_LATEST }, { L"csIBM423", 1253, 20423, MIMECONTF_MIME_LATEST }, { L"csIBM424", 1255, 20424, MIMECONTF_MIME_LATEST }, { L"csIBM500", 1252, 500, MIMECONTF_MIME_LATEST }, { L"csIBM870", 1250, 870, MIMECONTF_MIME_LATEST }, { L"csIBM871", 1252, 20871, MIMECONTF_MIME_LATEST }, { L"csIBM880", 1251, 20880, MIMECONTF_MIME_LATEST }, { L"csIBM905", 1254, 20905, MIMECONTF_MIME_LATEST }, { L"csIBMThai", 874, 20838, MIMECONTF_MIME_LATEST }, { L"csISO2022JP", 932, 50221, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"csISO2022KR", 949, 50225, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"csISO58GB231280", 936, 936, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"csISOLatin1", 1252, 28591, MIMECONTF_MIME_LATEST}, { L"csISOLatin2", 1250, 28592, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"csISOLatin3", 1254, 28593, MIMECONTF_MIME_LATEST}, { L"csISOLatin4", 1257, 28594, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"csISOLatin5", 1254, 28599, MIMECONTF_MIME_LATEST }, { L"csISOLatin5", 1251, 28595, MIMECONTF_MIME_IE4}, { L"csISOLatin9", 1252, 28605, MIMECONTF_MIME_LATEST }, { L"csISOLatinArabic", 1256, 28596, MIMECONTF_MIME_LATEST}, { L"csISOLatinArabic", 1256, 1256, MIMECONTF_MIME_IE4}, { L"csISOLatinCyrillic", 1251, 28595, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"csISOLatinGreek", 1253, 28597, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"csISOLatinHebrew", 1255, 28598, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"csKOI8R", 1251, 20866, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"csKSC56011987", 949, 949, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"csPC8CodePage437", 1252, 437, MIMECONTF_MIME_LATEST}, { L"csShiftJIS", 932, 932, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"csUnicode11UTF7", 1200, 65000, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"csWindows31J", 932, 932, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"cyrillic", 1251, 28595, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"DIN_66003", 1252, 20106, MIMECONTF_MIME_LATEST}, { L"DOS-720", 1256, 720, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"DOS-862", 1255, 862, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"DOS-874", 874, 874, MIMECONTF_MIME_LATEST}, { L"ebcdic-cp-ar1", 1256, 20420, MIMECONTF_MIME_LATEST }, { L"ebcdic-cp-be", 1252, 500, MIMECONTF_MIME_LATEST }, { L"ebcdic-cp-ca", 1252, 37, MIMECONTF_MIME_LATEST }, { L"ebcdic-cp-ch", 1252, 500, MIMECONTF_MIME_LATEST }, { L"EBCDIC-CP-DK", 1252, 20277, MIMECONTF_MIME_LATEST }, { L"ebcdic-cp-es", 1252, 20284, MIMECONTF_MIME_LATEST }, { L"ebcdic-cp-fi", 1252, 20278, MIMECONTF_MIME_LATEST }, { L"ebcdic-cp-fr", 1252, 20297, MIMECONTF_MIME_LATEST }, { L"ebcdic-cp-gb", 1252, 20285, MIMECONTF_MIME_LATEST }, { L"ebcdic-cp-gr", 1253, 20423, MIMECONTF_MIME_LATEST }, { L"ebcdic-cp-he", 1255, 20424, MIMECONTF_MIME_LATEST }, { L"ebcdic-cp-is", 1252, 20871, MIMECONTF_MIME_LATEST }, { L"ebcdic-cp-it", 1252, 20280, MIMECONTF_MIME_LATEST }, { L"ebcdic-cp-nl", 1252, 37, MIMECONTF_MIME_LATEST }, { L"EBCDIC-CP-NO", 1252, 20277, MIMECONTF_MIME_LATEST }, { L"ebcdic-cp-roece", 1250, 870, MIMECONTF_MIME_LATEST }, { L"ebcdic-cp-se", 1252, 20278, MIMECONTF_MIME_LATEST }, { L"ebcdic-cp-tr", 1254, 20905, MIMECONTF_MIME_LATEST }, { L"ebcdic-cp-us", 1252, 37, MIMECONTF_MIME_LATEST }, { L"ebcdic-cp-wt", 1252, 37, MIMECONTF_MIME_LATEST }, { L"ebcdic-cp-yu", 1250, 870, MIMECONTF_MIME_LATEST }, { L"EBCDIC-Cyrillic", 1251, 20880, MIMECONTF_MIME_LATEST }, { L"ebcdic-de-273+euro", 1252, 1141, MIMECONTF_MIME_LATEST }, { L"ebcdic-dk-277+euro", 1252, 1142, MIMECONTF_MIME_LATEST }, { L"ebcdic-es-284+euro", 1252, 1145, MIMECONTF_MIME_LATEST }, { L"ebcdic-fi-278+euro", 1252, 1143, MIMECONTF_MIME_LATEST }, { L"ebcdic-fr-297+euro", 1252, 1147, MIMECONTF_MIME_LATEST }, { L"ebcdic-gb-285+euro", 1252, 1146, MIMECONTF_MIME_LATEST }, { L"ebcdic-international-500+euro", 1252, 1148, MIMECONTF_MIME_LATEST }, { L"ebcdic-is-871+euro", 1252, 1149, MIMECONTF_MIME_LATEST }, { L"ebcdic-it-280+euro", 1252, 1144, MIMECONTF_MIME_LATEST }, { L"EBCDIC-JP-kana", 932, 20290, MIMECONTF_MIME_LATEST }, { L"ebcdic-Latin9--euro", 1252, 20924, MIMECONTF_MIME_LATEST }, { L"ebcdic-no-277+euro", 1252, 1142, MIMECONTF_MIME_LATEST }, { L"ebcdic-se-278+euro", 1252, 1143, MIMECONTF_MIME_LATEST }, { L"ebcdic-us-37+euro", 1252, 1140, MIMECONTF_MIME_LATEST }, { L"ECMA-114", 1256, 28596, MIMECONTF_MIME_LATEST}, { L"ECMA-114", 1256, 1256, MIMECONTF_MIME_IE4}, { L"ECMA-118", 1253, 28597, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"ELOT_928", 1253, 28597, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"euc-cn", 936, 51936, MIMECONTF_MIME_LATEST}, { L"euc-jp", 932, 51932, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"euc-kr", 949, 51949, MIMECONTF_MIME_LATEST }, { L"euc-kr", 949, 949, MIMECONTF_MIME_IE4 }, { L"Extended_UNIX_Code_Packed_Format_for_Japanese", 932, 51932, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"GB_2312-80", 936, 936, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"GB18030", 936, 54936, MIMECONTF_MIME_LATEST}, { L"GB2312", 936, 936, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"GB2312-80", 936, 936, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"GB231280", 936, 936, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"GBK", 936, 936, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"German", 1252, 20106, MIMECONTF_MIME_LATEST}, { L"greek", 1253, 28597, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"greek8", 1253, 28597, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"hebrew", 1255, 28598, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"hz-gb-2312", 936, 52936, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"IBM00858", 1252, 858, MIMECONTF_MIME_LATEST }, { L"IBM00924", 1252, 20924, MIMECONTF_MIME_LATEST }, { L"IBM01047", 1252, 1047, MIMECONTF_MIME_LATEST }, { L"IBM01140", 1252, 1140, MIMECONTF_MIME_LATEST }, { L"IBM01141", 1252, 1141, MIMECONTF_MIME_LATEST }, { L"IBM01142", 1252, 1142, MIMECONTF_MIME_LATEST }, { L"IBM01143", 1252, 1143, MIMECONTF_MIME_LATEST }, { L"IBM01144", 1252, 1144, MIMECONTF_MIME_LATEST }, { L"IBM01145", 1252, 1145, MIMECONTF_MIME_LATEST }, { L"IBM01146", 1252, 1146, MIMECONTF_MIME_LATEST }, { L"IBM01147", 1252, 1147, MIMECONTF_MIME_LATEST }, { L"IBM01148", 1252, 1148, MIMECONTF_MIME_LATEST }, { L"IBM01149", 1252, 1149, MIMECONTF_MIME_LATEST }, { L"IBM037", 1252, 37, MIMECONTF_MIME_LATEST }, { L"IBM1026", 1254, 1026, MIMECONTF_MIME_LATEST }, { L"IBM273", 1252, 20273, MIMECONTF_MIME_LATEST }, { L"IBM277", 1252, 20277, MIMECONTF_MIME_LATEST }, { L"IBM278", 1252, 20278, MIMECONTF_MIME_LATEST }, { L"IBM280", 1252, 20280, MIMECONTF_MIME_LATEST }, { L"IBM284", 1252, 20284, MIMECONTF_MIME_LATEST }, { L"IBM285", 1252, 20285, MIMECONTF_MIME_LATEST }, { L"IBM290", 932, 20290, MIMECONTF_MIME_LATEST }, { L"IBM297", 1252, 20297, MIMECONTF_MIME_LATEST }, { L"IBM367", 1252, 20127, MIMECONTF_MIME_LATEST}, { L"IBM367", 1252, 1252, MIMECONTF_MIME_IE4}, { L"IBM420", 1256, 20420, MIMECONTF_MIME_LATEST }, { L"IBM423", 1253, 20423, MIMECONTF_MIME_LATEST }, { L"IBM424", 1255, 20424, MIMECONTF_MIME_LATEST }, { L"IBM437", 1252, 437, MIMECONTF_MIME_LATEST}, { L"IBM500", 1252, 500, MIMECONTF_MIME_LATEST }, { L"ibm737", 1252, 737, MIMECONTF_MIME_LATEST}, { L"ibm775", 1257, 775, MIMECONTF_MIME_LATEST}, { L"ibm819", 1252, 28591, MIMECONTF_MIME_LATEST}, { L"ibm819", 1252, 1252, MIMECONTF_MIME_IE4}, { L"IBM850", 1252, 850, MIMECONTF_MIME_LATEST }, { L"IBM852", 1250, 852, MIMECONTF_MIME_LATEST }, { L"IBM852", 852, 852, MIMECONTF_MIME_IE4 }, { L"IBM855", 1250, 855, MIMECONTF_MIME_LATEST }, { L"IBM857", 1254, 857, MIMECONTF_MIME_LATEST }, { L"IBM860", 1252, 860, MIMECONTF_MIME_LATEST }, { L"IBM861", 1252, 861, MIMECONTF_MIME_LATEST }, { L"IBM862", 1255, 862, MIMECONTF_MIME_LATEST }, { L"IBM863", 1252, 863, MIMECONTF_MIME_LATEST }, { L"IBM864", 1256, 864, MIMECONTF_MIME_LATEST }, { L"IBM865", 1252, 865, MIMECONTF_MIME_LATEST }, { L"IBM866", 1251, 866, MIMECONTF_MIME_LATEST }, { L"IBM866", 866, 866, MIMECONTF_MIME_IE4 }, { L"IBM869", 1253, 869, MIMECONTF_MIME_LATEST }, { L"IBM870", 1250, 870, MIMECONTF_MIME_LATEST }, { L"IBM871", 1252, 20871, MIMECONTF_MIME_LATEST }, { L"IBM880", 1251, 20880, MIMECONTF_MIME_LATEST }, { L"IBM905", 1254, 20905, MIMECONTF_MIME_LATEST }, { L"IBM-Thai", 874, 20838, MIMECONTF_MIME_LATEST }, { L"irv", 1252, 20105, MIMECONTF_MIME_LATEST}, { L"ISO_646.irv:1991", 1252, 20127, MIMECONTF_MIME_LATEST}, { L"ISO_646.irv:1991", 1252, 1252, MIMECONTF_MIME_IE4}, { L"iso_8859-1", 1252, 28591, MIMECONTF_MIME_LATEST}, { L"iso_8859-1", 1252, 1252, MIMECONTF_MIME_IE4 }, { L"iso_8859-1:1987", 1252, 28591, MIMECONTF_MIME_LATEST }, { L"iso_8859-1:1987", 1252, 1252, MIMECONTF_MIME_IE4 }, { L"ISO_8859-15", 1252, 28605, MIMECONTF_MIME_LATEST}, { L"iso_8859-2", 1250, 28592, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"iso_8859-2:1987", 1250, 28592, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"ISO_8859-3", 1254, 28593, MIMECONTF_MIME_LATEST}, { L"ISO_8859-3:1988", 1254, 28593, MIMECONTF_MIME_LATEST}, { L"ISO_8859-4", 1257, 28594, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"ISO_8859-4:1988", 1257, 28594, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"ISO_8859-5", 1251, 28595, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"ISO_8859-5:1988", 1251, 28595, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"ISO_8859-6", 1256, 28596, MIMECONTF_MIME_LATEST}, { L"ISO_8859-6", 1256, 1256, MIMECONTF_MIME_IE4}, { L"ISO_8859-6:1987", 1256, 28596, MIMECONTF_MIME_LATEST}, { L"ISO_8859-6:1987", 1256, 1256, MIMECONTF_MIME_IE4}, { L"ISO_8859-7", 1253, 28597, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"ISO_8859-7:1987", 1253, 28597, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"ISO_8859-8", 1255, 28598, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"ISO_8859-8:1988", 1255, 28598, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"ISO_8859-8-I", 1255, 1255, MIMECONTF_MIME_IE4 }, { L"ISO_8859-9", 1254, 28599, MIMECONTF_MIME_LATEST}, { L"ISO_8859-9", 1254, 1254, MIMECONTF_MIME_IE4 }, { L"ISO_8859-9:1989", 1254, 28599, MIMECONTF_MIME_LATEST}, { L"ISO_8859-9:1989", 1254, 1254, MIMECONTF_MIME_IE4 }, { L"iso-2022-jp", 932, 50220, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"iso-2022-jpeuc", 932, 51932, MIMECONTF_MIME_LATEST}, { L"iso-2022-kr", 949, 50225, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"iso-2022-kr-7", 949, 50225, MIMECONTF_MIME_LATEST}, { L"iso-2022-kr-7bit", 949, 50225, MIMECONTF_MIME_LATEST}, { L"iso-2022-kr-8", 949, 51949, MIMECONTF_MIME_LATEST }, { L"iso-2022-kr-8bit", 949, 51949, MIMECONTF_MIME_LATEST }, { L"ISO646-US", 1252, 20127, MIMECONTF_MIME_LATEST }, { L"ISO646-US", 1252, 1252, MIMECONTF_MIME_IE4}, { L"iso8859-1", 1252, 28591, MIMECONTF_MIME_LATEST }, { L"iso8859-1", 1252, 1252, MIMECONTF_MIME_IE4 }, { L"iso-8859-1", 1252, 28591, MIMECONTF_MIME_LATEST}, { L"iso-8859-1", 1252, 1252, MIMECONTF_MIME_IE4}, { L"iso-8859-11", 874, 874, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"iso-8859-13", 1257, 28603, MIMECONTF_MIME_LATEST}, { L"iso-8859-15", 1252, 28605, MIMECONTF_MIME_LATEST}, { L"iso8859-2", 1250, 28592, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"iso-8859-2", 1250, 28592, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"iso-8859-3", 1254, 28593, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"iso-8859-4", 1257, 28594, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"iso-8859-5", 1251, 28595, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"iso-8859-6", 1256, 28596, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"iso-8859-7", 1253, 28597, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"iso-8859-8", 1255, 28598, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"ISO-8859-8 Visual", 1255, 28598, MIMECONTF_MIME_LATEST}, { L"ISO-8859-8 Visual", 1255, 1255, MIMECONTF_MIME_IE4}, { L"iso-8859-8-i", 1255, 38598, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"iso-8859-9", 1254, 28599, MIMECONTF_MIME_LATEST}, { L"iso-8859-9", 1254, 1254, MIMECONTF_MIME_IE4 }, { L"iso-ir-100", 1252, 28591, MIMECONTF_MIME_LATEST}, { L"iso-ir-100", 1252, 1252, MIMECONTF_MIME_IE4 }, { L"iso-ir-101", 1250, 28592, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"iso-ir-109", 1254, 28593, MIMECONTF_MIME_LATEST}, { L"iso-ir-110", 1257, 28594, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"iso-ir-126", 1253, 28597, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"iso-ir-127", 1256, 28596, MIMECONTF_MIME_LATEST }, { L"iso-ir-127", 1256, 1256, MIMECONTF_MIME_IE4}, { L"iso-ir-138", 1255, 28598, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"iso-ir-144", 1251, 28595, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"iso-ir-148", 1254, 28599, MIMECONTF_MIME_LATEST}, { L"iso-ir-148", 1254, 1254, MIMECONTF_MIME_IE4 }, { L"iso-ir-149", 949, 949, MIMECONTF_MIME_LATEST}, { L"iso-ir-58", 936, 936, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"iso-ir-6", 1252, 20127, MIMECONTF_MIME_LATEST}, { L"iso-ir-6", 1252, 1252, MIMECONTF_MIME_IE4}, { L"Johab", 1361, 1361, MIMECONTF_MIME_LATEST}, { L"koi", 1251, 20866, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"koi8", 1251, 20866, MIMECONTF_MIME_LATEST}, { L"koi8r", 1251, 20866, MIMECONTF_MIME_LATEST}, { L"koi8-r", 1251, 20866, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"koi8-ru", 1251, 21866, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"koi8-u", 1251, 21866, MIMECONTF_MIME_LATEST}, { L"korean", 949, 949, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"ks_c_5601", 949, 949, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"ks_c_5601_1987", 949, 949, MIMECONTF_MIME_LATEST}, { L"ks_c_5601-1987", 949, 949, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"ks_c_5601-1989", 949, 949, MIMECONTF_MIME_LATEST}, { L"KSC_5601", 949, 949, MIMECONTF_MIME_LATEST}, { L"KSC5601", 949, 949, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"ks-c5601", 949, 949, MIMECONTF_MIME_LATEST}, { L"ks-c-5601", 949, 949, MIMECONTF_MIME_LATEST}, { L"l1", 1252, 28591, MIMECONTF_MIME_LATEST}, { L"l2", 1250, 28592, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"l3", 1254, 28593, MIMECONTF_MIME_LATEST}, { L"l4", 1257, 28594, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"l5", 1254, 28599, MIMECONTF_MIME_LATEST }, { L"l5", 1251, 28595, MIMECONTF_MIME_IE4 }, { L"l9", 1252, 28605, MIMECONTF_MIME_LATEST }, { L"latin1", 1252, 28591, MIMECONTF_MIME_LATEST }, { L"latin1", 1252, 1252, MIMECONTF_MIME_IE4 }, { L"latin2", 1250, 28592, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"latin3", 1254, 28593, MIMECONTF_MIME_LATEST}, { L"latin4", 1257, 28594, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"latin5", 1254, 28599, MIMECONTF_MIME_LATEST}, { L"latin5", 1254, 1254, MIMECONTF_MIME_IE4}, { L"latin9", 1252, 28605, MIMECONTF_MIME_LATEST}, { L"logical", 1255, 28598, MIMECONTF_MIME_LATEST}, { L"logical", 1255, 1255, MIMECONTF_MIME_IE4}, { L"macintosh", 1252, 10000, MIMECONTF_MIME_LATEST}, { L"ms_Kanji", 932, 932, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"Norwegian", 1252, 20108, MIMECONTF_MIME_LATEST}, { L"NS_4551-1", 1252, 20108, MIMECONTF_MIME_LATEST}, { L"PC-Multilingual-850+euro", 1252, 858, MIMECONTF_MIME_LATEST }, { L"SEN_850200_B", 1252, 20107, MIMECONTF_MIME_LATEST}, { L"shift_jis", 932, 932, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"shift-jis", 932, 932, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"sjis", 932, 932, MIMECONTF_MIME_LATEST}, { L"Swedish", 1252, 20107, MIMECONTF_MIME_LATEST}, { L"TIS-620", 874, 874, MIMECONTF_MIME_LATEST}, { L"unicode", 1200, 1200, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"unicode-1-1-utf-7", 1200, 65000, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"unicode-1-1-utf-8", 1200, 65001, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"unicode-2-0-utf-7", 1200, 65000, MIMECONTF_MIME_LATEST}, { L"unicode-2-0-utf-8",1200, 65001, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"unicodeFFFE", 1200, 1201, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"us", 1252, 20127, MIMECONTF_MIME_LATEST}, { L"us", 1252, 1252, MIMECONTF_MIME_IE4}, { L"us-ascii", 1252, 20127, MIMECONTF_MIME_LATEST}, { L"us-ascii", 1252, 1252, MIMECONTF_MIME_IE4}, { L"utf-16", 1200, 1200, MIMECONTF_MIME_LATEST }, { L"UTF-16BE", 1200, 1201, MIMECONTF_MIME_LATEST }, { L"UTF-16LE", 1200, 1200, MIMECONTF_MIME_LATEST }, { L"utf-7", 1200, 65000, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"utf-8", 1200, 65001, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"visual", 1255, 28598, MIMECONTF_MIME_LATEST}, { L"visual", 1255, 1255, MIMECONTF_MIME_IE4 }, { L"windows-1250", 1250, 1250, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"windows-1251", 1251, 1251, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"windows-1252", 1252, 1252, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"windows-1253", 1253, 1253, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"Windows-1254", 1254, 1254, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"windows-1255", 1255, 1255, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"windows-1256", 1256, 1256, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"windows-1257", 1257, 1257, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"windows-1258", 1258, 1258, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"windows-874", 874, 874, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"x-ansi", 1252, 1252, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"x-Chinese-CNS", 950, 20000, MIMECONTF_MIME_LATEST}, { L"x-Chinese-Eten", 950, 20002, MIMECONTF_MIME_LATEST}, { L"x-cp1250", 1250, 1250, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"x-cp1251", 1251, 1251, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"x-cp20001", 1252, 20001, MIMECONTF_MIME_LATEST }, { L"x-cp20003", 1252, 20003, MIMECONTF_MIME_LATEST }, { L"x-cp20004", 1252, 20004, MIMECONTF_MIME_LATEST }, { L"x-cp20005", 1252, 20005, MIMECONTF_MIME_LATEST }, { L"x-cp20261", 1252, 20261, MIMECONTF_MIME_LATEST }, { L"x-cp20269", 1252, 20269, MIMECONTF_MIME_LATEST }, { L"x-cp20936", 1252, 20936, MIMECONTF_MIME_LATEST }, { L"x-cp20949", 1252, 20949, MIMECONTF_MIME_LATEST }, { L"x-cp21027", 1252, 21027, MIMECONTF_MIME_LATEST }, { L"x-cp50227", 1252, 50227, MIMECONTF_MIME_LATEST }, { L"x-cp50229", 1252, 50229, MIMECONTF_MIME_LATEST }, { L"X-EBCDIC-JapaneseAndUSCanada", 932, 50931, MIMECONTF_MIME_LATEST }, { L"X-EBCDIC-KoreanExtended", 949, 20833, MIMECONTF_MIME_LATEST }, { L"x-euc", 932, 51932, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"x-euc-cn", 936, 51936, MIMECONTF_MIME_LATEST}, { L"x-euc-jp", 932, 51932, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"x-Europa", 1252, 29001, MIMECONTF_MIME_LATEST}, { L"x-IA5", 1252, 20105, MIMECONTF_MIME_LATEST}, { L"x-IA5-German", 1252, 20106, MIMECONTF_MIME_LATEST}, { L"x-IA5-Norwegian", 1252, 20108, MIMECONTF_MIME_LATEST}, { L"x-IA5-Swedish", 1252, 20107, MIMECONTF_MIME_LATEST}, { L"x-iscii-as", 57006, 57006, MIMECONTF_MIME_LATEST}, { L"x-iscii-be", 57003, 57003, MIMECONTF_MIME_LATEST}, { L"x-iscii-de", 57002, 57002, MIMECONTF_MIME_LATEST}, { L"x-iscii-gu", 57010, 57010, MIMECONTF_MIME_LATEST}, { L"x-iscii-ka", 57008, 57008, MIMECONTF_MIME_LATEST}, { L"x-iscii-ma", 57009, 57009, MIMECONTF_MIME_LATEST}, { L"x-iscii-or", 57007, 57007, MIMECONTF_MIME_LATEST}, { L"x-iscii-pa", 57011, 57011, MIMECONTF_MIME_LATEST}, { L"x-iscii-ta", 57004, 57004, MIMECONTF_MIME_LATEST}, { L"x-iscii-te", 57005, 57005, MIMECONTF_MIME_LATEST}, { L"x-mac-arabic", 1256, 10004, MIMECONTF_MIME_LATEST}, { L"x-mac-ce", 1250, 10029, MIMECONTF_MIME_LATEST}, { L"x-mac-chinesesimp", 936, 10008, MIMECONTF_MIME_LATEST}, { L"x-mac-chinesetrad", 950, 10002, MIMECONTF_MIME_LATEST}, { L"x-mac-croatian", 1250, 10082, MIMECONTF_MIME_LATEST}, { L"x-mac-cyrillic", 1251, 10007, MIMECONTF_MIME_LATEST}, { L"x-mac-greek", 1253, 10006, MIMECONTF_MIME_LATEST}, { L"x-mac-hebrew", 1255, 10005, MIMECONTF_MIME_LATEST}, { L"x-mac-icelandic", 1252, 10079, MIMECONTF_MIME_LATEST}, { L"x-mac-japanese", 932, 10001, MIMECONTF_MIME_LATEST}, { L"x-mac-korean", 949, 10003, MIMECONTF_MIME_LATEST}, { L"x-mac-romanian", 1250, 10010, MIMECONTF_MIME_LATEST}, { L"x-mac-thai", 874, 10021, MIMECONTF_MIME_LATEST}, { L"x-mac-turkish", 1254, 10081, MIMECONTF_MIME_LATEST}, { L"x-mac-ukrainian", 1251, 10017, MIMECONTF_MIME_LATEST}, { L"x-ms-cp932", 932, 932, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"x-sjis", 932, 932, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4 }, { L"x-unicode-1-1-utf-7", 1200, 65000, MIMECONTF_MIME_LATEST}, { L"x-unicode-1-1-utf-8", 1200, 65001, MIMECONTF_MIME_LATEST}, { L"x-unicode-2-0-utf-7", 1200, 65000, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"x-unicode-2-0-utf-8", 1200, 65001, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"x-user-defined", 50000, 50000, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, { L"x-x-big5", 950, 950, MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4}, // { Charset, CodePage, InternetEncoding, Flags }
};
// Hard code sorted table by code page description and family code page.
MIMECODEPAGE MimeCodePage[] = { // { CodePage, HeaderCharset, BodyCharset, WebCharset, FixedWidthFont, ProportionalFont, Description, FamilyCodePage, Flags }
{ 864, NULL, L"IBM864", NULL, 0, 0, IDS_DESC_864, 1256, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 708, NULL, L"ASMO-708", NULL, 0, 0, IDS_DESC_708, 1256, 0x00000606|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 708, NULL, L"ASMO-708", NULL, 0, 0, IDS_DESC_708, 1256, 0x00000707|MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 51256, NULL, L"_autodetect_arabic", L"windows-1256", 0, 0, IDS_DESC_51256, 1256, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT }, { 720, NULL, L"DOS-720", NULL, 0, 0, IDS_DESC_720, 1256, 0x00000606|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 720, NULL, L"DOS-720", NULL, 0, 0, IDS_DESC_720, 1256, 0x00000707|MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 28596, NULL, L"iso-8859-6", NULL, 0, 0, IDS_DESC_28596, 1256, 0x00000707|MIMECONTF_MIME_LATEST|MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 10004, NULL, L"x-mac-arabic", NULL, 0, 0, IDS_DESC_10004, 1256, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1256, NULL, L"windows-1256", NULL, IDS_FONT_ARABIC_FIXED, IDS_FONT_ARABIC_PROP, IDS_DESC_1256, 0, 0x00000303|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1256, NULL, L"windows-1256", L"windows-1256", IDS_FONT_WESTERN_FIXED, IDS_FONT_WESTERN_PROP, IDS_DESC_1256, 0, 0x00000707| MIMECONTF_MIME_IE4}, { 50001, NULL, L"_autodetect_all", NULL, 0, 0, IDS_DESC_50001, 0, 0x00000007|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT}, { 775, NULL, L"ibm775", NULL, 0, 0, IDS_DESC_775, 1257, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 28594, NULL, L"iso-8859-4", NULL, 0, 0, IDS_DESC_28594, 1257, 0x00000303|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 28594, NULL, L"iso-8859-4", NULL, 0, 0, IDS_DESC_28594, 1257, 0x00000301|MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 1257, L"windows-1257", L"windows-1257", L"windows-1257", IDS_FONT_WESTERN_FIXED, IDS_FONT_WESTERN_PROP, IDS_DESC_1257, 0, 0x00000707|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1257, NULL, L"iso-8859-4", L"windows-1257", IDS_FONT_WESTERN_FIXED, IDS_FONT_WESTERN_PROP, IDS_DESC_1257, 0, 0x00000707|MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 852, NULL, L"ibm852", NULL, 0, 0, IDS_DESC_852, 1250, 0x00000202|MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 28592, NULL, L"iso-8859-2", NULL, 0, 0, IDS_DESC_28592, 1250, 0x00000707|MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 10029, NULL, L"x-mac-ce", NULL, 0, 0, IDS_DESC_10029, 1250, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1250, L"windows-1250", L"iso-8859-2", L"windows-1250", IDS_FONT_WESTERN_FIXED, IDS_FONT_WESTERN_PROP, IDS_DESC_1250, 0, 0x00000303|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1250, NULL, L"iso-8859-2", L"windows-1250", IDS_FONT_WESTERN_FIXED, IDS_FONT_WESTERN_PROP, IDS_DESC_1250, 0, 0x00000303|MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 50936, NULL, L"_autodetect_chs", NULL, 0, 0, IDS_DESC_50936, 936, MIMECONTF_MIME_LATEST| MIMECONTF_IMPORT }, { 51936, NULL, L"EUC-CN", NULL, 0, 0, IDS_DESC_51936, 936, 0x00000000|MIMECONTF_MIME_LATEST|MIMECONTF_EXPORT|MIMECONTF_IMPORT}, { 54936, NULL, L"GB18030", NULL, IDS_FONT_CHINESE_FIXED, IDS_FONT_CHINESE_PROP, IDS_DESC_54936, 936, 0x00000707|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 936, NULL, L"gb2312", NULL, IDS_FONT_CHINESE_FIXED, IDS_FONT_CHINESE_PROP, IDS_DESC_936, 0, 0x00000707|MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20936, NULL, L"x-cp20936", NULL, 0, 0, IDS_DESC_20936, 936, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 52936, NULL, L"hz-gb-2312", NULL, 0, 0, IDS_DESC_52936, 936, 0x00000303|MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 50227, NULL, L"x-cp50227", NULL, 0, 0, IDS_DESC_50227, 936, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 10008, NULL, L"x-mac-chinesesimp", NULL, 0, 0, IDS_DESC_10008, 936, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 50950, NULL, L"_autodetect_cht", NULL, 0, 0, IDS_DESC_50950, 950, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT}, { 950, NULL, L"big5", NULL, IDS_FONT_TAIWAN_FIXED, IDS_FONT_TAIWAN_PROP, IDS_DESC_950, 0, 0x00000707|MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20000, NULL, L"x-Chinese-CNS", NULL, 0, 0, IDS_DESC_20000, 950, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20002, NULL, L"x-Chinese-Eten", NULL, 0, 0, IDS_DESC_20002, 950, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 50229, NULL, L"x-cp50229", NULL, 0, 0, IDS_DESC_50229, 950, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 10002, NULL, L"x-mac-chinesetrad", NULL, 0, 0, IDS_DESC_10002, 950, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 10082, NULL, L"x-mac-croatian", NULL, 0, 0, IDS_DESC_10082, 1250, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 51251, NULL, L"_auto_detect_cyrillic", L"windows-1251", 0, 0, IDS_DESC_51251, 1251, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT}, { 866, NULL, L"cp866", NULL, 0, 0, IDS_DESC_866, 1251, 0x00000202|MIMECONTF_MIME_LATEST|MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 28595, NULL, L"iso-8859-5", NULL, 0, 0, IDS_DESC_28595, 1251, 0x00000707|MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 20866, NULL, L"koi8-r", NULL, 0, 0, IDS_DESC_20866, 1251, 0x00000707|MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 21866, NULL, L"koi8-u", NULL, 0, 0, IDS_DESC_21866, 1251, 0x00000707|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 21866, NULL, L"koi8-ru", NULL, 0, 0, IDS_DESC_21866, 1251, 0x00000707|MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 10007, NULL, L"x-mac-cyrillic", NULL, 0, 0, IDS_DESC_10007, 1251, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1251, L"windows-1251", L"koi8-r", L"windows-1251", IDS_FONT_WESTERN_FIXED, IDS_FONT_WESTERN_PROP, IDS_DESC_1251, 0, 0x00000303|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 1251, NULL, L"koi8-r", L"windows-1251", IDS_FONT_WESTERN_FIXED, IDS_FONT_WESTERN_PROP, IDS_DESC_1251, 0, 0x00000303|MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 28603, NULL, L"iso-8859-13", NULL, 0, 0, IDS_DESC_28603, 1257, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 29001, NULL, L"x-Europa", NULL, 0, 0, IDS_DESC_29001, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 21027, NULL, L"x-cp21027", NULL, 0, 0, IDS_DESC_21027, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 863, NULL, L"IBM863", NULL, 0, 0, IDS_DESC_863, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20106, NULL, L"x-IA5-German", NULL, 0, 0, IDS_DESC_20106, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 51253, NULL, L"_auto_detect_greek", L"windows-1253", 0, 0, IDS_DESC_51253, 1253, MIMECONTF_MIME_LATEST| MIMECONTF_IMPORT}, { 737, NULL, L"ibm737", NULL, 0, 0, IDS_DESC_737, 1253, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 28597, NULL, L"iso-8859-7", NULL, 0, 0, IDS_DESC_28597, 1253, 0x00000707|MIMECONTF_MIME_LATEST|MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 10006, NULL, L"x-mac-greek", NULL, 0, 0, IDS_DESC_10006, 1253, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1253, L"windows-1253", L"iso-8859-7", L"windows-1253", IDS_FONT_WESTERN_FIXED, IDS_FONT_WESTERN_PROP, IDS_DESC_1253, 0, 0x00000303|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1253, NULL, L"iso-8859-7", L"windows-1253", IDS_FONT_WESTERN_FIXED, IDS_FONT_WESTERN_PROP, IDS_DESC_1253, 0, 0x00000303|MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 869, NULL, L"ibm869", NULL, 0, 0, IDS_DESC_869, 1253, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 862, NULL, L"DOS-862", NULL, 0, 0, IDS_DESC_862, 1255, 0x00000606|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 862, NULL, L"DOS-862", NULL, 0, 0, IDS_DESC_862, 1255, 0x00000707|MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 38598, NULL, L"iso-8859-8-i", NULL, 0, 0, IDS_DESC_38598, 1255, 0x00000707|MIMECONTF_MIME_LATEST|MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 28598, NULL, L"iso-8859-8", NULL, 0, 0, IDS_DESC_28598, 1255, 0x00000606|MIMECONTF_MIME_LATEST|MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 10005, NULL, L"x-mac-hebrew", NULL, 0, 0, IDS_DESC_10005, 1255, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1255, NULL, L"windows-1255", NULL, IDS_FONT_HEBREW_FIXED, IDS_FONT_HEBREW_PROP, IDS_DESC_1255, 0, 0x00000303|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 1255, NULL, L"iso-8859-8", L"windows-1255", IDS_FONT_WESTERN_FIXED, IDS_FONT_WESTERN_PROP, IDS_DESC_1255, 0, 0x00000707|MIMECONTF_MIME_IE4}, { 20003, NULL, L"x-cp20003", NULL, 0, 0, IDS_DESC_20003, 950, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20420, NULL, L"IBM420", NULL, 0, 0, IDS_DESC_20420, 1256, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20880, NULL, L"IBM880", NULL, 0, 0, IDS_DESC_20880, 1251, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 21025, NULL, L"cp1025", NULL, 0, 0, IDS_DESC_21025, 1251, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20277, NULL, L"IBM277", NULL, 0, 0, IDS_DESC_20277, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1142, NULL, L"IBM01142", NULL, 0, 0, IDS_DESC_1142, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20278, NULL, L"IBM278", NULL, 0, 0, IDS_DESC_20278, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1143, NULL, L"IBM01143", NULL, 0, 0, IDS_DESC_1143, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20297, NULL, L"IBM297", NULL, 0, 0, IDS_DESC_20297, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1147, NULL, L"IBM01147", NULL, 0, 0, IDS_DESC_1147, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20273, NULL, L"IBM273", NULL, 0, 0, IDS_DESC_20273, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1141, NULL, L"IBM01141", NULL, 0, 0, IDS_DESC_1141, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20423, NULL, L"IBM423", NULL, 0, 0, IDS_DESC_20423, 1253, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 875, NULL, L"cp875", NULL, 0, 0, IDS_DESC_875, 1253, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20424, NULL, L"IBM424", NULL, 0, 0, IDS_DESC_20424, 1255, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20871, NULL, L"IBM871", NULL, 0, 0, IDS_DESC_20871, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1149, NULL, L"IBM01149", NULL, 0, 0, IDS_DESC_1149, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 500, NULL, L"IBM500", NULL, 0, 0, IDS_DESC_500, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1148, NULL, L"IBM01148", NULL, 0, 0, IDS_DESC_1148, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20280, NULL, L"IBM280", NULL, 0, 0, IDS_DESC_20280, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1144, NULL, L"IBM01144", NULL, 0, 0, IDS_DESC_1144, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 50930, NULL, L"cp930", NULL, 0, 0, IDS_DESC_50930, 932, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 50939, NULL, L"cp939", NULL, 0, 0, IDS_DESC_50939, 932, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 50931, NULL, L"x-EBCDIC-JapaneseAndUSCanada", NULL, 0, 0, IDS_DESC_50931, 932, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20290, NULL, L"IBM290", NULL, 0, 0, IDS_DESC_20290, 932, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 50933, NULL, L"cp933", NULL, 0, 0, IDS_DESC_50933, 949, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20833, NULL, L"x-EBCDIC-KoreanExtended", NULL, 0, 0, IDS_DESC_20833, 949, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 870, NULL, L"IBM870", NULL, 0, 0, IDS_DESC_870, 1250, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 50935, NULL, L"cp935", NULL, 0, 0, IDS_DESC_50935, 936, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20284, NULL, L"IBM284", NULL, 0, 0, IDS_DESC_20284, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1145, NULL, L"IBM01145", NULL, 0, 0, IDS_DESC_1145, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20838, NULL, L"IBM-Thai", NULL, 0, 0, IDS_DESC_20838, 874, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 50937, NULL, L"cp937", NULL, 0, 0, IDS_DESC_50937, 950, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20905, NULL, L"IBM905", NULL, 0, 0, IDS_DESC_20905, 1254, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1026, NULL, L"IBM1026", NULL, 0, 0, IDS_DESC_1026, 1254, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20285, NULL, L"IBM285", NULL, 0, 0, IDS_DESC_20285, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1146, NULL, L"IBM01146", NULL, 0, 0, IDS_DESC_1146, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 37, NULL, L"IBM037", NULL, 0, 0, IDS_DESC_37, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1140, NULL, L"IBM01140", NULL, 0, 0, IDS_DESC_1140, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1047, NULL, L"IBM01047", NULL, 0, 0, IDS_DESC_1047, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20924, NULL, L"IBM00924", NULL, 0, 0, IDS_DESC_20924, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 861, NULL, L"ibm861", NULL, 0, 0, IDS_DESC_861, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 10079, NULL, L"x-mac-icelandic", NULL, 0, 0, IDS_DESC_10079, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 57006, NULL, L"x-iscii-as", NULL, 0, 0, IDS_DESC_57006, 0, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 57003, NULL, L"x-iscii-be", NULL, 0, 0, IDS_DESC_57003, 0, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 57002, NULL, L"x-iscii-de", NULL, IDS_FONT_DEVANAGARI_FIXED, IDS_FONT_DEVANAGARI_PROP, IDS_DESC_57002, 0, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 57010, NULL, L"x-iscii-gu", NULL, 0, 0, IDS_DESC_57010, 0, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 57008, NULL, L"x-iscii-ka", NULL, 0, 0, IDS_DESC_57008, 0, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 57009, NULL, L"x-iscii-ma", NULL, 0, 0, IDS_DESC_57009, 0, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 57007, NULL, L"x-iscii-or", NULL, 0, 0, IDS_DESC_57007, 0, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 57011, NULL, L"x-iscii-pa", NULL, 0, 0, IDS_DESC_57011, 0, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 57004, NULL, L"x-iscii-ta", NULL, IDS_FONT_TAMIL_FIXED, IDS_FONT_TAMIL_PROP, IDS_DESC_57004, 0, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 57005, NULL, L"x-iscii-te", NULL, 0, 0, IDS_DESC_57005, 0, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20269, NULL, L"x-cp20269", NULL, 0, 0, IDS_DESC_20269, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 50932, NULL, L"_autodetect", NULL, 0, 0, IDS_DESC_50932, 932, 0x00000007|MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT}, { 51932, NULL, L"euc-jp", NULL, 0, 0, IDS_DESC_51932, 932, 0x00000707|MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 50220, NULL, L"iso-2022-jp", NULL, 0, 0, IDS_DESC_50220, 932, 0x00000101|MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 20932, NULL, L"EUC-JP", NULL, 0, 0, IDS_DESC_20932, 932, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 50221, NULL, L"iso-2022-jp", L"csISO2022JP", 0, 0, IDS_DESC_50221, 932, 0x00000301|MIMECONTF_MIME_LATEST|MIMECONTF_EXPORT}, { 50221, NULL, L"_iso-2022-jp$ESC", L"csISO2022JP", 0, 0, IDS_DESC_50221, 932, 0x00000301|MIMECONTF_MIME_IE4|MIMECONTF_EXPORT}, { 50222, NULL, L"iso-2022-jp", NULL, 0, 0, IDS_DESC_50222, 932, MIMECONTF_MIME_LATEST|MIMECONTF_EXPORT}, { 50222, NULL, L"_iso-2022-jp$SIO", L"iso-2022-jp", 0, 0, IDS_DESC_50222, 932, MIMECONTF_MIME_IE4|MIMECONTF_EXPORT}, { 10001, NULL, L"x-mac-japanese", NULL, 0, 0, IDS_DESC_10001, 932, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 932, NULL, L"iso-2022-jp", L"shift_jis", IDS_FONT_JAPANESE_FIXED, IDS_FONT_JAPANESE_PROP, IDS_DESC_932, 0, 0x00000707|MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 949, NULL, L"ks_c_5601-1987", NULL, IDS_FONT_KOREAN_FIXED, IDS_FONT_KOREAN_PROP, IDS_DESC_949, 0, 0x00000707|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 949, L"euc-kr", L"euc-kr", L"ks_c_5601-1987", IDS_FONT_KOREAN_FIXED4, IDS_FONT_KOREAN_PROP4, IDS_DESC_949, 0, 0x00000707| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 50949, NULL, L"_autodetect_kr", NULL, 0, 0, IDS_DESC_50949, 949, 0x00000001|MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT}, { 51949, NULL, L"euc-kr", NULL, 0, 0, IDS_DESC_51949, 949, 0x00000000|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT|MIMECONTF_MAILNEWS|MIMECONTF_SAVABLE_MAILNEWS}, { 51949, NULL, L"euc-kr", NULL, 0, 0, IDS_DESC_51949, 949, 0x00000000| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 50225, L"euc-kr", L"iso-2022-kr", L"iso-2022-kr", 0, 0, IDS_DESC_50225, 949, 0x00000001|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 50225, NULL, L"iso-2022-kr", L"iso-2022-kr", 0, 0, IDS_DESC_50225, 949, 0x00000101| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 1361, NULL, L"Johab", NULL,IDS_FONT_KOREAN_FIXED, IDS_FONT_KOREAN_PROP, IDS_DESC_1361, 949, 0x00000000|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 10003, NULL, L"x-mac-korean", NULL, 0, 0, IDS_DESC_10003, 949, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20949, NULL, L"x-cp20949", NULL, 0, 0, IDS_DESC_20949, 949, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 28593, NULL, L"iso-8859-3", NULL, 0, 0, IDS_DESC_28593, 1254, 0x00000501|MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 28605, NULL, L"iso-8859-15", NULL, 0, 0, IDS_DESC_28605, 1252, 0x00000701|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 865, NULL, L"IBM865", NULL, 0, 0, IDS_DESC_865, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 20108, NULL, L"x-IA5-Norwegian", NULL, 0, 0, IDS_DESC_20108, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 855, NULL, L"IBM855", NULL, 0, 0, IDS_DESC_855, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 437, NULL, L"IBM437", NULL, 0, 0, IDS_DESC_437, 1252, 0x00000000|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 858, NULL, L"IBM00858", NULL, 0, 0, IDS_DESC_858, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 860, NULL, L"IBM860", NULL, 0, 0, IDS_DESC_860, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 10010, NULL, L"x-mac-romanian", NULL, 0, 0, IDS_DESC_10010, 1250, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20107, NULL, L"x-IA5-Swedish", NULL, 0, 0, IDS_DESC_20107, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20261, NULL, L"x-cp20261", NULL, 0, 0, IDS_DESC_20261, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20001, NULL, L"x-cp20001", NULL, 0, 0, IDS_DESC_20001, 950, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20004, NULL, L"x-cp20004", NULL, 0, 0, IDS_DESC_20004, 950, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 10021, NULL, L"x-mac-thai", NULL, IDS_FONT_THAI_FIXED, IDS_FONT_THAI_PROP, IDS_DESC_10021, 874, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 874, NULL, L"windows-874", NULL, IDS_FONT_THAI_FIXED, IDS_FONT_THAI_PROP, IDS_DESC_874, 0, 0x00000707|MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 874, NULL, L"windows-874", NULL, IDS_FONT_THAI_FIXED2, IDS_FONT_THAI_PROP2, IDS_DESC_874, 0, 0x00000707|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 857, NULL, L"ibm857", NULL, 0, 0, IDS_DESC_857, 1254, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 28599, NULL, L"iso-8859-9", NULL, 0, 0, IDS_DESC_28599, 1254, 0x00000707|MIMECONTF_MIME_LATEST| MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 10081, NULL, L"x-mac-turkish", NULL, 0, 0, IDS_DESC_10081, 1254, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1254, L"windows-1254", L"iso-8859-9", L"windows-1254", IDS_FONT_WESTERN_FIXED, IDS_FONT_WESTERN_PROP, IDS_DESC_1254, 0, 0x00000707|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 10017, NULL, L"x-mac-ukrainian", NULL, 0, 0, IDS_DESC_10017, 1251, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 1254, NULL, L"iso-8859-9", L"iso-8859-9", IDS_FONT_WESTERN_FIXED, IDS_FONT_WESTERN_PROP, IDS_DESC_1254, 0, 0x00000707|MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 1200, NULL, L"unicode", NULL, IDS_FONT_WESTERN_FIXED, IDS_FONT_WESTERN_PROP, IDS_DESC_1200, 0, 0x00000204|MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 1201, NULL, L"unicodeFFFE", NULL, 0, 0, IDS_DESC_1201, 1200, 0x00000000|MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 65000, NULL, L"utf-7", NULL, 0, 0, IDS_DESC_65000, 1200, 0x00000101|MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 65001, NULL, L"utf-8", NULL, 0, 0, IDS_DESC_65001, 1200, 0x00000303|MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 20127, NULL, L"us-ascii", NULL, 0, 0, IDS_DESC_20127, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT|MIMECONTF_MAILNEWS|MIMECONTF_SAVABLE_MAILNEWS}, { 50000, NULL, L"x-user-defined", NULL, IDS_FONT_WESTERN_FIXED, IDS_FONT_UNICODE_PROP, IDS_DESC_50000, 0, 0x00000707|MIMECONTF_MIME_LATEST| MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 1258, NULL, L"windows-1258", NULL, IDS_FONT_WESTERN_FIXED, IDS_FONT_WESTERN_PROP, IDS_DESC_1258, 0, 0x00000303|MIMECONTF_MIME_LATEST|MIMECONTF_MIME_IE4|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 20005, NULL, L"x-cp20005", NULL, 0, 0, IDS_DESC_20005, 950, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1252, NULL, L"iso-8859-1", NULL, IDS_FONT_WESTERN_FIXED, IDS_FONT_WESTERN_PROP, IDS_DESC_1252_IE4, 0, 0x00000707| MIMECONTF_MIME_IE4}, { 850, NULL, L"ibm850", NULL, 0, 0, IDS_DESC_850, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 20105, NULL, L"x-IA5", NULL, 0, 0, IDS_DESC_20105, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 28591, NULL, L"iso-8859-1", NULL, 0, 0, IDS_DESC_28591, 1252, 0x00000703|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 10000, NULL, L"macintosh", NULL, 0, 0, IDS_DESC_10000, 1252, MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT }, { 1252, L"Windows-1252", L"iso-8859-1", L"Windows-1252", IDS_FONT_WESTERN_FIXED, IDS_FONT_WESTERN_PROP, IDS_DESC_1252, 0, 0x00000707|MIMECONTF_MIME_LATEST|MIMECONTF_IMPORT|MIMECONTF_EXPORT}, { 0, 0, 0, 0, 0, 0, 0, 0, 0}, // { CodePage, HeaderCharset, BodyCharset, WebCharset, FixedWidthFont, ProportionalFont, Description, FamilyCodePage, Flags }
};
#ifdef UNIX
/* Convert from little endian to big endian format */ #define CONVERTLONG(a,b,c,d) (((unsigned long )a) + \
((unsigned long )b << 8) + \ ((unsigned long )c << 16) + \ ((unsigned long )d << 24)) #endif /* UNIX */
//
// Globals
//
CMimeDatabase *g_pMimeDatabase = NULL;
//
// CMimeDatabase implementation
//
STDAPI CMimeDatabase::GetNumberOfCodePageInfo(UINT *pcCodePage) { HRESULT hr = S_OK; if (pcCodePage) { *pcCodePage = 0; for (int i=0;i<ARRAYSIZE(MimeCodePage);i++) { if (MimeCodePage[i].dwFlags & dwMimeSource) (*pcCodePage)++; } } else hr = E_INVALIDARG; return hr; }
STDAPI CMimeDatabase::GetCodePageInfo(UINT uiCodePage, LANGID LangId, PMIMECPINFO pcpInfo ) { int idx; HRESULT hr = E_FAIL;
DebugMsg(DM_TRACE, TEXT("CMimeDatabase::GetCodePageInfo called."));
for (idx=0; idx < ARRAYSIZE(MimeCodePage); idx++) { if ((uiCodePage == MimeCodePage[idx].uiCodePage) && (MimeCodePage[idx].dwFlags & dwMimeSource)) break; }
if (idx < ARRAYSIZE(MimeCodePage)) { hr = GetCodePageInfoWithIndex(idx, LangId, pcpInfo); }
return hr; }
STDAPI CMimeDatabase::GetCodePageInfoWithIndex(UINT uidx, LANGID LangId, PMIMECPINFO pcpInfo) { HRESULT hr = E_FAIL; LANGID langid = LangId; CHARSETINFO rCharsetInfo;
DebugMsg(DM_TRACE, TEXT("CMimeDatabase::GetCodePageInfoWithIndex called."));
if (uidx >= ARRAYSIZE(MimeCodePage)) return hr;
if (!_LoadStringExW(g_hInst, MimeCodePage[uidx].uidDescription, pcpInfo->wszDescription, MAX_MIMECP_NAME, langid)) { // Last try, switch to English, US
langid = MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US); if (!_LoadStringExW(g_hInst, MimeCodePage[uidx].uidDescription, pcpInfo->wszDescription, MAX_MIMECP_NAME, langid)) return hr; }
if ((0 == MimeCodePage[uidx].uidFixedWidthFont || 0 == MimeCodePage[uidx].uidProportionalFont)) { pcpInfo->wszFixedWidthFont[0] = 0; pcpInfo->wszProportionalFont[0] = 0;
if (0 != MimeCodePage[uidx].uiFamilyCodePage) { for (UINT j = 0; j < ARRAYSIZE(MimeCodePage); j++) { if (MimeCodePage[uidx].uiFamilyCodePage == MimeCodePage[j].uiCodePage) { _LoadStringExW(g_hInst, MimeCodePage[j].uidFixedWidthFont, pcpInfo->wszFixedWidthFont, MAX_MIMEFACE_NAME, langid); _LoadStringExW(g_hInst, MimeCodePage[j].uidProportionalFont, pcpInfo->wszProportionalFont, MAX_MIMEFACE_NAME, langid); break; } } }
} else { _LoadStringExW(g_hInst, MimeCodePage[uidx].uidFixedWidthFont, pcpInfo->wszFixedWidthFont, MAX_MIMEFACE_NAME, langid); _LoadStringExW(g_hInst, MimeCodePage[uidx].uidProportionalFont, pcpInfo->wszProportionalFont, MAX_MIMEFACE_NAME,langid); }
// Copy internal buffer information
pcpInfo->dwFlags = MimeCodePage[uidx].dwFlags; pcpInfo->uiCodePage = MimeCodePage[uidx].uiCodePage; if (MimeCodePage[uidx].uiFamilyCodePage) pcpInfo->uiFamilyCodePage = MimeCodePage[uidx].uiFamilyCodePage; else pcpInfo->uiFamilyCodePage = MimeCodePage[uidx].uiCodePage; MLStrCpyNW(pcpInfo->wszBodyCharset, MimeCodePage[uidx].wszBodyCharset, MAX_MIMECSET_NAME);
if (MimeCodePage[uidx].wszWebCharset) MLStrCpyNW(pcpInfo->wszWebCharset, MimeCodePage[uidx].wszWebCharset, MAX_MIMECSET_NAME); else MLStrCpyNW(pcpInfo->wszWebCharset, MimeCodePage[uidx].wszBodyCharset, MAX_MIMECSET_NAME);
if (MimeCodePage[uidx].wszHeaderCharset) MLStrCpyNW(pcpInfo->wszHeaderCharset, MimeCodePage[uidx].wszHeaderCharset, MAX_MIMECSET_NAME); else MLStrCpyNW(pcpInfo->wszHeaderCharset, MimeCodePage[uidx].wszBodyCharset, MAX_MIMECSET_NAME);
if (0 != TranslateCharsetInfo(IntToPtr_(LPDWORD, pcpInfo->uiFamilyCodePage), &rCharsetInfo, TCI_SRCCODEPAGE)) pcpInfo->bGDICharset = (BYTE)rCharsetInfo.ciCharset; else pcpInfo->bGDICharset = DEFAULT_CHARSET;
if (1200 == pcpInfo->uiFamilyCodePage || 50000 == pcpInfo->uiFamilyCodePage || TRUE == _IsValidCodePage(pcpInfo->uiFamilyCodePage)) // 50000 means user defined
{ if (TRUE == CheckFont(pcpInfo->bGDICharset)) { if (pcpInfo->uiCodePage == pcpInfo->uiFamilyCodePage || TRUE == _IsValidCodePage(pcpInfo->uiCodePage)) pcpInfo->dwFlags |= MIMECONTF_VALID|MIMECONTF_VALID_NLS; else if (S_OK == IsConvertINetStringAvailable(pcpInfo->uiCodePage, pcpInfo->uiFamilyCodePage)) pcpInfo->dwFlags |= MIMECONTF_VALID|MIMECONTF_VALID_NLS; } else { if (pcpInfo->uiCodePage == pcpInfo->uiFamilyCodePage || TRUE == _IsValidCodePage(pcpInfo->uiCodePage)) pcpInfo->dwFlags |= MIMECONTF_VALID_NLS; else if (S_OK == IsConvertINetStringAvailable(pcpInfo->uiCodePage, pcpInfo->uiFamilyCodePage)) pcpInfo->dwFlags |= MIMECONTF_VALID_NLS; }
}
hr = S_OK;
return hr; }
STDAPI CMimeDatabase::GetCharsetInfo(BSTR Charset, PMIMECSETINFO pcsetInfo) { int idx = -1; int iStart, iEnd, iMiddle, iCmpResult; HRESULT hr = E_FAIL;
DebugMsg(DM_TRACE, TEXT("CMimeDatabase::GetCharsetInfo called."));
iStart = 0; iEnd = ARRAYSIZE(MimeCharSet) - 1;
while (iStart <= iEnd) { iMiddle = (iStart + iEnd) / 2; iCmpResult = MLStrCmpIW(Charset, MimeCharSet[iMiddle].szCharset); if (iCmpResult < 0) iEnd = iMiddle - 1; else if (iCmpResult > 0) iStart = iMiddle + 1; else { if (MimeCharSet[iMiddle].dwFlags & dwMimeSource) { idx = iMiddle; } else // !!! Tricky, search neighbors for correct data which matches MIME version
// Only works for now, if we have data over two versions, we have to change here
if ((iMiddle+1 <= iEnd) && MimeCharSet[iMiddle+1].dwFlags & dwMimeSource && !MLStrCmpIW(Charset, MimeCharSet[iMiddle+1].szCharset)) { idx = iMiddle+1; } else if ((iMiddle-1 >= 0) && MimeCharSet[iMiddle-1].dwFlags & dwMimeSource && !MLStrCmpIW(Charset, MimeCharSet[iMiddle-1].szCharset)) { idx = iMiddle-1; } else { idx = ARRAYSIZE(MimeCharSet); } break; } }
if (0 <= idx && idx < ARRAYSIZE(MimeCharSet) && pcsetInfo ) { MLStrCpyNW(pcsetInfo->wszCharset, MimeCharSet[idx].szCharset, MAX_MIMECSET_NAME); pcsetInfo->uiCodePage = MimeCharSet[idx].uiCodePage; pcsetInfo->uiInternetEncoding = MimeCharSet[idx].uiInternetEncoding; hr = S_OK; }
return hr; }
int CALLBACK EnumFontFamExProc(ENUMLOGFONTEX *lpelf, NEWTEXTMETRICEX *lpntm, int iFontType, LPARAM lParam) { LOGFONT *lplf; BOOL *lpfOK = (BOOL *)lParam;
lplf = &(lpelf->elfLogFont); // We don't use non TrueType fonts
if (iFontType == DEVICE_FONTTYPE || iFontType == RASTER_FONTTYPE) return 1; // keep going but don't use this font
// We don't use the SYMBOL, Mac Charset fonts
if(lplf->lfCharSet == SYMBOL_CHARSET || lplf->lfCharSet == MAC_CHARSET) return 1;
// We don't handle vertical fonts
if (TEXT('@') == lplf->lfFaceName[0]) return 1;
*lpfOK = TRUE; return 0; // stop enumeration if we find any
}
BOOL CMimeDatabase::CheckFont(BYTE bGDICharset) { BOOL fRet = FALSE;
DebugMsg(DM_TRACE, TEXT("CMimeDatabase::CheckFont called."));
// It is safe to assume that system always support DEFAULT_CHAR and ANSI_CHARSET
if ((DEFAULT_CHARSET == bGDICharset) || (ANSI_CHARSET == bGDICharset)) fRet = TRUE; else { HDC hDC; LOGFONT lf; HWND hWnd;
hWnd = GetTopWindow(GetDesktopWindow()); hDC = GetDC(hWnd);
if (NULL != hDC) { lf.lfFaceName[0] = TEXT('\0'); lf.lfPitchAndFamily = 0; lf.lfCharSet = bGDICharset; EnumFontFamiliesEx(hDC, &lf, (FONTENUMPROC)EnumFontFamExProc, (LPARAM)&fRet, 0); } ReleaseDC(hWnd, hDC); } return fRet; }
// validates all cps that are in the same
// family of the given codepage
STDAPI CMimeDatabase::ValidateCP(UINT uiCodePage) { UINT i;
for (i = 0; i < ARRAYSIZE(MimeCodePage); i++) { if (MimeCodePage[i].uiFamilyCodePage == uiCodePage) MimeCodePage[i].dwFlags |= MIMECONTF_VALID|MIMECONTF_VALID_NLS; } return S_OK; // never fail?
}
|