// Working set optimization: // 1. code page, family code page stored as unsigned short // 2. if web/header/body names are the same, only web name is stored; otherwise, we store "|webname|headername|bodyname" // 3. Move flags before names to fill gap on 64-bit platforms #define MapCodePageDataItem(cp, fcp, names, flags) { cp, fcp, flags, names } // // Information about codepages. // const CodePageDataItem COMNlsInfo::CodePageDataTable[] = { // Total Items: // code page, family code page, web name, header name, body name, flags MapCodePageDataItem( 1200, 1200, "utf-16", MIMECONTF_SAVABLE_BROWSER), // "Unicode" MapCodePageDataItem( 1201, 1200, "utf-16BE", 0), // Big Endian, old FFFE BOM seems backwards, think of the BOM in little endian order. MapCodePageDataItem( 12000, 1200, "utf-32", 0), // "Unicode (UTF-32)" MapCodePageDataItem( 12001, 1200, "utf-32BE", 0), // "Unicode (UTF-32 Big Endian)" MapCodePageDataItem( 20127, 1252, "us-ascii", MIMECONTF_MAILNEWS | MIMECONTF_SAVABLE_MAILNEWS), // "US-ASCII" MapCodePageDataItem( 28591, 1252, "iso-8859-1", MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER), // "Western European (ISO)" MapCodePageDataItem( 65000, 1200, "utf-7", MIMECONTF_MAILNEWS | MIMECONTF_SAVABLE_MAILNEWS), // "Unicode (UTF-7)" MapCodePageDataItem( 65001, 1200, "utf-8", MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER), // "Unicode (UTF-8)" // End of data. MapCodePageDataItem( 0, 0, NULL, 0), }; const int COMNlsInfo::m_nCodePageTableItems =
// 1. code page, family code page stored as unsigned short // 2. if web/header/body names are the same, only web name is stored; otherwise, we store "|webname|headername|bodyname" // 3. Move flags before names to fill gap on 64-bit platforms #define MapCodePageDataItem(cp, fcp, names, flags) { cp, fcp, flags, names } // // Information about codepages. // const CodePageDataItem COMNlsInfo::CodePageDataTable[] = { #ifdef FEATURE_CORECLR // Total Items: // code page, family code page, web name, header name, body name, flags MapCodePageDataItem( 1200, 1200, "utf-16", MIMECONTF_SAVABLE_BROWSER), // "Unicode" MapCodePageDataItem( 1201, 1200, "utf-16BE", 0), // Big Endian, old FFFE BOM seems backwards, think of the BOM in little endian order. MapCodePageDataItem( 12000, 1200, "utf-32", 0), // "Unicode (UTF-32)" MapCodePageDataItem( 12001, 1200, "utf-32BE", 0), // "Unicode (UTF-32 Big Endian)" MapCodePageDataItem( 20127, 1252, "us-ascii", MIMECONTF_MAILNEWS | MIMECONTF_SAVABLE_MAILNEWS), // "US-ASCII" MapCodePageDataItem( 28591, 1252, "iso-8859-1", MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER), // "Western European (ISO)" MapCodePageDataItem( 65000, 1200, "utf-7", MIMECONTF_MAILNEWS | MIMECONTF_SAVABLE_MAILNEWS), // "Unicode (UTF-7)" MapCodePageDataItem( 65001, 1200, "utf-8", MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER), // "Unicode (UTF-8)" #else //FEATURE_CORECLR // Total Items: 146 // code page, family code page, web name, header name, body name, flags MapCodePageDataItem( 37, 1252, "IBM037", 0), // "IBM EBCDIC (US-Canada)"