From 1b38125a351762b5f269822d4af61c16f53a6ddc Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 4 Nov 2005 15:08:18 +0000 Subject: [PATCH] PR libgcj/14358, libgcj/24552: * gnu/gcj/convert/IOConverter.java: Regenerate aliases. Add aliases for 'euc_jp' and 'eucjp'. * scripts/encodings.pl: Recognize 'none', not 'NONE'. Include canonical names in output. (%map): Added UnicodeLittle and UnicodeBig. From-SVN: r106490 --- libjava/ChangeLog | 9 ++++ libjava/gnu/gcj/convert/IOConverter.java | 55 +++++++++++++----------- libjava/scripts/encodings.pl | 21 +++++++-- 3 files changed, 57 insertions(+), 28 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index d761055a211..da005155395 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,12 @@ +2005-11-04 Tom Tromey + + PR libgcj/14358, libgcj/24552: + * gnu/gcj/convert/IOConverter.java: Regenerate aliases. Add + aliases for 'euc_jp' and 'eucjp'. + * scripts/encodings.pl: Recognize 'none', not 'NONE'. Include + canonical names in output. + (%map): Added UnicodeLittle and UnicodeBig. + 2005-11-04 Kaz Kojima * include/sh-signal.h (MAKE_THROW_FRAME): Remove trailing whitespace. diff --git a/libjava/gnu/gcj/convert/IOConverter.java b/libjava/gnu/gcj/convert/IOConverter.java index 2c6849ce7a3..a0d46677670 100644 --- a/libjava/gnu/gcj/convert/IOConverter.java +++ b/libjava/gnu/gcj/convert/IOConverter.java @@ -28,6 +28,8 @@ public abstract class IOConverter // canonical name. hash.put ("iso-latin-1", "8859_1"); hash.put ("iso8859_1", "8859_1"); + hash.put ("utf-16le", "UnicodeLittle"); + hash.put ("utf-16be", "UnicodeBig"); // At least one build script out there uses 'utf8'. hash.put ("utf8", "UTF8"); // On Solaris the default encoding, as returned by nl_langinfo(), @@ -35,39 +37,44 @@ public abstract class IOConverter // understand that. We work around the problem by adding an // explicit alias for Solaris users. hash.put ("646", "ASCII"); + + // See PR 24552, PR 14358. + hash.put ("euc_jp", "EUCJIS"); + hash.put ("eucjp", "EUCJIS"); + // All aliases after this point are automatically generated by the // `encodings.pl' script. Run it to make any corrections. hash.put ("ansi_x3.4-1968", "ASCII"); - hash.put ("iso-ir-6", "ASCII"); hash.put ("ansi_x3.4-1986", "ASCII"); - hash.put ("iso_646.irv:1991", "ASCII"); hash.put ("ascii", "ASCII"); - hash.put ("iso646-us", "ASCII"); - hash.put ("us-ascii", "ASCII"); - hash.put ("us", "ASCII"); - hash.put ("ibm367", "ASCII"); hash.put ("cp367", "ASCII"); - hash.put ("csascii", "ASCII"); - hash.put ("iso_8859-1:1987", "8859_1"); - hash.put ("iso-ir-100", "8859_1"); - hash.put ("iso_8859-1", "8859_1"); - hash.put ("iso-8859-1", "8859_1"); - hash.put ("latin1", "8859_1"); - hash.put ("l1", "8859_1"); - hash.put ("ibm819", "8859_1"); hash.put ("cp819", "8859_1"); - hash.put ("csisolatin1", "8859_1"); - hash.put ("utf-8", "UTF8"); - hash.put ("none", "UTF8"); - hash.put ("shift_jis", "SJIS"); - hash.put ("ms_kanji", "SJIS"); - hash.put ("csshiftjis", "SJIS"); - hash.put ("extended_unix_code_packed_format_for_japanese", "EUCJIS"); + hash.put ("csascii", "ASCII"); hash.put ("cseucpkdfmtjapanese", "EUCJIS"); + hash.put ("csisolatin1", "8859_1"); + hash.put ("csshiftjis", "SJIS"); hash.put ("euc-jp", "EUCJIS"); - hash.put ("euc-jp", "EUCJIS"); - hash.put ("utf-16le", "UnicodeLittle"); - hash.put ("utf-16be", "UnicodeBig"); + hash.put ("extended_unix_code_packed_format_for_japanese", "EUCJIS"); + hash.put ("ibm367", "ASCII"); + hash.put ("ibm819", "8859_1"); + hash.put ("iso-8859-1", "8859_1"); + hash.put ("iso-ir-100", "8859_1"); + hash.put ("iso-ir-6", "ASCII"); + hash.put ("iso646-us", "ASCII"); + hash.put ("iso_646.irv:1991", "ASCII"); + hash.put ("iso_8859-1", "8859_1"); + hash.put ("iso_8859-1:1987", "8859_1"); + hash.put ("l1", "8859_1"); + hash.put ("latin1", "8859_1"); + hash.put ("ms_kanji", "SJIS"); + hash.put ("shift_jis", "SJIS"); + hash.put ("us", "ASCII"); + hash.put ("us-ascii", "ASCII"); + hash.put ("utf-8", "UTF8"); + hash.put ("utf16-be", "UnicodeBig"); + hash.put ("utf16-le", "UnicodeLittle"); + // End script-generated section. + iconv_byte_swap = iconv_init (); } diff --git a/libjava/scripts/encodings.pl b/libjava/scripts/encodings.pl index 5e802c1f5fc..9af10876985 100644 --- a/libjava/scripts/encodings.pl +++ b/libjava/scripts/encodings.pl @@ -8,7 +8,9 @@ 'ISO_8859-1:1987' => '8859_1', 'UTF-8' => 'UTF8', 'Shift_JIS' => 'SJIS', - 'Extended_UNIX_Code_Packed_Format_for_Japanese' => 'EUCJIS' + 'Extended_UNIX_Code_Packed_Format_for_Japanese' => 'EUCJIS', + 'UTF16-LE' => 'UnicodeLittle', + 'UTF16-BE' => 'UnicodeBig' ); if ($ARGV[0] eq '') @@ -25,6 +27,12 @@ else $file = $ARGV[0]; } +# Include canonical names in the output. +foreach $key (keys %map) +{ + $output{lc ($key)} = $map{$key}; +} + open (INPUT, "< $file") || die "couldn't open $file: $!"; $body = 0; @@ -50,17 +58,22 @@ while () $current = $map{$name}; if ($current) { - print " hash.put (\"$lower\", \"$current\");\n"; + $output{$lower} = $current; } } elsif ($type eq 'Alias:') { # The IANA list has some ugliness. - if ($name ne '' && $name ne 'NONE' && $current) + if ($name ne '' && $lower ne 'none' && $current) { - print " hash.put (\"$lower\", \"$current\");\n"; + $output{$lower} = $current; } } } close (INPUT); + +foreach $key (sort keys %output) +{ + print " hash.put (\"$key\", \"$output{$key}\");\n"; +}