+struct cpinfo_test_data
+{
+ MIMECPINFO cpinfo;
+
+ BOOL todo_GetCodePageInfo;
+ BOOL todo_dwFlags;
+ BOOL todo_uiFamilyCodePage;
+ BOOL todo_wszDescription;
+ BOOL todo_wszWebCharset;
+ BOOL todo_wszHeaderCharset;
+ BOOL todo_wszBodyCharset;
+ BOOL todo_wszFixedWidthFont;
+ BOOL todo_wszProportionalFont;
+};
+
+static const struct cpinfo_test_data iml2_cpinfo_data[] =
+{
+ /* 0. Chinese Simplified (Auto-Select) */
+ {
+ {
+ MIMECONTF_IMPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST,
+ 50936, 936, {'C','h','i','n','e','s','e',' ','S','i','m','p','l','i','f','i','e','d',' ','(','A','u','t','o','-','S','e','l','e','c','t',')',0},
+ {'_','a','u','t','o','d','e','t','e','c','t','_','c','h','s',0},
+ {'_','a','u','t','o','d','e','t','e','c','t','_','c','h','s',0},
+ {'_','a','u','t','o','d','e','t','e','c','t','_','c','h','s',0},
+ {'S','i','m','s','u','n',0},
+ {'S','i','m','s','u','n',0}, 134
+ },
+ },
+ /* 1. Chinese Simplified (GB2312) */
+ {
+ {
+ MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT |
+ MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID |
+ MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST,
+ 936, 936, {'C','h','i','n','e','s','e',' ','S','i','m','p','l','i','f','i','e','d',' ','(','G','B','2','3','1','2',')',0},
+ {'g','b','2','3','1','2',0},
+ {'g','b','2','3','1','2',0},
+ {'g','b','2','3','1','2',0},
+ {'S','i','m','s','u','n',0},
+ {'S','i','m','s','u','n',0}, 134
+ },
+ },
+ /* 2. Chinese Simplified (GB2312-80) */
+ {
+ {
+ MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS |
+ MIMECONTF_MIME_LATEST,
+ 20936, 936, {'C','h','i','n','e','s','e',' ','S','i','m','p','l','i','f','i','e','d',' ','(','G','B','2','3','1','2','-','8','0',')',0},
+ {'x','-','c','p','2','0','9','3','6',0},
+ {'x','-','c','p','2','0','9','3','6',0},
+ {'x','-','c','p','2','0','9','3','6',0},
+ {'S','i','m','s','u','n',0},
+ {'S','i','m','s','u','n',0}, 134
+ },
+ },
+ /* 3. Chinese Simplified (HZ) */
+ {
+ {
+ MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS |
+ MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS |
+ MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST,
+ 52936, 936, {'C','h','i','n','e','s','e',' ','S','i','m','p','l','i','f','i','e','d',' ','(','H','Z',')',0},
+ {'h','z','-','g','b','-','2','3','1','2',0},
+ {'h','z','-','g','b','-','2','3','1','2',0},
+ {'h','z','-','g','b','-','2','3','1','2',0},
+ {'S','i','m','s','u','n',0},
+ {'S','i','m','s','u','n',0}, 134
+ },
+ },
+ /* 4. Chinese Simplified (GB18030) */
+ {
+ {
+ MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT |
+ MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID |
+ MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST,
+ 54936, 936, {'C','h','i','n','e','s','e',' ','S','i','m','p','l','i','f','i','e','d',' ','(','G','B','1','8','0','3','0',')',0},
+ {'G','B','1','8','0','3','0',0},
+ {'G','B','1','8','0','3','0',0},
+ {'G','B','1','8','0','3','0',0},
+ {'S','i','m','s','u','n',0},
+ {'S','i','m','s','u','n',0}, 134
+ },
+ },
+ /* 5. Chinese Traditional (Auto-Select) */
+ {
+ {
+ MIMECONTF_IMPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST,
+ 50950, 950, {'C','h','i','n','e','s','e',' ','T','r','a','d','i','t','i','o','n','a','l',' ','(','A','u','t','o','-','S','e','l','e','c','t',')',0},
+ {'_','a','u','t','o','d','e','t','e','c','t','_','c','h','t',0},
+ {'_','a','u','t','o','d','e','t','e','c','t','_','c','h','t',0},
+ {'_','a','u','t','o','d','e','t','e','c','t','_','c','h','t',0},
+ {'M','i','n','g','L','i','u',0},
+ {'N','e','w',' ','M','i','n','g','L','i','u',0}, 136
+ },
+ },
+ /* 6. Chinese Traditional (Big5) */
+ {
+ {
+ MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT |
+ MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID |
+ MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST,
+ 950, 950, {'C','h','i','n','e','s','e',' ','T','r','a','d','i','t','i','o','n','a','l',' ','(','B','i','g','5',')',0},
+ {'b','i','g','5',0},
+ {'b','i','g','5',0},
+ {'b','i','g','5',0},
+ {'M','i','n','g','L','i','u',0},
+ {'N','e','w',' ','M','i','n','g','L','i','u',0}, 136
+ },
+ },
+ /* 7. Chinese Traditional (CNS) */
+ {
+ {
+ MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS |
+ MIMECONTF_MIME_LATEST,
+ 20000, 950, {'C','h','i','n','e','s','e',' ','T','r','a','d','i','t','i','o','n','a','l',' ','(','C','N','S',')',0},
+ {'x','-','C','h','i','n','e','s','e','-','C','N','S',0},
+ {'x','-','C','h','i','n','e','s','e','-','C','N','S',0},
+ {'x','-','C','h','i','n','e','s','e','-','C','N','S',0},
+ {'M','i','n','g','L','i','u',0},
+ {'N','e','w',' ','M','i','n','g','L','i','u',0}, 136
+ },
+ },
+ /* 8. Arabic (Windows) */
+ {
+ {
+ MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS |
+ MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS |
+ MIMECONTF_MIME_LATEST,
+ 1256, 1256, {'A','r','a','b','i','c',' ','(','W','i','n','d','o','w','s',')',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','6',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','6',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','6',0},
+ {'S','i','m','p','l','i','f','i','e','d',' ','A','r','a','b','i','c',' ','F','i','x','e','d',0},
+ {'S','i','m','p','l','i','f','i','e','d',' ','A','r','a','b','i','c',0}, 178
+ },
+ },
+ /* 9. Baltic (Windows) */
+ {
+ {
+ MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT |
+ MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID |
+ MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST,
+ 1257, 1257, {'B','a','l','t','i','c',' ','(','W','i','n','d','o','w','s',')',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','7',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','7',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','7',0},
+ {'C','o','u','r','i','e','r',' ','N','e','w',0},
+ {'A','r','i','a','l',0}, 186
+ },
+ },
+ /* 10. Central European (Windows) */
+ {
+ {
+ MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS |
+ MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS |
+ MIMECONTF_MIME_LATEST,
+ 1250, 1250, {'C','e','n','t','r','a','l',' ','E','u','r','o','p','e','a','n',' ','(','W','i','n','d','o','w','s',')',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','0',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','0',0},
+ {'i','s','o','-','8','8','5','9','-','2',0},
+ {'C','o','u','r','i','e','r',' ','N','e','w',0},
+ {'A','r','i','a','l',0}, 238
+ },
+ FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE
+ },
+ /* 11. Cyrillic (Windows) */
+ {
+ {
+ MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS |
+ MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS |
+ MIMECONTF_MIME_LATEST,
+ 1251, 1251, {'C','y','r','i','l','l','i','c',' ','(','W','i','n','d','o','w','s',')',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','1',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','1',0},
+ {'k','o','i','8','-','r',0},
+ {'C','o','u','r','i','e','r',' ','N','e','w',0},
+ {'A','r','i','a','l',0}, 204
+ },
+ FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE
+ },
+ /* 12. Greek (Windows) */
+ {
+ {
+ MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS |
+ MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS |
+ MIMECONTF_MIME_LATEST,
+ 1253, 1253, {'G','r','e','e','k',' ','(','W','i','n','d','o','w','s',')',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','3',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','3',0},
+ {'i','s','o','-','8','8','5','9','-','7',0},
+ {'C','o','u','r','i','e','r',' ','N','e','w',0},
+ {'A','r','i','a','l',0}, 161
+ },
+ FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE
+ },
+ /* 13. Hebrew (Windows) */
+ {
+ {
+ MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS |
+ MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS |
+ MIMECONTF_MIME_LATEST,
+ 1255, 1255, {'H','e','b','r','e','w',' ','(','W','i','n','d','o','w','s',')',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','5',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','5',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','5',0},
+ {'M','i','r','i','a','m',' ','F','i','x','e','d',0},
+ {'D','a','v','i','d',0}, 177
+ },
+ },
+ /* 14. Japanese (Shift-JIS) */
+ {
+ {
+ MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT |
+ MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID |
+ MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST,
+ 932, 932, {'J','a','p','a','n','e','s','e',' ','(','S','h','i','f','t','-','J','I','S',')',0},
+ {'s','h','i','f','t','_','j','i','s',0},
+ {'i','s','o','-','2','0','2','2','-','j','p',0},
+ {'i','s','o','-','2','0','2','2','-','j','p',0},
+ {'M','S',' ','G','o','t','h','i','c',0},
+ {'M','S',' ','P','G','o','t','h','i','c',0}, 128
+ }
+ },
+ /* 15. Korean */
+ {
+ {
+ MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT |
+ MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID |
+ MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST,
+ 949, 949, {'K','o','r','e','a','n',0},
+ {'k','s','_','c','_','5','6','0','1','-','1','9','8','7',0},
+ {'k','s','_','c','_','5','6','0','1','-','1','9','8','7',0},
+ {'k','s','_','c','_','5','6','0','1','-','1','9','8','7',0},
+ {'G','u','l','i','m','C','h','e',0},
+ {'G','u','l','i','m',0}, 129
+ },
+ },
+ /* 16. Thai (Windows) */
+ {
+ {
+ MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT |
+ MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID |
+ MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST,
+ 874, 874, {'T','h','a','i',' ','(','W','i','n','d','o','w','s',')',0},
+ {'w','i','n','d','o','w','s','-','8','7','4',0},
+ {'w','i','n','d','o','w','s','-','8','7','4',0},
+ {'w','i','n','d','o','w','s','-','8','7','4',0},
+ {'T','a','h','o','m','a',0},
+ {'T','a','h','o','m','a',0}, 222
+ },
+ FALSE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE
+ },
+ /* 17. Turkish (Windows) */
+ {
+ {
+ MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT |
+ MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID |
+ MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST,
+ 1254, 1254, {'T','u','r','k','i','s','h',' ','(','W','i','n','d','o','w','s',')',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','4',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','4',0},
+ {'i','s','o','-','8','8','5','9','-','9',0},
+ {'C','o','u','r','i','e','r',' ','N','e','w',0},
+ {'A','r','i','a','l',0}, 162
+ },
+ FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE
+ },
+ /* 18. Vietnamese (Windows) */
+ {
+ {
+ MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS |
+ MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS |
+ MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST,
+ 1258, 1258, {'V','i','e','t','n','a','m','e','s','e',' ','(','W','i','n','d','o','w','s',')',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','8',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','8',0},
+ {'w','i','n','d','o','w','s','-','1','2','5','8',0},
+ {'C','o','u','r','i','e','r',' ','N','e','w',0},
+ {'A','r','i','a','l',0}, 163
+ },
+ },
+ /* 19. Western European (Windows) */
+ {
+ {
+ MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT |
+ MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID |
+ MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST,
+ 1252, 1252, {'W','e','s','t','e','r','n',' ','E','u','r','o','p','e','a','n',' ','(','W','i','n','d','o','w','s',')',0},
+ {'W','i','n','d','o','w','s','-','1','2','5','2',0},
+ {'W','i','n','d','o','w','s','-','1','2','5','2',0},
+ {'i','s','o','-','8','8','5','9','-','1',0},
+ {'C','o','u','r','i','e','r',' ','N','e','w',0},
+ {'A','r','i','a','l',0}, 0
+ },
+ FALSE, FALSE, FALSE, FALSE, TRUE, TRUE
+ },
+ /* 20. Unicode */
+ {
+ {
+ MIMECONTF_MINIMAL | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT |
+ MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST,
+ 1200, 1200, {'U','n','i','c','o','d','e',0},
+ {'u','n','i','c','o','d','e',0},
+ {'u','n','i','c','o','d','e',0},
+ {'u','n','i','c','o','d','e',0},
+ {'C','o','u','r','i','e','r',' ','N','e','w',0},
+ {'A','r','i','a','l',0}, 1
+ },
+ }
+};
+