Skip to content

Commit a6e97a2

Browse files
committed
Moved the list of code pages into a separate library
1 parent 5ea80aa commit a6e97a2

File tree

3 files changed

+178
-150
lines changed

3 files changed

+178
-150
lines changed

deploy/jN/includes/disabled/decode.js

Lines changed: 7 additions & 150 deletions
Original file line numberDiff line numberDiff line change
@@ -15,151 +15,8 @@
1515
lastItem["menuItem"] = decodeMenu.addItem(lastItem);
1616
decodeMenu.addSeparator();
1717

18-
var codePages = [
19-
[37, "IBM037", "IBM EBCDIC (US-Canada)"],
20-
[437, "IBM437", "OEM United States"],
21-
[500, "IBM500", "IBM EBCDIC (International)"],
22-
[708, "ASMO-708", "Arabic (ASMO 708)"],
23-
[720, "DOS-720", "Arabic (DOS)"],
24-
[737, "ibm737", "Greek (DOS)"],
25-
[775, "ibm775", "Baltic (DOS)"],
26-
[850, "ibm850", "Western European (DOS)"],
27-
[852, "ibm852", "Central European (DOS)"],
28-
[855, "IBM855", "OEM Cyrillic"],
29-
[857, "ibm857", "Turkish (DOS)"],
30-
[858, "IBM00858", "OEM Multilingual Latin I"],
31-
[860, "IBM860", "Portuguese (DOS)"],
32-
[861, "ibm861", "Icelandic (DOS)"],
33-
[862, "DOS-862", "Hebrew (DOS)"],
34-
[863, "IBM863", "French Canadian (DOS)"],
35-
[864, "IBM864", "Arabic (864)"],
36-
[865, "IBM865", "Nordic (DOS)"],
37-
[866, "cp866", "Cyrillic (DOS)"],
38-
[869, "ibm869", "Greek, Modern (DOS)"],
39-
[870, "IBM870", "IBM EBCDIC (Multilingual Latin-2)"],
40-
[874, "windows-874", "Thai (Windows)"],
41-
[875, "cp875", "IBM EBCDIC (Greek Modern)"],
42-
[932, "shift_jis", "Japanese (Shift-JIS)"],
43-
[936, "gb2312", "Chinese Simplified (GB2312)"],
44-
[949, "ks_c_5601-1987", "Korean"],
45-
[950, "big5", "Chinese Traditional (Big5)"],
46-
[1026, "IBM1026", "IBM EBCDIC (Turkish Latin-5)"],
47-
[1047, "IBM01047", "IBM Latin-1"],
48-
[1140, "IBM01140", "IBM EBCDIC (US-Canada-Euro)"],
49-
[1141, "IBM01141", "IBM EBCDIC (Germany-Euro)"],
50-
[1142, "IBM01142", "IBM EBCDIC (Denmark-Norway-Euro)"],
51-
[1143, "IBM01143", "IBM EBCDIC (Finland-Sweden-Euro)"],
52-
[1144, "IBM01144", "IBM EBCDIC (Italy-Euro)"],
53-
[1145, "IBM01145", "IBM EBCDIC (Spain-Euro)"],
54-
[1146, "IBM01146", "IBM EBCDIC (UK-Euro)"],
55-
[1147, "IBM01147", "IBM EBCDIC (France-Euro)"],
56-
[1148, "IBM01148", "IBM EBCDIC (International-Euro)"],
57-
[1149, "IBM01149", "IBM EBCDIC (Icelandic-Euro)"],
58-
[1200, "utf-16", "Unicode"],
59-
[1201, "unicodeFFFE", "Unicode (Big-Endian)"],
60-
[1250, "windows-1250", "Central European (Windows)"],
61-
[1251, "windows-1251", "Cyrillic (Windows)"],
62-
[1252, "Windows-1252", "Western European (Windows)"],
63-
[1253, "windows-1253", "Greek (Windows)"],
64-
[1254, "windows-1254", "Turkish (Windows)"],
65-
[1255, "windows-1255", "Hebrew (Windows)"],
66-
[1256, "windows-1256", "Arabic (Windows)"],
67-
[1257, "windows-1257", "Baltic (Windows)"],
68-
[1258, "windows-1258", "Vietnamese (Windows)"],
69-
[1361, "Johab", "Korean (Johab)"],
70-
[10000, "macintosh", "Western European (Mac)"],
71-
[10001, "x-mac-japanese", "Japanese (Mac)"],
72-
[10002, "x-mac-chinesetrad", "Chinese Traditional (Mac)"],
73-
[10003, "x-mac-korean", "Korean (Mac)"],
74-
[10004, "x-mac-arabic", "Arabic (Mac)"],
75-
[10005, "x-mac-hebrew", "Hebrew (Mac)"],
76-
[10006, "x-mac-greek", "Greek (Mac)"],
77-
[10007, "x-mac-cyrillic", "Cyrillic (Mac)"],
78-
[10008, "x-mac-chinesesimp", "Chinese Simplified (Mac)"],
79-
[10010, "x-mac-romanian", "Romanian (Mac)"],
80-
[10017, "x-mac-ukrainian", "Ukrainian (Mac)"],
81-
[10021, "x-mac-thai", "Thai (Mac)"],
82-
[10029, "x-mac-ce", "Central European (Mac)"],
83-
[10079, "x-mac-icelandic", "Icelandic (Mac)"],
84-
[10081, "x-mac-turkish", "Turkish (Mac)"],
85-
[10082, "x-mac-croatian", "Croatian (Mac)"],
86-
[20000, "x-Chinese-CNS", "Chinese Traditional (CNS)"],
87-
[20001, "x-cp20001", "TCA Taiwan"],
88-
[20002, "x-Chinese-Eten", "Chinese Traditional (Eten)"],
89-
[20003, "x-cp20003", "IBM5550 Taiwan"],
90-
[20004, "x-cp20004", "TeleText Taiwan"],
91-
[20005, "x-cp20005", "Wang Taiwan"],
92-
[20105, "x-IA5", "Western European (IA5)"],
93-
[20106, "x-IA5-German", "German (IA5)"],
94-
[20107, "x-IA5-Swedish", "Swedish (IA5)"],
95-
[20108, "x-IA5-Norwegian", "Norwegian (IA5)"],
96-
[20127, "us-ascii", "US-ASCII"],
97-
[20261, "x-cp20261", "T.61"],
98-
[20269, "x-cp20269", "ISO-6937"],
99-
[20273, "IBM273", "IBM EBCDIC (Germany)"],
100-
[20277, "IBM277", "IBM EBCDIC (Denmark-Norway)"],
101-
[20278, "IBM278", "IBM EBCDIC (Finland-Sweden)"],
102-
[20280, "IBM280", "IBM EBCDIC (Italy)"],
103-
[20284, "IBM284", "IBM EBCDIC (Spain)"],
104-
[20285, "IBM285", "IBM EBCDIC (UK)"],
105-
[20290, "IBM290", "IBM EBCDIC (Japanese katakana)"],
106-
[20297, "IBM297", "IBM EBCDIC (France)"],
107-
[20420, "IBM420", "IBM EBCDIC (Arabic)"],
108-
[20423, "IBM423", "IBM EBCDIC (Greek)"],
109-
[20424, "IBM424", "IBM EBCDIC (Hebrew)"],
110-
[20833, "x-EBCDIC-KoreanExtended", "IBM EBCDIC (Korean Extended)"],
111-
[20838, "IBM-Thai", "IBM EBCDIC (Thai)"],
112-
[20866, "koi8-r", "Cyrillic (KOI8-R)"],
113-
[20871, "IBM871", "IBM EBCDIC (Icelandic)"],
114-
[20880, "IBM880", "IBM EBCDIC (Cyrillic Russian)"],
115-
[20905, "IBM905", "IBM EBCDIC (Turkish)"],
116-
[20924, "IBM00924", "IBM Latin-1"],
117-
[20932, "EUC-JP", "Japanese (JIS 0208-1990 and 0212-1990)"],
118-
[20936, "x-cp20936", "Chinese Simplified (GB2312-80)"],
119-
[20949, "x-cp20949", "Korean Wansung"],
120-
[21025, "cp1025", "IBM EBCDIC (Cyrillic Serbian-Bulgarian)"],
121-
[21866, "koi8-u", "Cyrillic (KOI8-U)"],
122-
[28591, "iso-8859-1", "Western European (ISO)"],
123-
[28592, "iso-8859-2", "Central European (ISO)"],
124-
[28593, "iso-8859-3", "Latin 3 (ISO)"],
125-
[28594, "iso-8859-4", "Baltic (ISO)"],
126-
[28595, "iso-8859-5", "Cyrillic (ISO)"],
127-
[28596, "iso-8859-6", "Arabic (ISO)"],
128-
[28597, "iso-8859-7", "Greek (ISO)"],
129-
[28598, "iso-8859-8", "Hebrew (ISO-Visual)"],
130-
[28599, "iso-8859-9", "Turkish (ISO)"],
131-
[28603, "iso-8859-13", "Estonian (ISO)"],
132-
[28605, "iso-8859-15", "Latin 9 (ISO)"],
133-
[29001, "x-Europa", "Europa"],
134-
[38598, "iso-8859-8-i", "Hebrew (ISO-Logical)"],
135-
[50220, "iso-2022-jp", "Japanese (JIS)"],
136-
[50221, "csISO2022JP", "Japanese (JIS-Allow 1 byte Kana)"],
137-
[50222, "iso-2022-jp", "Japanese (JIS-Allow 1 byte Kana - SO/SI)"],
138-
[50225, "iso-2022-kr", "Korean (ISO)"],
139-
[50227, "x-cp50227", "Chinese Simplified (ISO-2022)"],
140-
[51932, "euc-jp", "Japanese (EUC)"],
141-
[51936, "EUC-CN", "Chinese Simplified (EUC)"],
142-
[51949, "euc-kr", "Korean (EUC)"],
143-
[52936, "hz-gb-2312", "Chinese Simplified (HZ)"],
144-
[54936, "GB18030", "Chinese Simplified (GB18030)"],
145-
[57002, "x-iscii-de", "ISCII Devanagari"],
146-
[57003, "x-iscii-be", "ISCII Bengali"],
147-
[57004, "x-iscii-ta", "ISCII Tamil"],
148-
[57005, "x-iscii-te", "ISCII Telugu"],
149-
[57006, "x-iscii-as", "ISCII Assamese"],
150-
[57007, "x-iscii-or", "ISCII Oriya"],
151-
[57008, "x-iscii-ka", "ISCII Kannada"],
152-
[57009, "x-iscii-ma", "ISCII Malayalam"],
153-
[57010, "x-iscii-gu", "ISCII Gujarati"],
154-
[57011, "x-iscii-pa", "ISCII Punjabi"],
155-
[65000, "utf-7", "Unicode (UTF-7)"],
156-
[65001, "utf-8", "Unicode (UTF-8)"],
157-
[65005, "utf-32", "Unicode (UTF-32)"],
158-
[65006, "utf-32BE", "Unicode (UTF-32 Big-Endian)"]
159-
];
16018

