@@ -63,6 +63,8 @@ public class Encoding {
63
63
"xjisautodetect" , "xutf16bebom" , "xutf16lebom" , "xutf32bebom" ,
64
64
"xutf32lebom" , "xutf16oppositeendian" , "xutf16platformendian" ,
65
65
"xutf32oppositeendian" , "xutf32platformendian" };
66
+ private static Map <String , Encoding > encodingByLabel =
67
+ new HashMap <String , Encoding >();
66
68
67
69
/* From the table at https://encoding.spec.whatwg.org/#names-and-labels,
68
70
* everything in the Labels column, sorted */
@@ -339,14 +341,14 @@ asciiSuperset, isObscure(name),
339
341
encodings .add (enc );
340
342
Set <String > aliases = cs .aliases ();
341
343
for (String alias : aliases ) {
342
- encodingByCookedName .put (toNameKey (alias ).intern (), enc );
344
+ encodingByLabel .put (toNameKey (alias ).intern (), enc );
343
345
}
344
346
}
345
347
}
346
348
// Overwrite possible overlapping aliases with the real things--just in
347
349
// case
348
350
for (Encoding encoding : encodings ) {
349
- encodingByCookedName .put (toNameKey (encoding .getCanonName ()),
351
+ encodingByLabel .put (toNameKey (encoding .getCanonName ()),
350
352
encoding );
351
353
}
352
354
UTF8 = forName ("utf-8" );
@@ -383,15 +385,15 @@ asciiSuperset, isObscure(name),
383
385
} catch (UnsupportedCharsetException e ) {
384
386
}
385
387
try {
386
- encodingByCookedName .put ("x-x-big5" , forName ("big5" ));
388
+ encodingByLabel .put ("x-x-big5" , forName ("big5" ));
387
389
} catch (UnsupportedCharsetException e ) {
388
390
}
389
391
try {
390
- encodingByCookedName .put ("euc-kr" , forName ("windows-949" ));
392
+ encodingByLabel .put ("euc-kr" , forName ("windows-949" ));
391
393
} catch (UnsupportedCharsetException e ) {
392
394
}
393
395
try {
394
- encodingByCookedName .put ("ks_c_5601-1987" , forName ("windows-949" ));
396
+ encodingByLabel .put ("ks_c_5601-1987" , forName ("windows-949" ));
395
397
} catch (UnsupportedCharsetException e ) {
396
398
}
397
399
}
@@ -459,7 +461,7 @@ private static boolean isLikelyEbcdic(String canonName,
459
461
}
460
462
461
463
public static Encoding forName (String name ) {
462
- Encoding rv = encodingByCookedName .get (toNameKey (name ));
464
+ Encoding rv = encodingByLabel .get (toNameKey (name ));
463
465
if (rv == null ) {
464
466
throw new UnsupportedCharsetException (name );
465
467
} else {
@@ -617,7 +619,7 @@ public Encoding getActualHtmlEncoding() {
617
619
}
618
620
619
621
public static void main (String [] args ) {
620
- for (Map .Entry <String , Encoding > entry : encodingByCookedName .entrySet ()) {
622
+ for (Map .Entry <String , Encoding > entry : encodingByLabel .entrySet ()) {
621
623
String name = entry .getKey ();
622
624
Encoding enc = entry .getValue ();
623
625
System .out .printf (
0 commit comments