161-
162-
var codePageGroups = ["IBM","Unicode","ISCII","Cyrillic","Arabic", "Chinese","Japanese","Korean","Hebrew","Baltic","Turkish","Western","European","(DOS)","(Windows)","(Mac)"].forEach(function(gr){
19+
var codePageGroups = ["IBM","Unicode","ISCII","Cyrillic","Arabic", "Chinese","Japanese","Korean","Hebrew","Baltic","Turkish","Western","European","(DOS)","(Windows)","(Mac)"].map(function(gr){
16320
return {
16421
menu : decodeMenu.addMenu(gr),
16522
regex : new RegExp(gr)
@@ -177,22 +34,22 @@
17734
}
17835

17936
var otherCodePagesGroup = decodeMenu.addMenu("Other");
180-
codePages.forEach(function(cp){
37+
codePages.list.forEach(function(cp){
18138
var added = false;
18239
codePageGroups.forEach(function(cpg){
183-
if (cpg.regex.test(cp[2])){
40+
if (cpg.regex.test(cp.friendlyName)){
18441
added =true;
18542
cpg.menu.addItem({
186-
cp:cp[0],
187-
text:cp[2],
43+
cp:cp.id,
44+
text:cp.friendlyName,
18845
cmd:setCP
18946
});
19047
}
19148
});
19249
if (!added){
19350
otherCodePagesGroup.addItem({
194-
cp:cp[0],
195-
text:cp[2],
51+
cp:cp.id,
52+
text:cp.friendlyName,
19653
cmd:setCP
19754
});
19855
}

0 commit comments

Comments
 (0)